
Dear Roberto,
I believe your observation shows a bug in Cygwin whereby a bogus version of std::floor(long double) is provided.
#include <cmath> #include <cstdlib>
long double x = 13311002825915415087.0L;
int main() { long double y = std::floor(x); if (x != y) return 1; else return 0; }
The program will return 1 if the version of Cygwin you are using is affected (the one I am using is affected).
Oh, this bug, I learned for the first time.
We have just uploaded a new snapshot of PPL 1.1 (to be released soon) that works around this problem. Can you please test it? You can find the snapshot at http://bugseng.com/products/ppl/download/ftp/snapshots/ Please let us know how it goes.
Thank you. I tried, but the following error was displayed.
make[3]: Leaving directory `/usr/local/src/ppl-1.1pre5/tests/Polyhedron' make check-TESTS make[3]: Entering directory `/usr/local/src/ppl-1.1pre5/tests/Polyhedron' PASS: addcongruence1.exe PASS: addcongruences1.exe PASS: addconstraint1.exe PASS: addconstraints1.exe PASS: addconstraints2.exe PASS: addgenerator1.exe PASS: addgenerator2.exe PASS: addgenerators1.exe PASS: addgenerators2.exe PASS: addspacedims1.exe PASS: addspacedims2.exe PASS: affineimage1.exe PASS: affineimage2.exe PASS: affinepreimage1.exe PASS: affinetrans.exe PASS: append1.exe PASS: append2.exe PASS: ascii_dump_load1.exe PASS: ascii_dump_load2.exe PASS: ascii_dump_load3.exe PASS: bgp99extrapolation1.exe PASS: bgp99extrapolation2.exe PASS: bhrz03widening1.exe PASS: bhrz03widening2.exe PASS: bhrz03widening3.exe PASS: bhz03widening1.exe PASS: bounded1.exe PASS: boundedaffineimage1.exe PASS: boundedaffinepreimage1.exe PASS: boundedbhrz03extrapolation1.exe PASS: boundedh79extrapolation1.exe PASS: bounds1.exe PASS: cnncconversion1.exe PASS: concatenate1.exe PASS: congruences1.exe PASS: constrains1.exe PASS: constraints1.exe PASS: contains1.exe PASS: contains2.exe PASS: containsintegerpoint1.exe PASS: disjoint1.exe PASS: disjoint2.exe PASS: dropsomenonintegerpoints1.exe PASS: dropsomenonintegerpoints2.exe PASS: dualhypercubes.exe PASS: empty1.exe PASS: equals1.exe PASS: exceptions1.exe PASS: exceptions2.exe PASS: exceptions3.exe PASS: expandspacedim1.exe PASS: expandspacedim2.exe PASS: foldspacedims1.exe PASS: foldspacedims2.exe PASS: frequency1.exe PASS: frombdshape1.exe PASS: frombox1.exe PASS: frombox2.exe PASS: fromgrid1.exe PASS: fromoctagonalshape1.exe PASS: generalizedaffineimage1.exe PASS: generalizedaffineimage2.exe PASS: generalizedaffinepreimage1.exe PASS: generalizedaffinepreimage2.exe PASS: generators1.exe PASS: geomcovers1.exe PASS: h79widening1.exe PASS: h79widening2.exe PASS: hybrid.exe PASS: intersection1.exe PASS: limitedbhrz03extrapolation1.exe PASS: limitedh79extrapolation1.exe PASS: linearexpression1.exe PASS: linearpartition1.exe PASS: linearsystem1.exe PASS: mapspacedims1.exe PASS: matrix1.exe PASS: max_min1.exe PASS: maxspacedim1.exe PASS: mc91.exe PASS: membytes1.exe /bin/sh: line 5: 8056 Segmentation fault (core dumped) ${dir}$tst FAIL: memory2.exe PASS: minconstraints1.exe PASS: minconstraints2.exe PASS: mingenerators1.exe PASS: mingenerators2.exe PASS: nncminimize1.exe PASS: nncminimize2.exe PASS: numberinput1.exe PASS: onepoint.exe PASS: permute.exe PASS: polydifference1.exe PASS: polydifference2.exe PASS: polyhull1.exe PASS: polyhull2.exe PASS: polyhullifexact1.exe PASS: polyhullifexact2.exe PASS: randphull1.exe PASS: refinewithcongruence1.exe PASS: refinewithcongruences1.exe PASS: refinewithconstraint1.exe PASS: refinewithconstraints1.exe PASS: relations1.exe PASS: relations2.exe PASS: relations3.exe PASS: removespacedims1.exe PASS: removespacedims2.exe PASS: simplifyusingcontext1.exe PASS: smm1.exe PASS: sparserow1.exe PASS: termination1.exe PASS: termination2.exe PASS: timeelapse1.exe PASS: timeelapse2.exe PASS: topclosed1.exe PASS: topclosure1.exe PASS: unconstrain1.exe PASS: universe1.exe PASS: universe2.exe PASS: variablesset1.exe PASS: watchdog1.exe PASS: weightwatch1.exe PASS: wrap1.exe PASS: wrap2.exe PASS: writeconsys1.exe PASS: writegensys1.exe PASS: writepolyhedron1.exe PASS: writepolyhedron2.exe PASS: writerelation1.exe PASS: writevariable1.exe PASS: nnc_addcongruence1.exe PASS: nnc_addcongruences1.exe PASS: nnc_addconstraint1.exe PASS: nnc_addconstraints1.exe PASS: nnc_addgenerator1.exe PASS: nnc_addgenerators1.exe PASS: nnc_addspacedims1.exe PASS: nnc_affineimage1.exe PASS: nnc_affinepreimage1.exe PASS: nnc_affinetrans.exe PASS: nnc_append1.exe PASS: nnc_append2.exe PASS: nnc_ascii_dump_load1.exe PASS: nnc_ascii_dump_load2.exe PASS: nnc_bgp99extrapolation1.exe PASS: nnc_bhrz03widening1.exe PASS: nnc_bhrz03widening2.exe PASS: nnc_bounded1.exe PASS: nnc_boundedaffineimage1.exe PASS: nnc_boundedaffinepreimage1.exe PASS: nnc_boundedbhrz03extrapolation1.exe PASS: nnc_boundedh79extrapolation1.exe PASS: nnc_bounds1.exe PASS: nnc_concatenate1.exe PASS: nnc_congruences1.exe PASS: nnc_constrains1.exe PASS: nnc_constraints1.exe PASS: nnc_contains1.exe PASS: nnc_containsintegerpoint1.exe PASS: nnc_disjoint1.exe PASS: nnc_dropsomenonintegerpoints1.exe PASS: nnc_empty1.exe PASS: nnc_equals1.exe PASS: nnc_exceptions1.exe PASS: nnc_exceptions3.exe PASS: nnc_expandspacedim1.exe PASS: nnc_foldspacedims1.exe PASS: nnc_frombdshape1.exe PASS: nnc_frombox1.exe PASS: nnc_fromgrid1.exe PASS: nnc_fromoctagonalshape1.exe PASS: nnc_generalizedaffineimage1.exe PASS: nnc_generalizedaffinepreimage1.exe PASS: nnc_generators1.exe PASS: nnc_geomcovers1.exe PASS: nnc_h79widening1.exe PASS: nnc_intersection1.exe PASS: nnc_simplifyusingcontext1.exe PASS: nnc_limitedbhrz03extrapolation1.exe PASS: nnc_limitedh79extrapolation1.exe PASS: nnc_linearpartition1.exe PASS: nnc_mapspacedims1.exe PASS: nnc_max_min1.exe PASS: nnc_mc91.exe PASS: nnc_membytes1.exe PASS: nnc_minconstraints1.exe PASS: nnc_mingenerators1.exe PASS: nnc_onepoint.exe PASS: nnc_permute.exe PASS: nnc_polydifference1.exe PASS: nnc_polyhull1.exe PASS: nnc_polyhullifexact1.exe PASS: nnc_randphull1.exe PASS: nnc_relations1.exe PASS: nnc_relations2.exe PASS: nnc_removespacedims1.exe PASS: nnc_smm1.exe PASS: nnc_timeelapse1.exe PASS: nnc_unconstrain1.exe PASS: nnc_universe1.exe PASS: nnc_wrap1.exe PASS: nnc_wrap2.exe PASS: nnc_writepolyhedron1.exe ====================================== 1 of 203 tests failed Please report to ppl-devel@cs.unipr.it ======================================
Environment: ppl 1.1pre5 with configure --with-gmp=/usr/local --enable-static --disable-shared; make -j8 gmp 5.0.5 with configure --enable-cxx --enable-static --disable-shared --prefix=/usr/local; make CPPFLAGS=-fexceptions -j8 g++ 4.5.3 win7 proffesional SP1 64bit japanese cygwin 1.7.17-1 intel core i7 2600 4GBytes memory
Regards, Shin