diff options
author | Johannes 'josch' Schauer <josch@debian.org> | 2019-02-03 10:33:22 +0100 |
---|---|---|
committer | Johannes 'josch' Schauer <josch@debian.org> | 2020-10-27 09:28:00 +0100 |
commit | 2e89ffb511dfff4bddabe20b077bbda515f18fb7 (patch) | |
tree | 7b653d67f3f6df0e5dcba6c4bed1dcc4e7883576 | |
parent | a1ca3e2bdc0e0fb5a480887ea7e42a7b83e2062d (diff) |
when testing large float numbers for equality, use a larger epsilonarchive/debian/6.0+dfsg-3
Gbp-Pq: Name when-testing-large-float-numbers-for-equ.patch
-rw-r--r-- | fuzzylite/test/BenchmarkTest.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/fuzzylite/test/BenchmarkTest.cpp b/fuzzylite/test/BenchmarkTest.cpp index 3fb270a..2b97663 100644 --- a/fuzzylite/test/BenchmarkTest.cpp +++ b/fuzzylite/test/BenchmarkTest.cpp @@ -96,7 +96,17 @@ namespace fl { CHECK(Op::isEq(1.0, Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds))); FL_LOG(Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds)); - CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds))); + scalar eps = +#ifndef __i386__ + fuzzylite::macheps(); +#else + // on i386, due to the 80bit x87 register, double floating point + // numbers are handled differently and thus the difference between + // 35e9 and the result of Benchmark::convert() will be 2.179e-6, + // which is greater than the default epsilon of 1e-6. + 1e-5; +#endif + CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds), eps)); CHECK(Op::isEq(35, Benchmark::convert(35e9, Benchmark::NanoSeconds, Benchmark::Seconds))); } |