BigModular¶
Modular arithmetic: values in Z/mZ.
Header: unumber/modular/BigModular.h
Invariants¶
modulus != 0- modulus is normalized to non-negative
valueis reduced into[0, modulus)(usingmpz_mod)
Construction¶
Operators¶
+ - * / and compounds.
Division uses modular inverse:
Rules:
- Any operation between two modular numbers requires equal modulus, otherwise
std::invalid_argument.