Grant Edwards wrote: > On 2006-05-06, Robert Kern <[EMAIL PROTECTED]> wrote: > >>>>>Since numpy seems to be working on a variety of platforms/hardware, >>>>>how hard would it be to extract this functionality from it to add to >>>>>Python proper? >>>> >>>>Harder than just enabling fpectl. >>> >>>Last thing I heard fpectl was considered to be completely broken -- it's >>>likely not disabled by default for no reason. >> >>Fair enough. If you want to go through numpy's code to rip out its floating >>point error handling, knock yourself out. It's not going to be trivial, >>though. >>It's heavily embedded in the ufunc machinery. > > Does numpy's NaN handling only work within numpy functions, or > does it enable HW FP signals and then catch them for "normal" > floating point operations that take place outside of numpy code?
Just in numpy code, it seems. In [1]: import numpy i In [2]: import math In [3]: numpy.seterr(invalid='raise') Out[3]: {'over': 'ignore', 'divide': 'ignore', 'invalid': 'ignore', 'under': 'ignore'} In [4]: numpy.log(-1.0) --------------------------------------------------------------------------- exceptions.FloatingPointError Traceback (most recent call last) /Users/kern/<ipython console> FloatingPointError: invalid encountered in log In [5]: math.log(-1.0) Out[5]: nan -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list