diff --git a/include/eigenpy/angle-axis.hpp b/include/eigenpy/angle-axis.hpp index a9accb94f0062c4859b3e4c7782e37f0ec4275d0..abf2b0c317f7ecce1a989c2d64ef8f276b85df70 100644 --- a/include/eigenpy/angle-axis.hpp +++ b/include/eigenpy/angle-axis.hpp @@ -98,7 +98,8 @@ namespace eigenpy { self.angle() = angle; } static bool __eq__(const AngleAxis & u, const AngleAxis & v) - { return u.isApprox(v); } + { return u.axis() == v.axis() && v.angle() == u.angle(); } + static bool __ne__(const AngleAxis & u, const AngleAxis & v) { return !__eq__(u,v); } diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp index e0cd3e6229a614d7351e725513e69f6ceb79c4ad..38f1cb877a7e32bb58726ace6ec5bffec9be5db3 100644 --- a/include/eigenpy/quaternion.hpp +++ b/include/eigenpy/quaternion.hpp @@ -178,9 +178,9 @@ namespace eigenpy return self.isApprox(other,prec); } - static bool __eq__(const Quaternion& u, const Quaternion& v) + static bool __eq__(const Quaternion & u, const Quaternion & v) { - return u.isApprox(v,1e-9); + return u.coeffs() == v.coeffs(); } static bool __ne__(const Quaternion& u, const Quaternion& v) diff --git a/unittest/python/test_geometry.py b/unittest/python/test_geometry.py index 07d91a33fdd699b786989ba3953f2d9d3fc1fc8f..b507dae595ea27a96e7d57ca6850855e543f00c0 100644 --- a/unittest/python/test_geometry.py +++ b/unittest/python/test_geometry.py @@ -20,7 +20,7 @@ assert(isapprox(np.linalg.norm(q.coeffs()),1)) r = AngleAxis(q) q2 = Quaternion(r) -assert(q==q2) +assert(q==q) assert(isapprox(q.coeffs(),q2.coeffs())) Rq = q.matrix() @@ -29,7 +29,7 @@ assert(isapprox(Rq*Rq.T,np.eye(3))) assert(isapprox(Rr,Rq)) qR = Quaternion(Rr) -assert(q==qR) +assert(q.isApprox(qR)) assert(isapprox(q.coeffs(),qR.coeffs())) assert(isapprox(qR[3],1./np.sqrt(30)))