From: Massimo G. <mas...@al...> - 2009-06-24 21:59:47
|
Roumen Petrov wrote: > Massimo Gaspari wrote: > >> Aaron W. LaFramboise wrote >> >>>> Can you try adding -ffloat-store to the CFLAGS and rebuilding from >>>> scratch to see if this helps? This often solves rounding issues such as >>>> these. >>>> >>>> >>>> >> I know. >> With -ffloat-store the issue disappear. Moreover the well known bug in >> vegas (montecarlo) is still present, it can be avoided with -ffloat-store >> >> Max >> > > May be issue is related to precision supported by x86 FPU (long double > vs double) and cache of results in registers. Explicit conversion (cast) > to double in code may resolve issue for any compiler. > > I'm not sure that this is a GCC bug. > > Roumen > May be you are right. But GSL is developed using GCC/Linux x86 and the bugs are not present there ( at least using Gcc 4.2.x). Moreover, as far as I remember, the bugs are absent in cygwin. But I'm no longer using cygwin and so I cannot test this statement. The list of supported platform (mostly gcc based) is available at http://www.gnu.org/software/gsl/, MinGW was present but then removed because of the reported bug (the montecarlo one). Brian Gough, the GSL maintainer, analyzed the montecarlo bugs and he is confident it's a compiler bug. There was also a similar bug in poly and so you can read in the installation instruction |With gcc-4.3.2 the tests in the poly/ directory fail due to a compiler optimization bug which is fixed in later versions of GCC Max | |