[Python-Dev] Google Summer of Code proposal: improvement of long int and adding new types/modules. (original) (raw)

Mateusz Rukowicz mateusz.rukowicz at vp.pl
Fri Apr 21 18:35:26 CEST 2006


Alex Martelli wrote:

On Apr 21, 2006, at 7:46 AM, Aahz wrote:

On Fri, Apr 21, 2006, Mateusz Rukowicz wrote:

Next thing I would add is multi precision floating point type to the core and fraction type, which in some cases highly improves operations, which would have to be done using floating point instead. Of course, math module will need update to support multi precision floating points, and with that, one could compute asin or any other function provided with math with precision limited by memory and time. It would be also good idea to add function which computes pi and exp with unlimited precision. And last thing - It would be nice to add some number-theory functions to math module (or new one), like prime-tests, factorizations etc. To echo and amplify what Guido said: an excellent project would be to rewrite the decimal module in C. Another option would be to pick up and enhance either of the GMP wrappers: http://gmpy.sourceforge.net/ http://www.egenix.com/files/python/mxNumber.html That would also deal with your suggestion of rational numbers. GMP is covered by LGPL, so must any such derivative work (presumably ruling it out for embedding in Python's core itself). That being said, as gmpy's author, I'd be enthusiastically happy to mentor anybody who wants to work on gmpy or other multiprecision arithmetic extension for Python. Rewriting decimal module in C is not far from my initial idea, and I am quite happy about that, you think it's good idea. If I was doing it, I would write all needed things myself - I am quite experienced in coding multi precision computation algorithms (and all kind of algorithms at all).

Working with long ints would also be excellent, but I'd hesitate to tackle that unless Tim Peters volunteers to help (because there may be special implementation constraints).

I am quite confident, that I would be able to make those changes transparently, that is - representation of long int wouldn't change. And as far as I saw in the code it's quite straightforward (actually, it would be strange otherwise). But of course it's up to you. Anyway, I hope it will be possible to add those changes.

I guess that's quite enough for SoC project, but I hope, it will be possible to add some of my initial ideas anyway.

Best regards, Mateusz Rukowicz.



More information about the Python-Dev mailing list