arnaucube
arnaucube/poulpyPublic Self-hosted repository
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}