pub trait GGSWKeyswitch<BE: Backend> {
// Required methods
fn ggsw_keyswitch_tmp_bytes<R, A, K, T>(
&self,
res_infos: &R,
a_infos: &A,
key_infos: &K,
tsk_infos: &T,
) -> usize
where R: GGSWInfos,
A: GGSWInfos,
K: GGLWEInfos,
T: GGLWEInfos;
fn ggsw_keyswitch<R, A, K, T>(
&self,
res: &mut R,
a: &A,
key: &K,
key_size: usize,
tsk: &T,
tsk_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)
where R: GGSWToBackendMut<BE> + GGSWInfos,
A: GGSWToBackendRef<BE> + GGSWInfos,
K: GGLWEPreparedToBackendRef<BE> + GGLWEInfos,
T: GGLWEToGGSWKeyPreparedToBackendRef<BE> + GGLWEInfos;
fn ggsw_keyswitch_assign<R, K, T>(
&self,
res: &mut R,
key: &K,
key_size: usize,
tsk: &T,
tsk_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)
where R: GGSWToBackendMut<BE> + GGSWInfos,
K: GGLWEPreparedToBackendRef<BE> + GGLWEInfos,
T: GGLWEToGGSWKeyPreparedToBackendRef<BE> + GGLWEInfos;
}Required Methods§
fn ggsw_keyswitch_tmp_bytes<R, A, K, T>( &self, res_infos: &R, a_infos: &A, key_infos: &K, tsk_infos: &T, ) -> usize
fn ggsw_keyswitch<R, A, K, T>(
&self,
res: &mut R,
a: &A,
key: &K,
key_size: usize,
tsk: &T,
tsk_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)where
R: GGSWToBackendMut<BE> + GGSWInfos,
A: GGSWToBackendRef<BE> + GGSWInfos,
K: GGLWEPreparedToBackendRef<BE> + GGLWEInfos,
T: GGLWEToGGSWKeyPreparedToBackendRef<BE> + GGLWEInfos,
fn ggsw_keyswitch_assign<R, K, T>(
&self,
res: &mut R,
key: &K,
key_size: usize,
tsk: &T,
tsk_size: usize,
scratch: &mut ScratchArena<'_, BE>,
)where
R: GGSWToBackendMut<BE> + GGSWInfos,
K: GGLWEPreparedToBackendRef<BE> + GGLWEInfos,
T: GGLWEToGGSWKeyPreparedToBackendRef<BE> + GGLWEInfos,
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.