Safe Haskell | None |
---|---|
Language | Haskell2010 |
- repeatedSquare :: Multiplicative r => r -> Natural -> r
- modPow :: (Integral a, Euclidean r) => r -> r -> a -> r
- fermatTest :: MonadRandom m => Integer -> m PrimeResult
- isPseudoPrime :: MonadRandom m => Integer -> m (Either Integer Bool)
Documentation
repeatedSquare :: Multiplicative r => r -> Natural -> r Source #
Calculates n
-th power efficiently, using repeated square method.
modPow :: (Integral a, Euclidean r) => r -> r -> a -> r Source #
efficiently calculates modPow
x m px ^ p `
.mod'
m
fermatTest :: MonadRandom m => Integer -> m PrimeResult Source #
Fermat-test for pseudo-primeness.
isPseudoPrime :: MonadRandom m => Integer -> m (Either Integer Bool) Source #