From ca2ec5a03df8bd8d741158618a0ea2c805e6cf96 Mon Sep 17 00:00:00 2001 From: Vincent Hanquez Date: Sat, 23 May 2015 11:58:36 +0100 Subject: [PATCH] [random] export MonadPseudoRandom --- Crypto/Random.hs | 1 + tests/Number.hs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/Number.hs diff --git a/Crypto/Random.hs b/Crypto/Random.hs index 5092899..907e48e 100644 --- a/Crypto/Random.hs +++ b/Crypto/Random.hs @@ -16,6 +16,7 @@ module Crypto.Random , DRG(..) -- * Random abstraction , MonadRandom(..) + , MonadPseudoRandom(..) ) where import Crypto.Random.Types diff --git a/tests/Number.hs b/tests/Number.hs new file mode 100644 index 0000000..d0ac4a2 --- /dev/null +++ b/tests/Number.hs @@ -0,0 +1,16 @@ +module Number (tests) where + +import Imports + +import Crypto.Number.Basic +import Data.Bits + +tests = testGroup "number" + [ testProperty "num-bits" $ \(Positive i) -> + and [ (numBits (2^i-1) == i) + , (numBits (2^i) == i+1) + , (numBits (2^i + (2^i-1)) == i+1) + ] + , testProperty "num-bits2" $ \(Positive i) -> + not (i `testBit` numBits i) && (i `testBit` (numBits i - 1)) + ]