[Python-Dev] decimal.py signals & traps

Tim Peters tim.peters at gmail.com
Tue Jul 13 05:41:02 CEST 2004

[Michael Hudson] 
>> Well, there's an argument that this may not be the most natural
>> interface for a C implementation or for an implementation of such
>> things for floats -- but this is an argument involving predicting the
>> future, so probably should be ignored.

[Greg Ewing]
> I don't think it should be ignored. If the future is uncertain, surely
> it would be better to err on the side of *not* exposing implementation
> details?

Since virtually all modern processors implement sticky flags, trap
enablers, and rounding modes in FPU context & control registers,
virtually all modern compilers support some idiosyncratic way to set
and query them.  Google on ieee_flags for one extreme in C, entirely
string-based.  Google on _control87 and/or _controlfp for the other C
extreme, passing ints, with a pile of #defines to give different bits
different meanings.

Both of those actually hide the implementation quite well -- although
the latter is most often implemented in such a way that the bit
positions remarkably <ahem> correspond exactly to their meanings in
the Pentium instructions that fiddle FPU context.

More information about the Python-Dev mailing list