* gnu/packages/games.scm (fuzzylite): New variable. * gnu/packages/patches/fuzzylite-relative-path-in-tests.patch: New file. * gnu/packages/patches/fuzzylite-use-catch2.patch: New file. * gnu/packages/patches/fuzzylite-soften-float-equality.patch: New file. * gnu/local.mk (dist_patch_DATA): Register them here. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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 <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)));
 | |
|      }
 | |
|  
 |