Browse Source

More coverage testing.

master
jgoppert 9 years ago
parent
commit
4a6369cee5
  1. 6
      test/attitude.cpp
  2. 15
      test/inverse.cpp
  3. 20
      test/matrixAssignment.cpp
  4. 3
      test/test_data.py

6
test/attitude.cpp

@ -125,6 +125,12 @@ int main() @@ -125,6 +125,12 @@ int main()
Vector<float, 4> q_dot = q.derivative(Vector3f(1, 2, 3));
printf("q_dot:\n");
q_dot.T().print();
// quaternion product
Quatf q_prod_check(
0.93394439f, 0.0674002f, 0.20851f, 0.28236266f);
assert(q_prod_check == q_check*q_check);
};
/* vim: set et fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : */

15
test/inverse.cpp

@ -12,21 +12,21 @@ template class SquareMatrix<float, n_large>; @@ -12,21 +12,21 @@ template class SquareMatrix<float, n_large>;
int main()
{
float data[9] = {1, 2, 3,
float data[9] = {0, 2, 3,
4, 5, 6,
7, 8, 10
};
float data_check[9] = {-0.66666667f, -1.33333333f, 1. ,
-0.66666667f, 3.66666667f, -2. ,
1. , -2. , 1.
};
float data_check[9] = {
-0.4f, -0.8f, 0.6f,
-0.4f, 4.2f, -2.4f,
0.6f, -2.8f, 1.6f};
SquareMatrix<float, 3> A(data);
SquareMatrix<float, 3> A_I = inv(A);
SquareMatrix<float, 3> A_I_check(data_check);
A_I.print();
A_I_check.print();
assert(A_I == A_I_check);
assert((A_I - A_I_check).abs().max() < 1e-5);
// stess test
SquareMatrix<float, n_large> A_large;
@ -39,6 +39,9 @@ int main() @@ -39,6 +39,9 @@ int main()
assert(A_large == A_large_I);
}
SquareMatrix<float, 3> zero_test = zero<float, 3, 3>();
inv(zero_test);
return 0;
}

20
test/matrixAssignment.cpp

@ -51,6 +51,26 @@ int main() @@ -51,6 +51,26 @@ int main()
assert(m3 == m2);
float data_row_02_swap[9] = {
7, 8, 9,
4, 5, 6,
1, 2, 3,
};
float data_col_02_swap[9] = {
3, 2, 1,
6, 5, 4,
9, 8, 7};
Matrix3f m4(data);
m4.swapCols(0, 2);
assert(m4 == Matrix3f(data_col_02_swap));
m4.swapCols(0, 2);
m4.swapRows(0, 2);
assert(m4 == Matrix3f(data_row_02_swap));
assert(fabs(m4.min() - 1) < 1e-5);
return 0;
}

3
test/test_data.py

@ -90,6 +90,7 @@ assert(abs(dcm[:,0].dot(dcm[:,2])) < 1e-10) @@ -90,6 +90,7 @@ assert(abs(dcm[:,0].dot(dcm[:,2])) < 1e-10)
print('\ndcm:')
pprint(dcm)
print('\nq*q', quat_prod(q, q))
q2 = quat_prod(q, q)
pprint(q2)
@ -103,7 +104,7 @@ q3_norm =q3 / norm(q3) @@ -103,7 +104,7 @@ q3_norm =q3 / norm(q3)
pprint(q3_norm)
print('\ninverse')
A = array([[1,2,3], [4,5,6], [7,8,10]])
A = array([[0,2,3], [4,5,6], [7,8,10]])
pprint(A)
pprint(inv(A))

Loading…
Cancel
Save