added a_mul_b_montgomery_add_c_into_c

This commit is contained in:
Jean-Philippe Bossuat
2025-01-21 13:56:39 +01:00
parent c2d47a6af9
commit a50fbc1c74

View File

@@ -223,6 +223,20 @@ impl Ring<u64> {
.va_mul_vb_montgomery_into_vc::<CHUNK, REDUCE>(&a.0, &b.0, &mut c.0); .va_mul_vb_montgomery_into_vc::<CHUNK, REDUCE>(&a.0, &b.0, &mut c.0);
} }
#[inline(always)]
pub fn a_mul_b_montgomery_add_c_into_c<const REDUCE1: REDUCEMOD, const REDUCE2: REDUCEMOD>(
&self,
a: &Poly<Montgomery<u64>>,
b: &Poly<u64>,
c: &mut Poly<u64>,
) {
debug_assert!(a.n() == self.n(), "a.n()={} != n={}", a.n(), self.n());
debug_assert!(b.n() == self.n(), "b.n()={} != n={}", b.n(), self.n());
debug_assert!(c.n() == self.n(), "c.n()={} != n={}", c.n(), self.n());
self.modulus
.va_mul_vb_montgomery_add_vc_into_vc::<CHUNK, REDUCE1, REDUCE2>(&a.0, &b.0, &mut c.0);
}
#[inline(always)] #[inline(always)]
pub fn a_mul_b_montgomery_into_a<const REDUCE: REDUCEMOD>( pub fn a_mul_b_montgomery_into_a<const REDUCE: REDUCEMOD>(
&self, &self,