pub trait GLWETrace<BE: Backend> {
// Required methods
fn glwe_trace_galois_elements(&self) -> Vec<i64>;
fn glwe_trace_tmp_bytes<R, A, K>(
&self,
res_infos: &R,
a_infos: &A,
key_infos: &K,
) -> usize
where R: GLWEInfos,
A: GLWEInfos,
K: GGLWEInfos;
fn glwe_trace<R, A, K, H>(
&self,
res: &mut R,
skip: usize,
a: &A,
keys: &H,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut + GLWEInfos,
A: GLWEToRef + GLWEInfos,
K: GGLWEPreparedToRef<BE> + GetGaloisElement + GGLWEInfos,
H: GLWEAutomorphismKeyHelper<K, BE>;
fn glwe_trace_inplace<R, K, H>(
&self,
res: &mut R,
skip: usize,
keys: &H,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
K: GGLWEPreparedToRef<BE> + GetGaloisElement + GGLWEInfos,
H: GLWEAutomorphismKeyHelper<K, BE>;
}Required Methods§
fn glwe_trace_galois_elements(&self) -> Vec<i64>
fn glwe_trace_tmp_bytes<R, A, K>( &self, res_infos: &R, a_infos: &A, key_infos: &K, ) -> usize
fn glwe_trace<R, A, K, H>(
&self,
res: &mut R,
skip: usize,
a: &A,
keys: &H,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut + GLWEInfos,
A: GLWEToRef + GLWEInfos,
K: GGLWEPreparedToRef<BE> + GetGaloisElement + GGLWEInfos,
H: GLWEAutomorphismKeyHelper<K, BE>,
fn glwe_trace_inplace<R, K, H>(
&self,
res: &mut R,
skip: usize,
keys: &H,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
K: GGLWEPreparedToRef<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.