Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Changing x87 precision to full 63bit as default

> There are a number of options here. With default options, GCC at least
> will not store assignments to memory (see -ffloat-store and
> -fexcess-precision=standard) without some force. The canonical way is to
> assign to a volatile variable, see libm/src/math_private.h
> STRICT_ASSIGN. It would be nice to use fenv.h for this, but support for
> that is even less wide spread...

Thanks, but for the gauche's case, forcing the float value to memory
didn't fix the problem.  It looks like we need to set 387 mode to 53 bit
precision explicitly by using fpsetprec() to avoid unwanted rounding due
to 63 bit precision.

(Here is detailed description of the problem by the author:
http://blog.practical-scheme.net/gauche/20130128-ratnum-bignum )


Home | Main Index | Thread Index | Old Index