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

Michael Gilbert michael.s.gilbert at gmail.com
Wed Sep 8 19:13:51 EDT 2010


On Wed, Sep 8, 2010 at 5:35 PM, Michael Gilbert  wrote:
> 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.

A reference would probably be useful:
http://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Decimal-Float.html

As with all gcc documentation, its rather terse :/

Best wishes,
Mike



More information about the NumPy-Discussion mailing list