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

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