24 #define _USE_MATH_DEFINES
76 #define ASSERT_VECTORS_EQUAL( A, B ) assert_vectors_equal( ( A ), ( B ), #A, #B, __LINE__ )
77 #define ASSERT_DOUBLES_EQUAL( A, B ) assert_doubles_equal( ( A ), ( B ), #A, #B, __LINE__ )
78 #define ASSERT( B ) assert_bool( ( B ), #B, __LINE__ )
80 const double TOL = 1e-6;
86 if( fabs( a[0] - b[0] ) >
TOL || fabs( a[1] - b[1] ) >
TOL || fabs( a[2] - b[2] ) >
TOL )
88 std::cerr <<
"Assertion failed at line " << lineno << std::endl
89 <<
"\t" << sa <<
" == " << sb << std::endl
90 <<
"\t[" << a[0] <<
", " << a[1] <<
", " << a[2] <<
"] == [" << b[0] <<
", " << b[1] <<
", " << b[2]
103 if( fabs( a - b ) >
TOL )
105 std::cerr <<
"Assertion failed at line " << lineno << std::endl
106 <<
"\t" << sa <<
" == " << sb << std::endl
107 <<
"\t" << a <<
" == " << b << std::endl;
116 std::cerr <<
"Assertion failed at line " << lineno << std::endl <<
"\t" << sb << std::endl;
259 double v3[] = { -1, 0, 0 };
270 return vect - 2 * d * n;
345 const double point[] = { 2, 3, 4 };
346 const double f[] = { 0.2, 0.1, 0.3 };
352 const double delta[3] = { 1, 0, 2 };
353 const double pt2[] = { point[0] + delta[0], point[1] + delta[1], point[2] + delta[2] };
357 const double expected[] = { point[0] + f[0] * delta[0], point[1] + f[1] * delta[1], point[2] + f[2] * delta[2] };