pub trait ModuleCoreCompressedAlloc {
type OwnedBuf: Data;
type ZnxWord: ZnxWord;
Show 22 methods
// Required methods
fn glwe_compressed_alloc_from_infos<A: GLWEInfos>(
&self,
infos: &A,
) -> GLWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_compressed_alloc(
&self,
base2k: Base2K,
k: TorusPrecision,
rank: Rank,
) -> GLWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_compressed_alloc_from_infos<A: LWEInfos>(
&self,
infos: &A,
) -> LWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_compressed_alloc(
&self,
base2k: Base2K,
k: TorusPrecision,
) -> LWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn gglwe_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GGLWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn gglwe_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank_in: Rank,
rank_out: Rank,
) -> GGLWECompressed<Self::OwnedBuf, Self::ZnxWord>;
fn ggsw_compressed_alloc_from_infos<A: GGSWInfos>(
&self,
infos: &A,
) -> GGSWCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn ggsw_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank: Rank,
) -> GGSWCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_switching_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_switching_key_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank_in: Rank,
rank_out: Rank,
) -> GLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_automorphism_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GLWEAutomorphismKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_automorphism_key_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank: Rank,
) -> GLWEAutomorphismKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_tensor_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GLWETensorKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_tensor_key_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank: Rank,
) -> GLWETensorKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_to_lwe_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GLWEToLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn glwe_to_lwe_key_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
k_aux: TorusPrecision,
rank_in: Rank,
) -> GLWEToLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_to_glwe_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> LWEToGLWEKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_to_glwe_key_compressed_alloc(
&self,
n: Degree,
base2k: Base2K,
dnum: Dnum,
k_aux: TorusPrecision,
rank_out: Rank,
) -> LWEToGLWEKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_switching_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> LWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn lwe_switching_key_compressed_alloc(
&self,
n: Degree,
base2k: Base2K,
dnum: Dnum,
k_aux: TorusPrecision,
) -> LWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn gglwe_to_ggsw_key_compressed_alloc_from_infos<A: GGLWEInfos>(
&self,
infos: &A,
) -> GGLWEToGGSWKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
fn gglwe_to_ggsw_key_compressed_alloc(
&self,
base2k: Base2K,
dnum: Dnum,
dsize: Dsize,
k_aux: TorusPrecision,
rank: Rank,
) -> GGLWEToGGSWKeyCompressed<Self::OwnedBuf, Self::ZnxWord>;
}Expand description
Host-owned compressed wrapper allocation helpers hung off a Module.
This mirrors ModuleCoreAlloc, but for seed-compressed ciphertext and
key layouts.
Required Associated Types§
Required Methods§
fn glwe_compressed_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_compressed_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_compressed_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_compressed_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> LWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn gglwe_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn gglwe_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GGLWECompressed<Self::OwnedBuf, Self::ZnxWord>
fn ggsw_compressed_alloc_from_infos<A: GGSWInfos>( &self, infos: &A, ) -> GGSWCompressed<Self::OwnedBuf, Self::ZnxWord>
fn ggsw_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGSWCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_switching_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_switching_key_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_automorphism_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEAutomorphismKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_automorphism_key_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWEAutomorphismKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_tensor_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWETensorKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_tensor_key_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWETensorKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_to_lwe_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEToLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn glwe_to_lwe_key_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_in: Rank, ) -> GLWEToLWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_to_glwe_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWEToGLWEKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_to_glwe_key_compressed_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_out: Rank, ) -> LWEToGLWEKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_switching_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn lwe_switching_key_compressed_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, ) -> LWESwitchingKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn gglwe_to_ggsw_key_compressed_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWEToGGSWKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
fn gglwe_to_ggsw_key_compressed_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGLWEToGGSWKeyCompressed<Self::OwnedBuf, Self::ZnxWord>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".