John Benediktsson
cf54ce8e42
math.functions: when gcd is inlined, "gcd nip" is almost as good as "gcd*".
2011-10-18 10:30:39 -07:00
John Benediktsson
ac98269f53
math.functions: faster gcd means faster ratios.
2011-10-17 20:36:28 -07:00
John Benediktsson
81714b8dc3
More lint cleanups.
2011-10-16 19:33:16 -07:00
Samuel Tardieu
23fe76160a
Add math.primes:nprimes
2011-05-20 12:38:27 +02:00
Samuel Tardieu
b3a866173a
Fix "primes-between" and "primes-upto" with pathological bounds.
...
"primes-between" was buggy when bounds were given in the wrong order
or when the high bound was smaller than 3.
2010-06-11 16:07:52 +02:00
Samuel Tardieu
d23286a9ef
Do not repeat sanity tests at each iteration
2009-09-09 21:35:24 +02:00
Samuel Tardieu
e5897d52b2
Ensure that random-prime result has the right size
...
As noted by Slava, choosing the next prime following a random number
with a specified number of bits may give a number one more bit long.
2009-08-29 21:42:15 +02:00
Samuel Tardieu
094c82c50b
Short circuit trivial composites
2009-06-24 15:53:50 +02:00
Samuel Tardieu
50191588e4
Get rid of vector reallocation by preallocating it
2009-06-24 15:53:46 +02:00
Samuel Tardieu
41d804ddbd
Pack primes numbers by slices of 30
...
In any given 30 successive integers greater than 5, there are at most
8 prime numbers. Use this to tightly pack the result of the Eratostene
sieve. This lets us store more prime numbers than before in less space.
2009-06-24 13:15:12 +02:00
Doug Coleman
8f51f87a8f
more docs for math.primes, move words out of miller-rabin
2009-05-10 13:47:51 -05:00
Doug Coleman
79265b50d9
update usages of miller-rabin
2009-05-10 12:24:43 -05:00
Samuel Tardieu
087d931c36
Remove the tail argument from do/until/while
2009-02-18 02:41:14 +01:00
Samuel Tardieu
594bd3aee8
Move math.primes from extra to basis
2009-01-07 21:12:48 +01:00