pub trait GLWEAutomorphism<BE: Backend>where
Self: GLWEKeyswitch<BE> + VecZnxAutomorphismInplace<BE> + VecZnxBigAutomorphismInplace<BE> + VecZnxBigSubSmallInplace<BE> + VecZnxBigSubSmallNegateInplace<BE>,{
// Provided methods
fn glwe_automorphism_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_automorphism<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_add<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_add_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_sub<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_sub_negate<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_sub_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
fn glwe_automorphism_sub_negate_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)
where R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE> { ... }
}Provided Methods§
fn glwe_automorphism_tmp_bytes<R, A, K>( &self, res_infos: &R, a_infos: &A, key_infos: &K, ) -> usize
fn glwe_automorphism<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_add<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_add_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_sub<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_sub_negate<R, A, K>(
&self,
res: &mut R,
a: &A,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
A: GLWEToRef,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_sub_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<BE>,
fn glwe_automorphism_sub_negate_inplace<R, K>(
&self,
res: &mut R,
key: &K,
scratch: &mut Scratch<BE>,
)where
R: GLWEToMut,
K: GetGaloisElement + GGLWEPreparedToRef<BE> + GGLWEInfos,
Scratch<BE>: ScratchTakeCore<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.