10 #define ACOS( x ) acos( std::min( std::max( x, -1.0 ), 1.0 ) )
17 const double dPI = 3.14159265;
18 const double dot = ( A[0] * B[0] + A[1] * B[1] + A[2] * B[2] );
19 return ACOS(
dot / ( lA * lB ) ) * 180.0 / dPI;
22 #define CHECK_EIGVECREAL_EQUAL( EXP, ACT, EPS ) \
23 check_equal_eigvect( ( EXP ), ( ACT ), ( EPS ), #EXP, #ACT, __LINE__, __FILE__ )
36 if( ( fabs( A[0] - B[0] ) <=
eps || fabs( A[0] + B[0] ) <=
eps ) &&
37 ( fabs( A[1] - B[1] ) <=
eps || fabs( A[1] + B[1] ) <=
eps ) &&
38 ( fabs( A[2] - B[2] ) <=
eps || fabs( A[2] + B[2] ) <=
eps ) &&
42 std::cout <<
"Equality Test Failed: " << sA <<
" == " << sB << std::endl;
43 std::cout <<
" at line " << line <<
" of '" << file <<
"'" << std::endl;
45 std::cout <<
" Expected: ";
46 std::cout << A << std::endl;
48 std::cout <<
" Actual: ";
49 std::cout << B << std::endl;
51 std::cout <<
"Angle between vectors := " <<
angle << std::endl;
90 for(
int i = 0; i < 3; ++i )
94 double lamda_check[3];
95 lamda_check[0] = 0.585786;
97 lamda_check[2] = 3.41421;
130 for(
unsigned i = 0; i < 3; ++i )