Origin: https://salsa.debian.org/debian/fuzzylite/-/blob/debian/6.0+dfsg-6/debian/patches/when-testing-large-float-numbers-for-equ.patch From: Johannes 'josch' Schauer 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))); } ff/tests/cache.scm?id=c76bec3d93bc5008618fb0b9ff26f0e0f4323d18'>diff
path: root/tests/cache.scm
AgeCommit message (Collapse)Author
2024-08-21cache: Avoid cache cleanup storms from concurrent processes.Ludovic Courtès
Reported by Christopher Baines <guix@cbaines.net>. * guix/cache.scm (maybe-remove-expired-cache-entries): Define ‘expiry-port’; create it with ‘lock-file’. Change ‘last-expiry-date’ accordingly. Write timestamp straight to ‘expiry-port’. * tests/cache.scm ("maybe-remove-expired-cache-entries, cleanup needed but lock taken"): New test. Change-Id: I22441d9d2c4a339d3d3878de131864db5a0ae826