more vec_rnx methods

This commit is contained in:
Jean-Philippe Bossuat
2025-01-29 16:18:53 +01:00
parent 783a763ac9
commit a7af4d6d1f

View File

@@ -1,4 +1,6 @@
use crate::bindings::{vec_znx_add, vec_znx_automorphism, vec_znx_rotate, vec_znx_sub}; use crate::bindings::{
vec_znx_add, vec_znx_automorphism, vec_znx_negate, vec_znx_rotate, vec_znx_sub,
};
use crate::{Module, VecZnx}; use crate::{Module, VecZnx};
impl Module { impl Module {
@@ -74,6 +76,34 @@ impl Module {
} }
} }
pub fn vec_znx_negate(&self, b: &mut VecZnx, a: &VecZnx) {
unsafe {
vec_znx_negate(
self.0,
b.as_mut_ptr(),
b.limbs() as u64,
b.n() as u64,
a.as_ptr(),
a.limbs() as u64,
a.n() as u64,
)
}
}
pub fn vec_znx_negate_inplace(&self, a: &mut VecZnx) {
unsafe {
vec_znx_negate(
self.0,
a.as_mut_ptr(),
a.limbs() as u64,
a.n() as u64,
a.as_ptr(),
a.limbs() as u64,
a.n() as u64,
)
}
}
pub fn vec_znx_rotate(&self, k: i64, a: &mut VecZnx, b: &VecZnx) { pub fn vec_znx_rotate(&self, k: i64, a: &mut VecZnx, b: &VecZnx) {
unsafe { unsafe {
vec_znx_rotate( vec_znx_rotate(