mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 13:33:34 +08:00
More coverage testing.
This commit is contained in:
@@ -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 : */
|
||||
|
||||
+9
-6
@@ -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()
|
||||
assert(A_large == A_large_I);
|
||||
}
|
||||
|
||||
SquareMatrix<float, 3> zero_test = zero<float, 3, 3>();
|
||||
inv(zero_test);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -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)
|
||||
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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user