Miller–Rabin primality test: Difference between revisions
Content added Content deleted
Line 503: | Line 503: | ||
else do |
else do |
||
let pn = pred n |
let pn = pred n |
||
(xs,y:_) = span even $ iterate (`div` 2) pn |
|||
e = xs ++ [y] |
|||
try = return . all (\a -> let c = map (powerMod n a) e in |
try = return . all (\a -> let c = map (powerMod n a) e in |
||
pn `elem` c || last c == 1) |
pn `elem` c || last c == 1) |