Miller–Rabin primality test: Difference between revisions
Content added Content deleted
Line 499: | Line 499: | ||
isMillerRabinPrime :: Integer -> IO Bool |
isMillerRabinPrime :: Integer -> IO Bool |
||
isMillerRabinPrime n = |
isMillerRabinPrime n | n `elem` primesTo100 = return True |
||
| otherwise = do |
|||
if n `elem` primesTo100 then return True |
|||
else do |
|||
let pn = pred n |
let pn = pred n |
||
e = uncurry (++) . second(take 1) . span even . iterate (`div` 2) $ pn |
e = uncurry (++) . second(take 1) . span even . iterate (`div` 2) $ pn |