Miller–Rabin primality test: Difference between revisions

Line 4,485:
class Integer
# Returns true if +self+ is a prime number, else returns false.
def primemr?(k = 10)
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
return primes.include? self if self <= primes.last
Line 4,492:
# Choose input witness bases: wits = [range, [wit_bases]] or nil
wits = WITNESS_RANGES.find { |range, wits| range > self }
witnesses = wits && wits[1] || primesk.times.map{ 2 + rand(n - 4) }
miller_rabin_test(witnesses)
end
Anonymous user