packages feed

Numbers-0.2: test.hs

import Data.Numbers
import Data.List
import System.Random

test_primes = take 1000 primes == take 1000 check where
    check =  sieve [2..]
        where sieve (p:xs) = p : sieve [x | x<-xs, x `mod` p /= 0]
        
       
test_isprime = and $ map (isPrime) $ take 1000 primes

test_primeFactors = let l = take 5 primes in sort (primeFactors (product l)) == sort l

test_millerRabin =and $ map (fst.flip isProbablyPrime (mkStdGen 42)) (take 5000 primes)