struct point { float x; float y; float z; }; typedef vector point constexpr vector cross_product(vector a, vector b) { return { a.y*b.z - a.z*b.y, a.z*b.x - a.z * b.z, a.x*b.y - a.y * b.x } }