;4     CPP Tensor-specific instances.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-2ecrockett0@email.com experimentalPOSIXNone+/DI+Embedding/twacing in various bases for CPP.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-2ecrockett0@email.com experimentalPOSIXNone)*+,:<=DQRTO(n)5 Yield the vector obtained by replacing each element i of the index vector by xsi. This is equivalent to  (xs) is# but is often much more efficient. 3backpermute <a,b,c,d> <0,3,2,3,1,0> = <a,d,c,d,b,a>Embeds an vector in the powerful basis of the the mth cyclotomic ring to an vector in the powerful basis of the m'th cyclotomic ring when m | m'Embeds an vector in the decoding basis of the the mth cyclotomic ring to an vector in the decoding basis of the m'th cyclotomic ring when m | m'Embeds 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'maps 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 basisThe "tweaked trace" function in either the powerful or decoding basis of the m'th cyclotomic ring to the mth cyclotomic ring when m | m'.wThe powerful extension basis, wrt the powerful basis. Outputs a list of vectors in O_m' that are an O_m basis for O_m'KA list of vectors representing the mod-p CRT set of the extension O_m'/O_m is index vector (of length n)xs value vector  -Transforms Haskell types into C counterparts.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-2ecrockett0@email.com experimentalPOSIXNone*+,9:;<=DQRTDClass to safely match Haskell types with the appropriate C function. Equivalent to Tensors crt.!Equivalent to Tensors crtInv."Equivalent to Tensors  tGaussianDec.#Equivalent to Tensors l.$Equivalent to Tensors lInv.%Equivalent to Tensors  gSqNormDec.&Equivalent to Tensors mulGPow.'Equivalent to Tensors mulGDec.(Equivalent to Tensors divGPow.)Equivalent to Tensors divGDec.*Equivalent to  zipWith (*)+Single-argument synonym for  Dispatch'.,"C representation of a prime power.->Convert a list of prime powers to a suitable C representation..DEvaluates a C function that takes an "a** ptr" on a list of Vectors.D !"#$%&'()*+/0123456789:,;<=>?@ABCDEFGHIJKLMNOPQRSTUVW-.XYZ[\]^_`abc*)('&%$#"! +,-.6 !"#$%&'()*+/0123456789:,;<=>?@ABCDEFGHIJKLMNOPQRSTUVW-.XYZ[\]^_`ab(Wrapper for a C++ implementation of the d interface.G(c) Eric Crockett, 2011-2017 Chris Peikert, 2011-2017GPL-2ecrockett0@email.com experimentalPOSIXNone%&)*+,-/9:;<=DEILOQRTAn implementation of d backed by C++ code.e Newtype wrapper around a Vector.fUseful coersion for defining coeffs in the Tensor interface. Using g* alone is insufficient for type inference.hUseful coersion for defining  powBasisPow and  crtSetDec in the Tensor interface. Using g* alone is insufficient for type inference./ijklemnopqrstufhvwxyz{|}~ +ijklemnopqrstufhvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxpyz{|}~&lol-cpp-0.0.0.3-1YIiVkY6uPP9teBLAZ9HXY Crypto.Lol.Cyclotomic.Tensor.CPP*Crypto.Lol.Cyclotomic.Tensor.CPP.Instances*Crypto.Lol.Cyclotomic.Tensor.CPP.Extension(Crypto.Lol.Cyclotomic.Tensor.CPP.BackendCT $fNFDataCT $fRandomCT $fRandomCT' $fTensorCT$fTraversableCT $fFoldableCT$fApplicativeCT $fFunctorCT$fCGFCT$fCCT$fCCT0 $fProtoableCT$fEqCT $fShowArgType $fShowCT'$fEqCT' $fNFDataCT'$fShowCT backpermute'&vector-0.12.0.0-4Id7FElSeAC3wKuJGC9cw4Data.Vector.Storable!map embedPow' embedDec' embedCRT'coeffs' twacePowDec' powBasisPow' crtSetDec' kronToVec twaceCRT' Dispatch'dcrtdcrtinv dgaussdecdldlinvdnormdmulgpowdmulgdecdginvpowdginvdecdmulDispatchCPPmarshalFactors withPtrArrayTuple numComponentsZqTupleModPairs getModuliEqCTypeCTypeOfRRqDInt64DDoubleDComplexDZqB64DmulCmulRqtensorGaussianDec tensorCRTInvCtensorCRTInvRq tensorCRTC tensorCRTRqtensorGInvDecCtensorGInvDecRqtensorGInvDecRtensorGInvPowCtensorGInvPowRqtensorGInvPowR tensorGDecC tensorGDecRq tensorGDecR tensorGPowC tensorGPowRq tensorGPowR tensorNormSqD tensorNormSqR tensorLInvCtensorLCtensorLInvDouble tensorLDouble tensorLInvRq tensorLRq tensorLInvRtensorLR$fDispatch'Int64DInt64$fDispatch'DoubleDDouble$fDispatch'ComplexDr$fDispatch'ZqB64Dr$fDispatch'RRqDr$fTupleTYPE(,) $fTupleka$fZqTupleTYPE(,)$fZqTupleTYPERRq$fZqTupleTYPEZqBasic $fStorable(,)baseForeign.Marshal.Array withArray"lol-0.6.0.0-3WEWYXTcbEL6epkR7FpjkeCrypto.Lol.Cyclotomic.TensorTensorCT' coerceCoeffsghc-primGHC.Primcoerce coerceBasisEmTwZVunCTtoCTtoZVzvToCT'wrapwrapMcoerceTwcoerceEm dispatchGInv withBasicArgs basicDispatch gSqNormDec'ctCRTctCRTInv cZipDispatchcDispatchGaussianreplreplM scalarPow'ruruInv wrapVectorgCRTgInvCRT