Skip to main content

test_fiat_monty_field_arithmetic

Macro test_fiat_monty_field_arithmetic 

Source
macro_rules! test_fiat_monty_field_arithmetic {
    (
        name: $fe:tt,
        params: $params:ty,
        uint: $uint:ty,
        non_mont: $non_mont_type:expr,
        mont: $mont_type:expr,
        to_mont: $to_mont:ident,
        msat: $msat:ident
    ) => { ... };
}
Expand description

Test that the wrapper generated for a word-by-word-montgomery fiat-crypto implementation matches the internal representation used by MontyField*, e.g. do they have the same saturated modulus representation and agree on the value of R.

If these tests do not pass, the fiat-crypto synthesized implementation is incompatible with MontyField*.

See also: mit-plv/fiat-crypto#2166