arnaucube
arnaucube/poulpyPublic Self-hosted repository
fixed vec_znx.rsh
Jean-Philippe Bossuat jeanphilippe.bossuat@gmail.com
Wed, 05 Mar 2025 16:11:41 +0100
commit

97a1559bf21389dd68917db7329aa9b9202139eb

parent

e149aa584ab62a4492d402ad991644616298ba70

2 files changed, 8 insertions(+), 2 deletions(-)

jump to
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 {}