From 40bf8161b82b69e1afca22f10d26704e07ed9bce Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Mon, 1 Oct 2018 22:37:22 +0200
Subject: [PATCH] Use margin instead of epsilon to compare to 0 in TinyMatrix
 tests

---
 tests/test_TinyMatrix.cpp | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/tests/test_TinyMatrix.cpp b/tests/test_TinyMatrix.cpp
index 3d80a485e..62f613442 100644
--- a/tests/test_TinyMatrix.cpp
+++ b/tests/test_TinyMatrix.cpp
@@ -195,8 +195,8 @@ TEST_CASE("TinyMatrix", "[algebra]") {
       const TinyMatrix<2,double> I = inverse(A2)*A2;
 
       REQUIRE(I(0,0) == Approx(1).epsilon(1E-14));
-      REQUIRE(I(0,1) == Approx(0).epsilon(1E-14));
-      REQUIRE(I(1,0) == Approx(0).epsilon(1E-14));
+      REQUIRE(I(0,1) == Approx(0).margin (1E-14));
+      REQUIRE(I(1,0) == Approx(0).margin (1E-14));
       REQUIRE(I(1,1) == Approx(1).epsilon(1E-14));
     }
 
@@ -206,15 +206,14 @@ TEST_CASE("TinyMatrix", "[algebra]") {
                                     -2,3,4);
       const TinyMatrix<3,double> I = inverse(A3)*A3;
 
-      // Strangely Approx fails for some 0 ...
       REQUIRE(I(0,0) == Approx(1).epsilon(1E-14));
-      REQUIRE(std::abs(I(0,1))<1E-14);
-      REQUIRE(std::abs(I(0,2))<1E-14);
-      REQUIRE(std::abs(I(1,0))<1E-14);
+      REQUIRE(I(0,1) == Approx(0).margin (1E-14));
+      REQUIRE(I(0,2) == Approx(0).margin (1E-14));
+      REQUIRE(I(1,0) == Approx(0).margin (1E-14));
       REQUIRE(I(1,1) == Approx(1).epsilon(1E-14));
-      REQUIRE(std::abs(I(1,2))<1E-14);
-      REQUIRE(std::abs(I(2,0))<1E-14);
-      REQUIRE(std::abs(I(2,1))<1E-14);
+      REQUIRE(I(1,2) == Approx(0).margin (1E-14));
+      REQUIRE(I(2,0) == Approx(0).margin (1E-14));
+      REQUIRE(I(2,1) == Approx(0).margin (1E-14));
       REQUIRE(I(2,2) == Approx(1).epsilon(1E-14));
     }
   }
-- 
GitLab