fixed vec_znx.rsh
Jean-Philippe Bossuat jeanphilippe.bossuat@gmail.com
Wed, 05 Mar 2025 16:11:41 +0100
2 files changed,
8 insertions(+),
2 deletions(-)
M
base2k/src/vec_znx.rs
→
base2k/src/vec_znx.rs
@@ -475,11 +475,16 @@
(cols_steps..cols).for_each(|i| { izip!(carry_i64.iter_mut(), a.at_mut(i).iter_mut()).for_each(|(ci, xi)| { *xi += *ci << log_base2k; - *ci = *xi & mask; - *xi /= 1 << k_rem; + *ci = get_base_k_carry(*xi, k_rem); + *xi = (*xi-*ci)>>k_rem; }); }) } +} + +#[inline(always)] +fn get_base_k_carry(x: i64, k: usize) -> i64{ + (x<<64-k) >> (64-k) } pub trait VecZnxCommon: VecZnxApi + Infos {}