macro_rules! fiat_monty_field_arithmetic {
(
name: $fe:tt,
params: $params:ty,
uint: $uint:ty,
non_mont: $non_mont_type:expr,
mont: $mont_type:expr,
from_mont: $from_mont:ident,
to_mont: $to_mont:ident,
add: $add:ident,
sub: $sub:ident,
mul: $mul:ident,
neg: $neg:ident,
square: $square:ident,
divstep_precomp: $divstep_precomp:ident,
divstep: $divstep:ident,
msat: $msat:ident,
selectnz: $selectznz:ident
) => { ... };
}Expand description
Add fiat-crypto synthesized arithmetic impls to the given field element.
This macro wraps a field implementation generated by the word-by-word-montgomery backend
(other field implementations are not supported) and uses it in conjunction with this crate’s
MontyField type as the internal representation.