++

Let experts in numerical libraries write code for numerical libraries.

-jay

Monty Taylor wrote:
I have  been in favor of using GMP for decimal and possibly for other
math operations for about a year now.

so ++

Jobin Augustine wrote:
Voting for Brian to go for GMP.
because almost all linux distributions already contains GMP library. just
like libc. so this cannot be considered as additional dependency.
this is one of the heavily used library. well tested and stable.
this way we can avoid reinventing the wheel.

if existing code is using string for this. its really bad.

-Jobin



On Sun, Nov 1, 2009 at 4:05 AM, Brian Aker <[email protected]> wrote:

Hi!

On Oct 31, 2009, at 11:59 AM, John David Duncan wrote:

 The final result is not easy to grok.  (Base 10^9?? One's complement!? And
as Sheeri said, how big on disk??)  But decimal.c is really only about 3,000
lines of code, including a 100-line comment on the SQL standard and a
200-line test suite.  GMP is more like 50,000 lines.

GMP can do a lot more feature-wise and can handle a much larger set of
numbers then what the hand written one can.

 So I'd like to make the case that it's pretty remarkable code.  A database
*must* have a fixed decimal type, this design has some real advantages over
others, and there's nothing else out there that you can really just drop in
to replace it.

Looking at the code there really isn't much in the way of tests (200 lines
is pretty small). One of the other things I noticed was that when reading
the comments I found that it followed the standard bug for bug (aka...
behavior wise). Is that really way someone expects?

I went and looked at the one PG is using. No limitations on size, doesn't
follow the SQL standard,...

I'm not sure that I buy the disk format being the absolute best. Internally
when it was pushed several folks pointed out other solutions which, I have
no idea, might have been better then this one. What I do know though is that
it is not that complete.

One question I ask myself... do we want to have to extend this library to
add additional functions? For that matter, what functions matter for a
database beyond comparison operations? There was a good argument to go with
the GMP since it was complete, widely used, and had a community that worked
on it. While right now? We will be stuck extending our own library, that
only we use.

There is also the question of numerical constraint, what matters?

I'm on the fence. I know this will go sometime, but I don't know when. I
hate creating upgrade paths though.

Cheers,
       -Brian


I'd urge you folks to consider giving the decimal library a new lease on
life by reusing it in drizzle.



On Oct 30, 2009, at 11:44 AM, Brian Aker wrote:

 Hi!
I'm working through some reference checking right now, and decided to
look at decimal. Just for those playing along at home, up until 5.0 MySQL
just stored DECIMAL as a string, mostly, and did all operations on it
through normal mathematical operations. Starting in 5.0 we switched to a
library and internal developer wrote which should mimic the SQL standard
(and if you read the header in the subject you can find out some of the
absurd bits it is doing).

Would anyone care if we dropped this in favor of just using one of the
GNU based arbitrary libraries in the future? GMP perhaps (though it is not
quite the same)? I'm a minimalist when it comes to built in types so I tend
to favor this approach, but I would like to hear from others as well.

Cheers,
       -Brian

BTW any thoughts on long double over our current use of double? It looks
like it would be a mess.

_______________________________________________
Mailing list: 
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
Post to     : [email protected]
Unsubscribe : 
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: 
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
Post to     : [email protected]
Unsubscribe : 
https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
More help   : https://help.launchpad.net/ListHelp


------------------------------------------------------------------------

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to