- Examine behavior near 32-bit limit on 32-bit machines.
(done for factoring)
- segment sieve should itself use a segment for its primes.
Today we'd need sqrt(2^64) max = 140MB. Segmenting would yield under 1MB.
- Add test to check maxbits in compiled library vs. Perl
- Figure out documentation solution for PP.pm
- Is the current PP.pm setup the way we want to do it?
- Faster SQUFOF. We're using the faster racing SQUFOF now, but it could still
use some tuning.
- Move .c / .h files into separate directory.
version does it in a painful way. Something simpler to be had?
- finish test suite for bignum. Work on making it faster.
- After the factoring changes, we need to use Devel::Cover again to ferret
out numbers that pass the early tests.
- Test all routines for numbers on word-size boundary, or ranges that cross.
- Test all functions return either native or bigints. Functions that return
raw MPU::GMP results will return strings, which isn't right.
- Make proper pminus1 in PP code, like factor.c.
- An assembler version of mulmod for i386 would be _really_ helpful for
all the non-x86-64 Intel machines.
- Tests for:
RiemannZeta
RiemannR
- Dynamically use a mulmodadd in PP aks, just like the new C code does.
This will mean it'll work for full-size native ints.
- Perl's rand() is a mess. I believe a decent workaround is to include
tinymt32, seed it using the system rand (multiple calls, just use 8-bits
each), then use it to get 32-bit irands. This would only be used if they
didn't give us a RNG (so they don't care about strict crypto).
- Add PE 35 Circular primes and PE 291 Panatoipal primes to bin/primes.pl