lol-0.2.0.0: A library for lattice cryptography.

Safe HaskellNone
LanguageHaskell2010

Crypto.Lol.Types.ZqBasic

Description

An implementation of modular arithmetic, i.e., the ring Zq.

Synopsis

Documentation

data ZqBasic q z Source

The ring Z_q of integers modulo q, using underlying integer type z.

Instances

(ReflectsTI k q z, Ring z) => Correct * TrivGad (ZqBasic k q z) Source 
(ReflectsTI k q z, Ring z) => Decompose * TrivGad (ZqBasic k q z) Source 
(ReflectsTI k q z, Additive z) => Gadget * TrivGad (ZqBasic k q z) Source 
(ReflectsTI k1 q z, Ring z, Reflects k b z) => Correct * (BaseBGad k b) (ZqBasic k q z) Source 
(ReflectsTI k1 q z, Ring z, ZeroTestable z, Reflects k b z) => Decompose * (BaseBGad k b) (ZqBasic k q z) Source 
(ReflectsTI k1 q z, RealIntegral z, Reflects k b z) => Gadget * (BaseBGad k b) (ZqBasic k q z) Source 
Unbox z => Vector Vector (ZqBasic k q z) Source 
Unbox z => MVector MVector (ZqBasic k q z) Source 
(Reflects k q z, Ring (ZqBasic k q z)) => Reduce Integer (ZqBasic k q z) Source 
ReflectsTI k q z => Reduce z (ZqBasic k q z) Source 
Eq z => Eq (ZqBasic k q z) Source 
Ord z => Ord (ZqBasic k q z) Source 
Show z => Show (ZqBasic k q z) Source 
(ReflectsTI k q z, Random z) => Random (ZqBasic k q z) Source 
(ReflectsTI k q z, Random z) => Arbitrary (ZqBasic k q z) Source 
Storable z => Storable (ZqBasic k q z) Source 
NFData z => NFData (ZqBasic k q z) Source 
(ReflectsTI k q z, PID z, Show z) => C (ZqBasic k q z) Source 
Field (ZqBasic k q z) => C (ZqBasic k q z) Source 
(ReflectsTI k q z, Ring z) => C (ZqBasic k q z) Source 
C z => C (ZqBasic k q z) Source 
(ReflectsTI k q z, Additive z) => C (ZqBasic k q z) Source 
Elt z => Elt (ZqBasic k q z) Source 
Unbox z => Unbox (ZqBasic k q z) Source 
ReflectsTI k q z => Lift' (ZqBasic k q z) Source 
ReflectsTI k q z => Mod (ZqBasic k q z) Source 
(ReflectsTI k q z, Enum z) => Enumerable (ZqBasic k q z) Source 
(ReflectsTI k q z, Ring (ZqBasic k q z)) => CRTEmbed (ZqBasic k q z) Source 
(ReflectsTI k q z, PID z, Enumerable (ZqBasic k q z)) => CRTrans (ZqBasic k q z) Source 
(PPow pp, (~) * zq (ZqBasic PrimePower pp z), PrimeField (ZpOf zq), Ring zq, Ring (ZpOf zq)) => ZPP (ZqBasic PrimePower pp z) Source 
(Reflects k p z, ReflectsTI k1 q z, Field (ZqBasic k p z), Field (ZqBasic k1 q z)) => Encode (ZqBasic k p z) (ZqBasic k q z) Source 
(ReflectsTI k q z, ReflectsTI k1 q' z, Ring z) => Rescale (ZqBasic k q z) (ZqBasic k q' z) Source 
data MVector s (ZqBasic k q z) = MV_ZqBasic (MVector s z) Source 
type CharOf k (ZqBasic k p z) = p Source 
data Vector (ZqBasic k q z) = V_ZqBasic (Vector z) Source 
type LiftOf (ZqBasic k q z) = z Source 
type ModRep (ZqBasic k q z) = z Source 
type CRTExt (ZqBasic k q z) = Complex Double Source 
type ZpOf (ZqBasic PrimePower pp z) = ZqBasic Prime (PrimePP pp) z Source 
type DecompOf (ZqBasic k q z) = z Source 
type DecompOf (ZqBasic k q z) = z Source