Skip to main content

ModuleCoreAlloc

Trait ModuleCoreAlloc 

Source
pub trait ModuleCoreAlloc {
    type OwnedBuf: Data;
    type ZnxWord: ZnxWord;

Show 38 methods // Required methods fn glwe_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>; fn glwe_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>; fn glwe_alloc_with_size( &self, base2k: Base2K, size: usize, rank: Rank, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>; fn gglwe_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWE<Self::OwnedBuf, Self::ZnxWord>; fn gglwe_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GGLWE<Self::OwnedBuf, Self::ZnxWord>; fn ggsw_alloc_from_infos<A: GGSWInfos>( &self, infos: &A, ) -> GGSW<Self::OwnedBuf, Self::ZnxWord>; fn ggsw_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGSW<Self::OwnedBuf, Self::ZnxWord>; fn glwe_plaintext_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPlaintext<Self::OwnedBuf, Self::ZnxWord>; fn glwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> GLWEPlaintext<Self::OwnedBuf, Self::ZnxWord>; fn glwe_secret_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecret<Self::OwnedBuf, Self::ZnxWord>; fn glwe_secret_alloc( &self, rank: Rank, ) -> GLWESecret<Self::OwnedBuf, Self::ZnxWord>; fn glwe_secret_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecretTensor<Self::OwnedBuf, Self::ZnxWord>; fn glwe_secret_tensor_alloc( &self, rank: Rank, ) -> GLWESecretTensor<Self::OwnedBuf, Self::ZnxWord>; fn glwe_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWETensor<Self::OwnedBuf, Self::ZnxWord>; fn glwe_tensor_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWETensor<Self::OwnedBuf, Self::ZnxWord>; fn glwe_public_key_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPublicKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_public_key_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWEPublicKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_switching_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GLWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_automorphism_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEAutomorphismKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_automorphism_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWEAutomorphismKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_tensor_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWETensorKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_tensor_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWETensorKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_to_lwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEToLWEKey<Self::OwnedBuf, Self::ZnxWord>; fn glwe_to_lwe_key_alloc( &self, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_in: Rank, ) -> GLWEToLWEKey<Self::OwnedBuf, Self::ZnxWord>; fn gglwe_to_ggsw_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWEToGGSWKey<Self::OwnedBuf, Self::ZnxWord>; fn gglwe_to_ggsw_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGLWEToGGSWKey<Self::OwnedBuf, Self::ZnxWord>; fn lwe_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWE<Self::OwnedBuf, Self::ZnxWord>; fn lwe_alloc( &self, n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWE<Self::OwnedBuf, Self::ZnxWord>; fn lwe_matrix_alloc_from_infos<A: LWEMatrixInfos>( &self, infos: &A, ) -> LWEMatrix<Self::OwnedBuf, Self::ZnxWord>; fn lwe_matrix_alloc( &self, rows: usize, lwe_n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWEMatrix<Self::OwnedBuf, Self::ZnxWord>; fn lwe_plaintext_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWEPlaintext<Self::OwnedBuf, Self::ZnxWord>; fn lwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> LWEPlaintext<Self::OwnedBuf, Self::ZnxWord>; fn lwe_secret_alloc( &self, n: Degree, ) -> LWESecret<Self::OwnedBuf, Self::ZnxWord>; fn lwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>; fn lwe_switching_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, ) -> LWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>; fn lwe_to_glwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWEToGLWEKey<Self::OwnedBuf, Self::ZnxWord>; fn lwe_to_glwe_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_out: Rank, ) -> LWEToGLWEKey<Self::OwnedBuf, Self::ZnxWord>;
}
Expand description

Backend-native wrapper allocation helpers hung off a Module.

This mirrors the poulpy-hal allocation model: callers allocate through a module/context object instead of using static layout constructors directly.

Required Associated Types§

Required Methods§

Source

fn glwe_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_alloc_with_size( &self, base2k: Base2K, size: usize, rank: Rank, ) -> GLWE<Self::OwnedBuf, Self::ZnxWord>

Allocates a GLWE with exactly size limbs (so max_size() == size), labelling k as the full physical width size · base2k. Unlike Self::glwe_alloc (which derives size = ceil(k / base2k) from a target k), this takes the limb count directly, decoupling the buffer size from the effective k — relabel the effective k afterwards with SetK.

Source

fn gglwe_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn gglwe_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GGLWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn ggsw_alloc_from_infos<A: GGSWInfos>( &self, infos: &A, ) -> GGSW<Self::OwnedBuf, Self::ZnxWord>

Source

fn ggsw_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGSW<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_plaintext_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPlaintext<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> GLWEPlaintext<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_secret_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecret<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_secret_alloc( &self, rank: Rank, ) -> GLWESecret<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_secret_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecretTensor<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_secret_tensor_alloc( &self, rank: Rank, ) -> GLWESecretTensor<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWETensor<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_tensor_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWETensor<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_public_key_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPublicKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_public_key_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWEPublicKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_switching_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GLWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_automorphism_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEAutomorphismKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_automorphism_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWEAutomorphismKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_tensor_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWETensorKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_tensor_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWETensorKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_to_lwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEToLWEKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn glwe_to_lwe_key_alloc( &self, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_in: Rank, ) -> GLWEToLWEKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn gglwe_to_ggsw_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWEToGGSWKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn gglwe_to_ggsw_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGLWEToGGSWKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_alloc( &self, n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWE<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_matrix_alloc_from_infos<A: LWEMatrixInfos>( &self, infos: &A, ) -> LWEMatrix<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_matrix_alloc( &self, rows: usize, lwe_n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWEMatrix<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_plaintext_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWEPlaintext<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> LWEPlaintext<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_secret_alloc( &self, n: Degree, ) -> LWESecret<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_switching_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, ) -> LWESwitchingKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_to_glwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWEToGLWEKey<Self::OwnedBuf, Self::ZnxWord>

Source

fn lwe_to_glwe_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_out: Rank, ) -> LWEToGLWEKey<Self::OwnedBuf, Self::ZnxWord>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<B: Backend> ModuleCoreAlloc for Module<B>

Source§

type OwnedBuf = <B as Backend>::OwnedBuf

Source§

type ZnxWord = <B as Backend>::ZnxWord

Source§

fn glwe_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWE<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWE<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_alloc_with_size( &self, base2k: Base2K, size: usize, rank: Rank, ) -> GLWE<B::OwnedBuf, B::ZnxWord>

Source§

fn gglwe_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWE<B::OwnedBuf, B::ZnxWord>

Source§

fn gglwe_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GGLWE<B::OwnedBuf, B::ZnxWord>

Source§

fn ggsw_alloc_from_infos<A: GGSWInfos>( &self, infos: &A, ) -> GGSW<B::OwnedBuf, B::ZnxWord>

Source§

fn ggsw_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGSW<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_plaintext_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPlaintext<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> GLWEPlaintext<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_secret_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecret<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_secret_alloc(&self, rank: Rank) -> GLWESecret<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_secret_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWESecretTensor<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_secret_tensor_alloc( &self, rank: Rank, ) -> GLWESecretTensor<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_tensor_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWETensor<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_tensor_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWETensor<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_public_key_alloc_from_infos<A: GLWEInfos>( &self, infos: &A, ) -> GLWEPublicKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_public_key_alloc( &self, base2k: Base2K, k: TorusPrecision, rank: Rank, ) -> GLWEPublicKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWESwitchingKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_switching_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank_in: Rank, rank_out: Rank, ) -> GLWESwitchingKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_automorphism_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEAutomorphismKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_automorphism_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWEAutomorphismKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_tensor_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWETensorKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_tensor_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GLWETensorKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_to_lwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GLWEToLWEKey<B::OwnedBuf, B::ZnxWord>

Source§

fn glwe_to_lwe_key_alloc( &self, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_in: Rank, ) -> GLWEToLWEKey<B::OwnedBuf, B::ZnxWord>

Source§

fn gglwe_to_ggsw_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> GGLWEToGGSWKey<B::OwnedBuf, B::ZnxWord>

Source§

fn gglwe_to_ggsw_key_alloc( &self, base2k: Base2K, dnum: Dnum, dsize: Dsize, k_aux: TorusPrecision, rank: Rank, ) -> GGLWEToGGSWKey<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWE<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_alloc( &self, n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWE<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_matrix_alloc_from_infos<A: LWEMatrixInfos>( &self, infos: &A, ) -> LWEMatrix<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_matrix_alloc( &self, rows: usize, lwe_n: Degree, base2k: Base2K, k: TorusPrecision, ) -> LWEMatrix<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_plaintext_alloc_from_infos<A: LWEInfos>( &self, infos: &A, ) -> LWEPlaintext<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_plaintext_alloc( &self, base2k: Base2K, k: TorusPrecision, ) -> LWEPlaintext<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_secret_alloc(&self, n: Degree) -> LWESecret<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_switching_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWESwitchingKey<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_switching_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, ) -> LWESwitchingKey<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_to_glwe_key_alloc_from_infos<A: GGLWEInfos>( &self, infos: &A, ) -> LWEToGLWEKey<B::OwnedBuf, B::ZnxWord>

Source§

fn lwe_to_glwe_key_alloc( &self, n: Degree, base2k: Base2K, dnum: Dnum, k_aux: TorusPrecision, rank_out: Rank, ) -> LWEToGLWEKey<B::OwnedBuf, B::ZnxWord>

Implementors§