diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-02-17 09:57:32 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-02-17 09:57:32 +0000 |
commit | ee04c5c8742baa5deb4fe9944da1b6d4319b4b6a (patch) | |
tree | ce93e51af3d771b212ea9bb84b7bfb7f8ecc7caa /test/geo_orthomethods.cpp | |
parent | e6f1104b57f19dff773b4f22d26d6aacabd1bdb2 (diff) |
add tests showing bug in unitOrthogonal such that we don't forget it!
Diffstat (limited to 'test/geo_orthomethods.cpp')
-rw-r--r-- | test/geo_orthomethods.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/geo_orthomethods.cpp b/test/geo_orthomethods.cpp index 08110e6d8..1485877d0 100644 --- a/test/geo_orthomethods.cpp +++ b/test/geo_orthomethods.cpp @@ -76,6 +76,15 @@ template<typename Scalar, int Size> void orthomethods(int size=Size) VERIFY_IS_MUCH_SMALLER_THAN(v0.unitOrthogonal().dot(v0), Scalar(1)); VERIFY_IS_APPROX(v0.unitOrthogonal().norm(), Scalar(1)); + if (size>3) + { + v0.template start<3>().setZero(); + v0.end(size-3).setRandom(); + + VERIFY_IS_MUCH_SMALLER_THAN(v0.unitOrthogonal().dot(v0), Scalar(1)); + VERIFY_IS_APPROX(v0.unitOrthogonal().norm(), Scalar(1)); + } + // colwise/rowwise cross product Vector3 vec3 = Vector3::Random(); int i = ei_random<int>(0,size-1); @@ -89,7 +98,6 @@ template<typename Scalar, int Size> void orthomethods(int size=Size) matN3.setRandom(); mcrossN3 = matN3.rowwise().cross(vec3); VERIFY_IS_APPROX(mcrossN3.row(i), matN3.row(i).cross(vec3)); - } void test_geo_orthomethods() |