This namespace contains an implementation of a [[ModInt]] datatype and various operations for creating and working with [[ModInt]] instances. See "Modular Arithmetic" on Wikipedia for more details about modular arithmetic.
emmy.modint also extends many Emmy generic operations
to the [[ModInt]] datatype.
This namespace contains an implementation of a [[ModInt]] datatype and various operations for creating and working with [[ModInt]] instances. See ["Modular Arithmetic"](https://en.wikipedia.org/wiki/Modular_arithmetic) on Wikipedia for more details about modular arithmetic. [[emmy.modint]] also extends many Emmy generic operations to the [[ModInt]] datatype.
(chinese-remainder & modints)Accepts a sequence of [[ModInt]] instances (where the modulus of
all [[ModInt]] instances are relatively prime), and returns a [[ModInt]] x
such that (residue input) == (mod x (modulus input)).
For example:
(let [a1 (m/make 2 5)
a2 (m/make 3 13)]
[(= 42 (chinese-remainder a1 a2))
(= (residue a1) (mod cr (modulus a1)))
(= (residue a2) (mod cr (modulus a2)))])
;;=> [true true true]
[Chinese Remainder Algorithm](https://en.wikipedia.org/wiki/Chinese_remainder_theorem).
Accepts a sequence of [[ModInt]] instances (where the `modulus` of
all [[ModInt]] instances are relatively prime), and returns a [[ModInt]] `x`
such that `(residue input) == (mod x (modulus input))`.
For example:
```clojure
(let [a1 (m/make 2 5)
a2 (m/make 3 13)]
[(= 42 (chinese-remainder a1 a2))
(= (residue a1) (mod cr (modulus a1)))
(= (residue a2) (mod cr (modulus a2)))])
;;=> [true true true]
```(make i m)Returns an instance of [[ModInt]] that represents integer i with integral
modulus m.
Returns an instance of [[ModInt]] that represents integer `i` with integral modulus `m`.
(modint? x)Returns true if x is an instance of [[ModInt]], false otherwise.
Returns true if `x` is an instance of [[ModInt]], false otherwise.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |