diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
commit | dc0db358abe19481e475e10c32149b53370f1a1c (patch) | |
tree | ab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/primeorder/src/field.rs | |
parent | Releasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff) | |
download | rustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip |
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/primeorder/src/field.rs')
-rw-r--r-- | vendor/primeorder/src/field.rs | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/vendor/primeorder/src/field.rs b/vendor/primeorder/src/field.rs index a347f0bb1..9a3b6eade 100644 --- a/vendor/primeorder/src/field.rs +++ b/vendor/primeorder/src/field.rs @@ -261,6 +261,25 @@ macro_rules! impl_mont_field_element { } } + $crate::impl_mont_field_element_arithmetic!( + $fe, $bytes, $uint, $arr, $add, $sub, $mul, $neg + ); + }; +} + +/// Add arithmetic impls to the given field element. +#[macro_export] +macro_rules! impl_mont_field_element_arithmetic { + ( + $fe:tt, + $bytes:ty, + $uint:ty, + $arr:ty, + $add:ident, + $sub:ident, + $mul:ident, + $neg:ident + ) => { impl AsRef<$arr> for $fe { fn as_ref(&self) -> &$arr { self.0.as_ref() @@ -491,7 +510,7 @@ macro_rules! impl_bernstein_yang_invert { $d:expr, $nlimbs:expr, $word:ty, - $from_montgomery:ident, + $from_mont:ident, $mul:ident, $neg:ident, $divstep_precomp:ident, @@ -502,7 +521,7 @@ macro_rules! impl_bernstein_yang_invert { // See Bernstein-Yang 2019 p.366 const ITERATIONS: usize = (49 * $d + 57) / 17; - let a = $from_montgomery($a); + let a = $from_mont($a); let mut d = 1; let mut f = $msat(); let mut g = [0; $nlimbs + 1]; |