{- | module: $Header$ description: Bytes license: MIT maintainer: Joe Leslie-Hurd stability: provisional portability: portable -} module OpenTheory.Byte where import qualified OpenTheory.Natural.Uniform as Uniform import qualified OpenTheory.Primitive.Byte as Byte import qualified OpenTheory.Primitive.Natural as Natural import qualified OpenTheory.Primitive.Random as Random width :: Natural.Natural width = 8 modulus :: Natural.Natural modulus = 2 ^ width random :: Random.Random -> Byte.Byte random r = Byte.fromNatural (Uniform.random modulus r)