Minilib.Math.Modular
Defined in minilib-math@0.6.1
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