[pypy-issue] Issue #2713: Large integer multiplication could be faster. (pypy/pypy)

Oscar Smith issues-reply at bitbucket.org
Sat Dec 23 13:55:58 EST 2017


New issue 2713: Large integer multiplication could be faster.
https://bitbucket.org/pypy/pypy/issues/2713/large-integer-multiplication-could-be

Oscar Smith:

I have noticed that multiplication of large integers (2^1000 or greater) , while faster than `python` is a good bit slower than for integers provided by gmpy2. This is a pretty minor request, as not much code uses numbers this big, but it would be great to have better support.
```
#!python
def mod_mersenne(n, prime, mersenne_prime):
    """ Calculates n % 2^prime-1 where mersenne_prime=2**prime-1 """
    while n > mersenne_prime:
        n = (n & mersenne_prime) + (n >> prime)
    return n if n != mersenne_prime else 0

def is_mersenne(prime= 9883)
    mersense_prime = 2**prime - 1
    s = 4
    for _ in range(prime - 2):
        s = mod_mersenne(s*s, prime, mersenne_prime) - 2
    return s % mersenne_prime == 0:
```




More information about the pypy-issue mailing list