diff options
Diffstat (limited to 'debian')
-rw-r--r-- | debian/patches/series | 1 | ||||
-rw-r--r-- | debian/patches/when-testing-large-float-numbers-for-equ.patch | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series index d04b329..e44d37d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ fix-tests.patch +when-testing-large-float-numbers-for-equ.patch diff --git a/debian/patches/when-testing-large-float-numbers-for-equ.patch b/debian/patches/when-testing-large-float-numbers-for-equ.patch new file mode 100644 index 0000000..230a3a1 --- /dev/null +++ b/debian/patches/when-testing-large-float-numbers-for-equ.patch @@ -0,0 +1,29 @@ +From: Johannes 'josch' Schauer <josch@debian.org> +Date: Sun, 3 Feb 2019 10:33:22 +0100 +X-Dgit-Generated: 6.0+dfsg-2 80960ae38da9db032dfbfec6405398653e8205ff +Subject: when testing large float numbers for equality, use a larger epsilon + + +--- + +--- fuzzylite-6.0+dfsg.orig/fuzzylite/test/BenchmarkTest.cpp ++++ fuzzylite-6.0+dfsg/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))); + } + |