lol-tests-0.0.0.1: A library for testing <https://hackage.haskell.org/package/lol Λ ∘ λ>.

Copyright(c) Eric Crockett 2011-2017
Chris Peikert 2011-2017
LicenseGPL-2
Maintainerecrockett0@email.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Crypto.Lol.Tests.ZqTests

Description

Tests for modular arithmetic.

Synopsis

Documentation

zqTests :: _ => Proxy r -> Test Source #

Tests for ZqBasic

prop_add :: forall r. (Ring r, Eq r) => LiftedMod r -> LiftedMod r -> Test r Source #

prop_mul :: forall r. (Ring r, Eq r) => LiftedInvertible r -> LiftedInvertible r -> Test r Source #

prop_recip :: (Field r, Eq r) => Invertible r -> Test r Source #

data LiftedMod r where Source #

Constructors

LMod :: ToInteger (ModRep r) => ModRep r -> LiftedMod r 

Instances

(Mod r, Random (ModRep r), ToInteger (ModRep r)) => Random (LiftedMod r) Source # 

Methods

randomR :: RandomGen g => (LiftedMod r, LiftedMod r) -> g -> (LiftedMod r, g) #

random :: RandomGen g => g -> (LiftedMod r, g) #

randomRs :: RandomGen g => (LiftedMod r, LiftedMod r) -> g -> [LiftedMod r] #

randoms :: RandomGen g => g -> [LiftedMod r] #

randomRIO :: (LiftedMod r, LiftedMod r) -> IO (LiftedMod r) #

randomIO :: IO (LiftedMod r) #

newtype Invertible r Source #

Constructors

Invertible r 

Instances