mirror of
https://github.com/arnaucube/poulpy.git
synced 2026-02-10 13:16:44 +01:00
fixed vec_znx.rsh
This commit is contained in:
@@ -475,13 +475,18 @@ pub fn rsh<T: VecZnxCommon>(log_base2k: usize, a: &mut T, k: usize, tmp_bytes: &
|
|||||||
(cols_steps..cols).for_each(|i| {
|
(cols_steps..cols).for_each(|i| {
|
||||||
izip!(carry_i64.iter_mut(), a.at_mut(i).iter_mut()).for_each(|(ci, xi)| {
|
izip!(carry_i64.iter_mut(), a.at_mut(i).iter_mut()).for_each(|(ci, xi)| {
|
||||||
*xi += *ci << log_base2k;
|
*xi += *ci << log_base2k;
|
||||||
*ci = *xi & mask;
|
*ci = get_base_k_carry(*xi, k_rem);
|
||||||
*xi /= 1 << 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 {}
|
pub trait VecZnxCommon: VecZnxApi + Infos {}
|
||||||
|
|
||||||
pub trait VecZnxOps {
|
pub trait VecZnxOps {
|
||||||
|
|||||||
1
rns/src/modulus/impl_u64/223123123123123 123 123
Normal file
1
rns/src/modulus/impl_u64/223123123123123 123 123
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
Reference in New Issue
Block a user