pub trait GLWEPacking<BE: Backend> {
// Required methods
fn glwe_pack_galois_elements(&self) -> Vec<i64>;
fn glwe_pack_tmp_bytes<R, K>(&self, res: &R, key: &K) -> usize
where R: GLWEInfos,
K: GGLWEInfos;
fn glwe_pack<R, A, K, H>(
&self,
res: &mut R,
a: HashMap<usize, &mut A>,
log_gap_out: usize,
keys: &H,
key_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)
where R: GLWEToBackendMut<BE> + GLWEInfos,
A: GLWEToBackendMut<BE> + GLWEInfos,
K: GGLWEPreparedToBackendRef<BE> + GetGaloisElement + GGLWEInfos,
H: GLWEAutomorphismKeyHelper<K, BE>;
}Required Methods§
fn glwe_pack_galois_elements(&self) -> Vec<i64>
fn glwe_pack_tmp_bytes<R, K>(&self, res: &R, key: &K) -> usizewhere
R: GLWEInfos,
K: GGLWEInfos,
fn glwe_pack<R, A, K, H>(
&self,
res: &mut R,
a: HashMap<usize, &mut A>,
log_gap_out: usize,
keys: &H,
key_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)where
R: GLWEToBackendMut<BE> + GLWEInfos,
A: GLWEToBackendMut<BE> + GLWEInfos,
K: GGLWEPreparedToBackendRef<BE> + GetGaloisElement + GGLWEInfos,
H: GLWEAutomorphismKeyHelper<K, BE>,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.