openvm_algebra_complex_macros

Macro complex_init

Source
complex_init!() { /* proc-macro */ }
Expand description

This macro is used to initialize the complex extension fields. It must be called after moduli_init! is called.

Usage:

moduli_init!("998244353", "1000000007");

complex_init!(Complex2 { mod_idx = 1 }, Complex1 { mod_idx = 0 });

In particular, the order of complex types in the macro doesn’t have to match the order of moduli in moduli_init!, but they should be accompanied by the mod_idx corresponding to the order in the moduli_init! macro (not moduli_declare!).