[EMAIL PROTECTED] wrote: > On Wed, Jun 14, 2006 at 08:01:53PM +0200, Mateusz Loskot wrote: > >> Sandro, >> >> Your test case is incorrect. You can't compare float numbers as you >> are doing it in the assert: >> >> assert(tot_check==tot); >> >> especially if you're working with multiplatform library as GEOS. >> You can only test how close are both numbers. >> >> There are many problems. float arithmetic on Intel CPUs deos not >> follow IEEE 754, different representation of float numbers on >> varios architectures: FPU calculations are made on 80 bits numbers >> (ext. double) but SSE2 instructions on 64 bits. > > Ok, but equality is actually used in JTS too. Does Java have an > automatic approximate equality ?
AFAIK, Java supports something like rational number calculations. For C++, you have Boost Rational Library: http://www.boost.org/libs/rational/rational.html > Beside this, the XML testcase I have attached should then represent a > valid testcase and should be made to work with the current "sloppy" > fp condition. Problem is that I suppose JTS won't raise the same > problem (having different fp threatment). AFAIK Java follows IEEE 754 regarding float point numbers. BTW, I'm not sure about those two statements, as I'm not a Java programmer at all. Cheers -- Mateusz Loskot http://mateusz.loskot.net _______________________________________________ geos-devel mailing list geos-devel@geos.refractions.net http://geos.refractions.net/mailman/listinfo/geos-devel