Commit Graph

24 Commits (334e93bbbfbbbe143cc28cb712381ce929f74333)

Author SHA1 Message Date
Samuel Tardieu 5919ee8a79 Do not repeat sanity tests at each iteration 2009-09-09 21:35:24 +02:00
Samuel Tardieu 0c76719312 Make "divisors" work with 1 as well 2009-09-02 12:07:23 +02:00
Samuel Tardieu 48ef66e45c 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
Doug Coleman d1ce837569 Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring 2009-08-13 19:21:44 -05:00
Doug Coleman e1bdd33156 use if-zero in a few more places 2009-08-11 18:15:53 -05:00
Samuel Tardieu 9b1796cd26 Add divisors to math.primes.factors 2009-06-29 16:56:00 +02:00
Samuel Tardieu f51bc7a12b Short circuit trivial composites 2009-06-24 15:53:50 +02:00
Samuel Tardieu 575cd8e4ab Get rid of vector reallocation by preallocating it 2009-06-24 15:53:46 +02:00
Samuel Tardieu 8317be8135 Add extra tests for math.primes 2009-06-24 13:15:13 +02:00
Samuel Tardieu 0fef7b94c4 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 64215e6371 dont load safe primes in miller rabin tests 2009-05-10 14:08:03 -05:00
Doug Coleman 7a60ce161a link to prime tests from prime docs 2009-05-10 14:01:21 -05:00
Doug Coleman 880e5bd03e make a new vocabulary for safe primes 2009-05-10 13:49:40 -05:00
Doug Coleman 7dc1bc1fd0 more docs for math.primes, move words out of miller-rabin 2009-05-10 13:47:51 -05:00
Doug Coleman 656212b619 add lucas-lehmer primality test 2009-05-10 12:59:35 -05:00
Doug Coleman 99a257a89e update usages of miller-rabin 2009-05-10 12:24:43 -05:00
Doug Coleman a09947f042 move math.miller-rabin to math.primes.miller-rabin 2009-05-10 12:24:19 -05:00
Aaron Schaefer ed9a63311c Fix typo and update a combinator usage in calendar 2009-04-01 22:03:45 -04:00
Aaron Schaefer ca9fb1fcf1 Update usages of divisor? where appropriate 2009-04-01 21:53:18 -04:00
Samuel Tardieu b5e08a8e3e When a factor has been found, check if the remainder is a prime number
Performances are greatly increased when a large prime number is involved.
Also, mark some words as flushable, even if it is unlikely that they
will be invoked if their result is discarded.
2009-03-02 19:05:54 +01:00
Samuel Tardieu 087d931c36 Remove the tail argument from do/until/while 2009-02-18 02:41:14 +01:00
Samuel Tardieu 0069547e90 Fix suboptimal prime number factoring 2009-02-03 00:33:12 +01:00
Samuel Tardieu 6a2f46ed7f Move math.primes.factors from extra to basis 2009-01-07 23:01:27 +01:00
Samuel Tardieu 594bd3aee8 Move math.primes from extra to basis 2009-01-07 21:12:48 +01:00