I'm validating a floating point method that should return 0 for a particular case
```
SECTION("Test 1-ring gauss curvature") {
REQUIRE(std::abs(point0.G()) == Approx(0));
}
```
but when I run the catch test executable, It fails the assert, with:
```
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_HG is a Catch v2.3.0 host application.
Run with -? for options
-------------------------------------------------------------------------------
Test on a simple roof-shaped PolyData
Test 1-ring gauss curvature
-------------------------------------------------------------------------------
/PhD/HG/tests/test_roof.cxx:99
...............................................................................
/PhD/HG/tests/test_roof.cxx:100: FAILED:
REQUIRE( std::abs(point0.G()) == Approx(0.0) )
with expansion:
0.0 == Approx( 0.0 )
===============================================================================
test cases: 1 | 0 passed | 1 failed
assertions: 13 | 12 passed | 1 failed
```
I stepped in the execution with GDB, and indeed `point0.G()` is something in the order of magnitude of `1e-14`.
How can I further investigate the cause for the failure?