Minilib.Math.Modular
Defined in minilib-math@0.7.2
This is an arithmetic with a modulus (modulo), for example 2 * 5 = 10 = 3 (mod 7).
For details, see Wikipedia: Modular Arithmetic.
Values
namespace Minilib.Math.Modular
make
Type: [a : Minilib.Math.Types::Euclid] a -> a -> Minilib.Math.Modular::Modular a
Modular::make(v, m) creates v modulo m.
It is an equivalence class of a quotient ring Z/mZ.
modulo
Type: [a : Minilib.Math.Types::Euclid] a -> a -> Minilib.Math.Modular::Modular a
Synonym for Modular::make.
nonneg
Type: [a : Minilib.Math.Types::Euclid, a : Std::LessThan] Minilib.Math.Modular::Modular a -> Minilib.Math.Modular::Modular a
x.nonneg changes @value with a equivalent non-negative value.
For example, modulo(-1, 3) will be changed to modulo(2,3)
because -1 == 2 mod 3.
Types and aliases
namespace Minilib.Math.Modular
Modular
Defined as: type Modular a = unbox struct { ...fields... }
A type that performs Modular Arithmetic.
field value
Type: a
field modulus
Type: a