#pragma once #include "vector2.h" #include "vector3.h" #include "matrix4.h" #include typedef double scalar; typedef _vector2 vector2; typedef _vector3 vector3; typedef _matrix4 matrix4; typedef _quaternion quaternion; template std::ostream& operator<<(std::ostream& os, const _vector3& v) { os << '[' << v[0] << ", " << v[1] << ", " << v[2] << ']'; return os; }