!0"*(      !"#$%&'-Transforms Haskell types into C counterparts.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2018GPL-3ecrockett0@gmail.com experimentalPOSIXNone,-.=>?@AHUVXkS(lol-cpp"C representation of a prime power.)lol-cpp>Convert a list of prime powers to a suitable C representation.*lol-cppDEvaluates a C function that takes an "a** ptr" on a list of Vectors.'+()*,-./0123456789:;<=>?@ABCDEFGHIJKLMNCPP Tensor-specific instances.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-3ecrockett0@email.com experimentalPOSIXNone-1HM +Embedding/twacing in various bases for CPP.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-3ecrockett0@email.com experimentalPOSIXNone+,-.>@AHUVXk Olol-cppO(n)5 Yield the vector obtained by replacing each element i of the index vector by xsPi. This is equivalent to Q (xsP) is# but is often much more efficient. 3backpermute <a,b,c,d> <0,3,2,3,1,0> = <a,d,c,d,b,a>Rlol-cpp.Embeds an vector in the powerful basis of the m=th cyclotomic ring to a vector in the powerful basis of the m'th cyclotomic ringSlol-cppSame as R, but for the decoding basis.Tlol-cppEmbeds an vector in the CRT basis of the the mth cyclotomic ring to an vector in the CRT basis of the m'th cyclotomic ring when m | m'Ulol-cppmaps a vector in the powerful/decoding basis, representing an O_m' element, to a vector of arrays representing O_m elements in the same type of basisVlol-cppThe "tweaked trace" function in either the powerful or decoding basis of the m'th cyclotomic ring to the mth cyclotomic ring when m | m'.Wlol-cppwThe powerful extension basis, wrt the powerful basis. Outputs a list of vectors in O_m' that are an O_m basis for O_m'Xlol-cppKA list of vectors representing the mod-p CRT set of the extension O_m'/O_mOlol-cppis index vector (of length n)lol-cppxs value vector ORSTUVYWX$Wrapper for a C++ implementation of Tensor interfaces.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-3ecrockett0@email.com experimentalPOSIXNone&'+,-./1=>?@AHIMSUVX_k*lol-cppAn implementation of Tensor backend by C++ code.Zlol-cpp Newtype wrapper around a Vector.[lol-cppUseful coersion for defining coeffs in the  TensorPowDec interface. Using \* alone is insufficient for type inference.]lol-cppUseful coersion for defining  powBasisPow and  crtSetDec in the  TensorPowDec and  TensorCRT interfaces. Using \* alone is insufficient for type inference.^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYWXZ[\]^_`abcdefghi&lol-cpp-0.2.0.0-GSNrGmaQiRX45VsRrhUbmV Crypto.Lol.Cyclotomic.Tensor.CPP(Crypto.Lol.Cyclotomic.Tensor.CPP.Backend*Crypto.Lol.Cyclotomic.Tensor.CPP.Instances*Crypto.Lol.Cyclotomic.Tensor.CPP.ExtensionCT $fRandomCT' $fProtoableCT $fNFDataCT $fRandomCT$fTensorPowDecCTRRq$fTensorGSqNormCTInt64$fTensorCRTCTMaybeInt64$fTensorGCTInt64$fTensorPowDecCTInt64$fTensorGSqNormCTDouble$fTensorCRTCTMaybeDouble$fTensorGCTDouble$fTensorPowDecCTDouble$fTensorCRTCTMaybeComplex$fTensorCRTCTIdentityComplex$fTensorGCTComplex$fTensorPowDecCTComplex$fTensorCRTCTMaybeZqBasic$fTensorGCTZqBasic$fTensorPowDecCTZqBasic $fIFunctorCT$fTensorCRTSetCTZqBasic$fTensorGaussianTYPECTDouble$fTraversableCT $fFoldableCT$fApplicativeCT $fFunctorCT$fApproxEqualCT$fCrCT$fCCT$fCGFCT$fCCT0$fCCT1$fEqCT $fShowArgType $fShowCT'$fEqCT' $fNFDataCT'$fShowCTCPPmarshalFactors withPtrArraybaseForeign.Marshal.Array withArraydcrtZq dcrtinvZqdlZqdlinvZq dmulgpowZq dmulgdecZq dginvpowZq dginvdecZqdmulZqdcrtCdcrtinvCdlCdlinvC dmulgpowC dmulgdecC dginvpowC dginvdecCdmulCdlRRqdlinvRRqdlDouble dlinvDouble dnormDoubledmulgpowDoubledmulgdecDoubledginvpowDoubledginvdecDoubledgaussdecDoubledlInt64 dlinvInt64 dnormInt64 dmulgpowInt64 dmulgdecInt64 dginvpowInt64 dginvdecInt64 backpermute'&vector-0.12.1.2-FWeXzqARiSu45G657SieqkData.Vector.Storable!map embedPow' embedDec' embedCRT'coeffs' twacePowDec' powBasisPow' crtSetDec' twaceCRT'CT' coerceCoeffsghc-primGHC.Primcoerce coerceBasis