Over the past few weeks I’ve been working on improving my `slow_primes`

library, culminating in needing rename and the 0.2 release of `primal`

, a Rust crate for computing properties of prime numbers with state-of-the-art algorithms, while still maintaining an idiomatic and easy-to-use interface.

Huon, thanks for a really useful crate! I've used primal quite a bit to solve the problems at projecteuler.net. Very fast and fun!

Have you considered adding a probabilistic primality checker? Something like Miller-Rabin. In my experience, MR is useful not only when checking huge primes, but also when doing a great number of calls to is_prime().

Thanks again for an awesome crate!

-Joe

Wow, thanks for the kind words! I'm glad it's useful.

There is the `is_prime`

function, which uses Miller-Rabin in a deterministic way (instead of testing against some random witnesses, it uses specific witnesses which are known to correctly classify all numbers inside specific ranges, collectively covering everything from 0 to 2^{64}). Maybe you're imagining something else?

thanks, I will try primal::is_prime (I had been using is_prime() from a Sieve instance). Frankly I missed primal::is_prime(). My fault for not reading the docs more carefully.

OK, done, switching from `sieve.is_prime()`

to `primal::is_prime()`

sped up my program by 15X (!). Thanks again.