John Pye wrote: > Hi John, > > On Jan 25, 3:43 pm, John Nagle <[EMAIL PROTECTED]> wrote: > >>Python is probably running with floating point exceptions disabled, >>but you can enable them in your C code, and restoring the floating >>point mode when you leave, if you want. This is probably >>only worth doing under a debugger, because otherwise you just end >>up with an aborted instance of Python. > > > So as far as you know, Python doesn't switch stuff like > feenableexcept(FE_EXCEPT_ALL)? Does Python use the <signal.h> > internally, or are all its FPEs detected by explicit checks beforehand?
I have no idea what state Python leaves the FPU in, but whatever the state is, you can read it, set your own state, and restore the previous state before returning to Python. The last time I had to do this, I used unsigned int oldstate = // make almost all FPU errors fatal _controlfp ((~_EM_INVALID) & _CW_DEFAULT, _MCW_EM); ... _controlfp(oldstate); // restore old state on Windows 2000. John Nagle -- http://mail.python.org/mailman/listinfo/python-list