Control: tag -1 + pending Hi,
On Sat, Dec 28, 2013 at 11:48:04AM +0100, Ivo De Decker wrote: > The version of clhep in unstable fails with testsuite errors on i386: > https://buildd.debian.org/status/package.php?p=clhep the attached patch fixes the failing test. I hope in time to not have all the rdeps removed. I'll upload the NMU tomorrow when I have more bandwidth. Kind regards Philipp Kern
diff -Nru clhep-2.1.4.1/debian/changelog clhep-2.1.4.1/debian/changelog --- clhep-2.1.4.1/debian/changelog 2013-12-14 09:49:56.000000000 +0100 +++ clhep-2.1.4.1/debian/changelog 2014-04-25 23:58:14.000000000 +0200 @@ -1,3 +1,9 @@ +clhep (2.1.4.1-1.1) unstable; urgency=medium + + * Fix broken double comparision in a testcase. (Closes: #733301) + + -- Philipp Kern <pk...@debian.org> Fri, 25 Apr 2014 23:56:31 +0200 + clhep (2.1.4.1-1) unstable; urgency=low * New upstream release. (Closes: #713377) diff -Nru clhep-2.1.4.1/debian/patches/fix-double-comparision-in-testBug58950.patch clhep-2.1.4.1/debian/patches/fix-double-comparision-in-testBug58950.patch --- clhep-2.1.4.1/debian/patches/fix-double-comparision-in-testBug58950.patch 1970-01-01 01:00:00.000000000 +0100 +++ clhep-2.1.4.1/debian/patches/fix-double-comparision-in-testBug58950.patch 2014-04-26 00:01:06.000000000 +0200 @@ -0,0 +1,35 @@ +Description: fix double comparision in testBug58950.cc + The double comparision using != failed on i386 due to the way floating + point works. The other test cases already ship this equals function; + copy it and use it. +Author: Philipp Kern <pk...@debian.org> +Bug-Debian: http://bugs.debian.org/733301 + +--- clhep-2.1.4.1.orig/Random/test/testBug58950.cc ++++ clhep-2.1.4.1/Random/test/testBug58950.cc +@@ -14,6 +14,16 @@ + #include "CLHEP/Random/Random.h" + #include "pretend.h" + ++// Absolutely Safe Equals Without Registers Screwing Us Up ++bool equals01(const std::vector<double> &ab) { ++ return ab[1]==ab[0]; ++} ++bool equals(double a, double b) { ++ std::vector<double> ab(2); ++ ab[0]=a; ab[1]=b; ++ return (equals01(ab)); ++} ++ + bool printCheck( int & i, double & r, std::ofstream & os ) + { + os << i << " " << r << std::endl; +@@ -151,7 +161,7 @@ int main() { + g->setTheSeeds(seeds); + for (int i=0; i < nNumbers; ++i) { + double r = g->flat(); +- if(v[i] != r ) { ++ if(! equals(v[i],r) ) { + ++badcount; + std::cerr << " rollback fails: i, v[i], r " + << i << " " << v[i] << " " << r << std::endl; diff -Nru clhep-2.1.4.1/debian/patches/series clhep-2.1.4.1/debian/patches/series --- clhep-2.1.4.1/debian/patches/series 2013-12-14 09:49:56.000000000 +0100 +++ clhep-2.1.4.1/debian/patches/series 2014-04-25 23:59:57.000000000 +0200 @@ -2,3 +2,4 @@ doxygen.conf clhep-config.patch tests.patch +fix-double-comparision-in-testBug58950.patch
signature.asc
Description: Digital signature