mirror of
https://github.com/arnaucube/poulpy.git
synced 2026-02-10 05:06:44 +01:00
more vec_rnx methods
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user