octave-maintainers
[Top][All Lists]
Advanced

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

a < b for complex numbers on MinGW


From: Rik
Subject: a < b for complex numbers on MinGW
Date: Wed, 13 Nov 2013 13:03:47 -0800

Good news on this bug.  Apparently we had already encountered it 4 years
ago
(http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404). 
The root cause is that intermediate math results can sometimes be stored in
machine registers that exceed the mandated IEEE 64 bits.  Most of the time
this is fine, even good so numbers don't under/over flow, but occasionally
it causes problems as in this case.  We already have a configure option,
--enable-float-truncate, which declares the variables used for complex
comparisons as volatile so they get truncated to IEEE width.  I re-built
with this flag thrown and now MinGW is passing both the quadgk test and the
sort test which were failing.

Remaining question is where should we enable this flag?  We could detect
the vulnerable systems (MinGW and Cygwin) in Octave's configure script and
automatically set the option.  We could also put it in the mxe-octave build
script octave.mk.  The disadvantage of the latter is that some people may
get the tarball and be doing native builds without mxe and thus miss
setting this flag.

--Rik


reply via email to

[Prev in Thread] Current Thread [Next in Thread]