[PYTHON MATRIX-SIG] floating point handling
Guido van Rossum
guido@CNRI.Reston.VA.US
Fri, 03 Nov 1995 10:08:39 -0500
> If you insist on having "Inf" for infinity and "NaN" for 1/0, all you
> probably need to do is hack the floatobject.c module a wee bit, to
> include representations for them and to return them in appropriate
>
> Indeed I don't think this is much work, having looked at the float
> implementation quite a bit before writing the complex module. But
> obviously there must be a way to enable or disable floating point
> exceptions (I thing everyone agrees they are useful). I am not quite
> sure what the appropriate way to do that would be - a variable in the
> sys module would be nice, but probably expensive to check after each
> float operation. A function with a boolean argument that sets a C
> variable might be better. Or maybe there is a better way that I just
> can't think of... The same flag could then be used in the complex and
> matrix modules.
Hmm... Globals that affect the behavior of low-level objects are
rarely a good idea. For instance, some non-compute-intensive module
may be using floats and expecting exceptions -- it will break if it is
used in your program that turns off exceptions...
How about introducing a new type, say ieeefloat, with the desired
behavior? Its casting behavior could easily be designed to force
mixed-mode arithmetic (between standard and ieee floats) to be done in
ieee mode.
--Guido van Rossum <guido@CNRI.Reston.VA.US>
URL: <http://www.python.org/~guido/>
=================
MATRIX-SIG - SIG on Matrix Math for Python
send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org
=================