Re: IEEE 754-2008 decimal numbers - Mailing list pgsql-general

From Craig Ringer
Subject Re: IEEE 754-2008 decimal numbers
Date
Msg-id 4CB26B16.7080602@postnewspapers.com.au
Whole thread Raw
In response to IEEE 754-2008 decimal numbers  (Thomas Munro <munro@ip9.org>)
Responses Re: IEEE 754-2008 decimal numbers  (Darren Duncan <darren@darrenduncan.net>)
List pgsql-general
On 10/11/2010 04:46 AM, Thomas Munro wrote:

> Has anyone done any work on IEEE 754-2008 decimal types for PostgreSQL?

I haven't seen any discussion. Perhaps you should ask on pgsql-hackers@
as well, as some folks who might've tried it read that list but not this
one.

> I couldn't find anything, so I was thinking it might be a fun exercise
> for learning about extending PostgreSQL with user defined types.  My
> first goal is to be able to store decimal numbers with a smaller disk
> footprint than NUMERIC.

NUMERIC just got a smaller header in 9.1, but AFAIK is still binary
coded decimal (BCD). A smaller and possibly faster fixed-precision
numeric would certainly be awfully nice. Not everybody needs perfect
precision, only tightly controlled precision with sane and controllable
rounding rules.

What I'd give for rounding rule control with numeric types....

 > (A more ambitious project for later would be defining
> arithmetic operators etc using compiler/hardware support).

Hmm, yes. I didn't realize c99 added these. gcc's documentation says
that this support is "only activated on certain targets" - meaning
possibly limited platform/cpu support?

http://gcc.gnu.org/onlinedocs/gccint/Decimal-float-library-routines.html

It seems to have been added in gcc 4.3. It has hardware decimal floating
point support on zseries

There's also Intel's Decimal Floating-Point Math Library , which seems
to be BSD licensed, and is apparently what the gcc decimal floating
point support is based on.

http://software.intel.com/en-us/articles/intel-decimal-floating-point-math-library/

http://software.intel.com/en-us/blogs/2008/03/06/intel-decimal-floating-point-math-library/

--
Craig Ringer

pgsql-general by date:

Previous
From: Thomas Munro
Date:
Subject: IEEE 754-2008 decimal numbers
Next
From: Darren Duncan
Date:
Subject: Re: IEEE 754-2008 decimal numbers