arnaucube
arnaucube/poulpyPublic Self-hosted repository
more vec_rnx methods
Jean-Philippe Bossuat jeanphilippe.bossuat@gmail.com
Wed, 29 Jan 2025 16:18:53 +0100
commit

a7af4d6d1fde75003c1ee4b2c91584dd2e7eeacb

parent

783a763ac92671a4b37eecd75fab0684270e3106

1 files changed, 31 insertions(+), 1 deletions(-)

jump to
M base2k/src/vec_znx_arithmetic.rs → base2k/src/vec_znx_arithmetic.rs

@@ -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}; impl Module {

@@ -70,6 +72,34 @@ a.n() as u64,

b.as_ptr(), b.limbs() as u64, b.n() as u64, + ) + } + } + + 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, ) } }