- prime_count - needs the pc(#) option as well as pc(#,#) - Consider adding Lehmer's method for prime count. The only use I can really think of would be 32-bit machines. I worry that the overhead of GMP would kill us, and some method using __uint64s, or even Math::Int64 would be faster. - nth_prime - GMP SQUFOF could use a better implementation, though low priority since it just isn't going to be the right algorithm for numbers > 2^64. Mainly what it needs is to pay attention to the rounds argument. Perhaps race. - Add Riemann R function - Tune and improve SIMPQS for our uses. Check FLINT 2.3 for improvements. - Write our own QS. - The statics in ecm and QS won't play well with threading. - ECPP: Perhaps more HCPs/WCPs could be loaded if needed? - ECPP: Another idea is related to Atkin/Morain's EAS. When we have a large number, we can process more Ds, delaying the downrun. We then use the smallest q we found. Combine with lightened stage 1 factoring as above. This drops our q sizes faster, at the expense of more up-front time. I have this running, but for small numbers it doesn't matter much, and for large numbers it just highlights how much nicer FAS would be. - ECPP: If we are in step M, saying "for this N, if Q is prime then N is prime", and Q comes back from downrun as composite, then we should 1: Run more compositeness tests (e.g. frobenius_underwood or some m-rs) 2: Continue on trying to find a different Q. This does not automatically mean N is composite (though it would indicate we found a BPSW counterexample). Make sure we're doing the right thing. - ECPP: All discriminants with D % 8 != 3 have been converted to Weber. We're still left with lots of those D values. Figure out a different invariant that will make smaller polynomials, along with a root conversion. - ECPP: Add a fast BLS5 to downrun? - Add BLS17 proof. Merge into BLS5 code since the end is the same. - Add tests for proofs, similar to MPU t/23.