lol-0.1.0.0: A library for lattice cryptography.

Safe HaskellNone
LanguageHaskell2010

Crypto.Lol.Cyclotomic.Tensor.CTensor

Description

Wrapper for a C implementation of the Tensor interface.

Synopsis

Documentation

data CT m r Source

An implementation of Tensor backed by C code.

Instances

Tensor CT Source 
Fact m => Functor (CT m) Source 
Fact m => Applicative (CT m) Source 
Fact m => Foldable (CT m) Source 
Fact m => Traversable (CT m) Source 
Eq r => Eq (CT m r) Source 
Show r => Show (CT m r) Source 
(Storable r, Random (CT' m r)) => Random (CT m r) Source 
(Storable r, Arbitrary (CT' m r)) => Arbitrary (CT m r) Source 
NFData r => NFData (CT m r) Source 
(Fact m, Ring r, Storable r, CRNS r) => C (CT m r) Source 
(ZeroTestable r, Storable r, Fact m) => C (CT m r) Source 
(Additive r, Storable r, CRNS r, Fact m) => C (CT m r) Source 
type TElt CT r = (Storable r, CRNS r) Source 

class CRNS r Source

Class to dispatch to the C backend for various element types.

Minimal complete definition

zipWrapper, crtWrapper, lgWrapper, divGWrapper, gaussWrapper

class Dispatch r Source

Class to safely match Haskell types with the appropriate C function.

Minimal complete definition

dcrt, dcrtinv, dl, dlinv, dmulgpow, dmulgdec, dginvpow, dginvdec, dadd, dmul, dgcrt, dginvcrt, dgaussdec