poulpy/spqlios/src/vec_znx_arithmetic.rs
spqlios/src/vec_znx_arithmetic.rsRaw
1use crate::bindings::vec_znx_automorphism;
2use crate::module::Module;
3use crate::vector::Vector;
4
5impl Module {
6 pub fn vec_znx_automorphism(&self, gal_el: i64, b: &mut Vector, a: &Vector) {
7 unsafe {
8 vec_znx_automorphism(
9 self.0,
10 gal_el,
11 b.as_mut_ptr(),
12 b.limbs() as u64,
13 b.n() as u64,
14 a.as_ptr(),
15 a.limbs() as u64,
16 a.n() as u64,
17 );
18 }
19 }
20
21 pub fn vec_znx_automorphism_inplace(&self, gal_el: i64, a: &mut Vector) {
22 unsafe {
23 vec_znx_automorphism(
24 self.0,
25 gal_el,
26 a.as_mut_ptr(),
27 a.limbs() as u64,
28 a.n() as u64,
29 a.as_ptr(),
30 a.limbs() as u64,
31 a.n() as u64,
32 );
33 }
34 }
35}