[Numpy-discussion] IEEE 754-2008 decimal floating point support

Michael Gilbert michael.s.gilbert at gmail.com
Wed Sep 8 17:35:37 EDT 2010


On Wed, 8 Sep 2010 15:44:02 -0400, Michael Gilbert wrote:
> On Wed, Sep 8, 2010 at 12:23 PM, Charles R Harris wrote:
> >
> >
> > On Wed, Sep 8, 2010 at 9:46 AM, Michael Gilbert
> > <michael.s.gilbert at gmail.com> wrote:
> >>
> >> On Wed, 8 Sep 2010 09:43:56 -0600, Charles R Harris wrote:
> >> > On Wed, Sep 8, 2010 at 9:26 AM, Michael Gilbert
> >> > <michael.s.gilbert at gmail.com
> >> > > wrote:
> >> >
> >> > > Hi,
> >> > >
> >> > > Are there any plans to add support for decimal floating point
> >> > > arithmetic, as defined in the 2008 revision of the IEEE 754 standard
> >> > > [0], in numpy?
> >> > >
> >> > >
> >> > Not at the moment. There is currently no hardware or C support and
> >> > adding
> >> > new types to numpy isn't trivial. You can get some limited Decimal
> >> > functionality by using python classes and object arrays, for instance
> >> > the
> >> > Decimal class in the python decimal module, but the performance isn't
> >> > great.
> >> >
> >> > What is your particular interest in decimal support?
> >>
> >> Primarily avoiding catastrophic cancellation when subtracting
> >> large values.  I was planning to use the decimal class, but was
> >> curious whether support for the IEEE standard was coming any time soon.
> >>
> >
> > If you just need more precision, mpmath has better performance than the
> > Decimal class. Also, it might be possible to avoid the loss of precision by
> > changing the computation, but I don't know the details of what you are
> > doing.
> 
> Just wanted to say that numpy object arrays + decimal solved all of my
> problems, which were all caused by the disconnect between decimal and
> binary representation of floating point numbers.  It would be really
> nice to have IEEE decimal floating point since python's decimal module
> is a bit slow, but I can see thats going to be a very long process.

FYI, gcc 4.2 introduced initial support for decimal floats.  However,
various macros like DEC32_MAX, and printf support for dd, df, and dl is
not yet implemented making it rather hard to work with.

Mike



More information about the NumPy-Discussion mailing list