TEST(VectorBase, CastVector) { FasTC::VectorBase<float, 3> v3f; v3f[0] = 1000000.0f; v3f[1] = -2.0f; v3f[2] = -1.1f; FasTC::VectorBase<double, 3> v3d = v3f; FasTC::VectorBase<int, 3> v3i = v3f; for(int i = 0; i < 3; i++) { EXPECT_EQ(v3d(i), static_cast<double>(v3f(i))); EXPECT_EQ(v3i(i), static_cast<int>(v3f(i))); } }
TEST(MatrixBase, CastVector) { srand(static_cast<unsigned>(time(NULL))); FasTC::MatrixBase<float, 3, 2> v3f; for(int i = 0; i < 6; i++) { v3f[i] = static_cast<float>(rand()); } FasTC::MatrixBase<double, 3, 2> v3d = v3f; FasTC::MatrixBase<int, 3, 2> v3i = v3f; for(int i = 0; i < 3*2; i++) { EXPECT_EQ(v3d(i), static_cast<double>(v3f(i))); EXPECT_EQ(v3i(i), static_cast<int>(v3f(i))); } }