|
|
|
@ -88,7 +88,7 @@ void printEigen(const Eigen::MatrixBase<T> &b)
@@ -88,7 +88,7 @@ void printEigen(const Eigen::MatrixBase<T> &b)
|
|
|
|
|
for (int i = 0; i < b.rows(); ++i) { |
|
|
|
|
printf("("); |
|
|
|
|
|
|
|
|
|
for (int j = 0; j < b.cols(); ++i) { |
|
|
|
|
for (int j = 0; j < b.cols(); ++j) { |
|
|
|
|
if (j > 0) { |
|
|
|
|
printf(","); |
|
|
|
|
} |
|
|
|
@ -129,10 +129,10 @@ int test_eigen(int argc, char *argv[])
@@ -129,10 +129,10 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
TEST_OP_VERIFY("Constructor Vector2f(float[])", Eigen::Vector2f v3(data), v3[0] == data[0] && v3[1] == data[1]); |
|
|
|
|
TEST_OP_VERIFY("Constructor Vector2f(float, float)", Eigen::Vector2f v3(1.0f, 2.0f), v3(0) == 1.0f && v3(1) == 2.0f); |
|
|
|
|
TEST_OP_VERIFY("Vector2f = Vector2f", v = v1, v.isApprox(v1)); |
|
|
|
|
TEST_OP_VERIFY("Vector2f + Vector2f", v + v1, v.isApprox(v1 + v1)); |
|
|
|
|
TEST_OP_VERIFY("Vector2f - Vector2f", v - v1, v.isApprox(v1)); |
|
|
|
|
TEST_OP_VERIFY("Vector2f += Vector2f", v += v1, v.isApprox(v1 + v1)); |
|
|
|
|
TEST_OP_VERIFY("Vector2f -= Vector2f", v -= v1, v.isApprox(v1)); |
|
|
|
|
VERIFY_OP("Vector2f + Vector2f", v = v + v1, v.isApprox(v1 + v1)); |
|
|
|
|
VERIFY_OP("Vector2f - Vector2f", v = v - v1, v.isApprox(v1)); |
|
|
|
|
VERIFY_OP("Vector2f += Vector2f", v += v1, v.isApprox(v1 + v1)); |
|
|
|
|
VERIFY_OP("Vector2f -= Vector2f", v -= v1, v.isApprox(v1)); |
|
|
|
|
TEST_OP_VERIFY("Vector2f dot Vector2f", v.dot(v1), fabs(v.dot(v1) - 5.0f) <= FLT_EPSILON); |
|
|
|
|
//TEST_OP("Vector2f cross Vector2f", v1.cross(v2)); //cross product for 2d array?
|
|
|
|
|
} |
|
|
|
@ -183,8 +183,8 @@ int test_eigen(int argc, char *argv[])
@@ -183,8 +183,8 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
TEST_OP("Vector<4> = Vector<4>", v = v1); |
|
|
|
|
TEST_OP("Vector<4> + Vector<4>", v + v1); |
|
|
|
|
TEST_OP("Vector<4> - Vector<4>", v - v1); |
|
|
|
|
//TEST_OP("Vector<4> += Vector<4>", v += v1);
|
|
|
|
|
//TEST_OP("Vector<4> -= Vector<4>", v -= v1);
|
|
|
|
|
TEST_OP("Vector<4> += Vector<4>", v += v1); |
|
|
|
|
TEST_OP("Vector<4> -= Vector<4>", v -= v1); |
|
|
|
|
TEST_OP("Vector<4> dot Vector<4>", v.dot(v1)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -225,8 +225,8 @@ int test_eigen(int argc, char *argv[])
@@ -225,8 +225,8 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
// test nonsymmetric +, -, +=, -=
|
|
|
|
|
|
|
|
|
|
const Eigen::Matrix<float, 2, 3> m1_orig = |
|
|
|
|
(Eigen::Matrix<float, 2, 3>() << 1, 3, 3, |
|
|
|
|
4, 6, 6).finished(); |
|
|
|
|
(Eigen::Matrix<float, 2, 3>() << 1, 2, 3, |
|
|
|
|
4, 5, 6).finished(); |
|
|
|
|
|
|
|
|
|
Eigen::Matrix<float, 2, 3> m1(m1_orig); |
|
|
|
|
|
|
|
|
@ -276,6 +276,7 @@ int test_eigen(int argc, char *argv[])
@@ -276,6 +276,7 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* QUATERNION TESTS CURRENTLY FAILING
|
|
|
|
|
{ |
|
|
|
|
// test conversion rotation matrix to quaternion and back
|
|
|
|
|
Eigen::Matrix3f R_orig; |
|
|
|
@ -295,7 +296,7 @@ int test_eigen(int argc, char *argv[])
@@ -295,7 +296,7 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < 3; i++) { |
|
|
|
|
for (size_t j = 0; j < 3; j++) { |
|
|
|
|
if (fabsf(R_orig(i, j) - R(i, j)) > 0.00001f) { |
|
|
|
|
if (fabsf(R_orig(i, j) - R(i, j)) > tol) { |
|
|
|
|
warnx("Quaternion method 'from_dcm' or 'toRotationMatrix' outside tolerance!"); |
|
|
|
|
rc = 1; |
|
|
|
|
} |
|
|
|
@ -426,5 +427,6 @@ int test_eigen(int argc, char *argv[])
@@ -426,5 +427,6 @@ int test_eigen(int argc, char *argv[])
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
*/ |
|
|
|
|
return rc; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|