EuclideanRing implements a Euclidean domain.
The formal definition says that every euclidean domain A has (at least one) euclidean function f: A -> N (the natural numbers) where:
(for every x and non-zero y) x = yq + r, and r = 0 or f(r) < f(y).
This generalizes the Euclidean division of integers, where f represents a measure of length (or absolute value), and the previous equation represents finding the quotient and remainder of x and y. So:
quot(x, y) = q
mod(x, y) = r
- Companion
- object
Value members
Abstract methods
Concrete methods
Inherited methods
- Definition Classes
- AdditiveCommutativeGroup -> AdditiveCommutativeMonoid -> AdditiveCommutativeSemigroup -> AdditiveGroup -> AdditiveMonoid -> AdditiveSemigroup
- Inherited from
- AdditiveCommutativeGroup
Convert the given BigInt to an instance of A.
Convert the given BigInt to an instance of A.
This is equivalent to n
repeated summations of this ring's one
, or
-n
summations of -one
if n
is negative.
Most type class instances should consider overriding this method for performance reasons.
- Inherited from
- Ring
Convert the given integer to an instance of A.
Convert the given integer to an instance of A.
Defined to be equivalent to sumN(one, n)
.
That is, n
repeated summations of this ring's one
, or -n
summations of -one
if n
is negative.
Most type class instances should consider overriding this method for performance reasons.
- Inherited from
- Ring
- Definition Classes
- MultiplicativeCommutativeMonoid -> MultiplicativeCommutativeSemigroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
- Inherited from
- MultiplicativeCommutativeMonoid
- Definition Classes
- MultiplicativeMonoid -> MultiplicativeSemigroup
- Inherited from
- MultiplicativeMonoid
Given a sequence of as
, compute the product.
Given a sequence of as
, compute the product.
- Inherited from
- MultiplicativeMonoid
Given a sequence of as
, compute the sum.
Given a sequence of as
, compute the sum.
- Inherited from
- AdditiveMonoid
- Definition Classes
- AdditiveGroup -> AdditiveMonoid -> AdditiveSemigroup
- Inherited from
- AdditiveGroup
- Definition Classes
- MultiplicativeMonoid -> MultiplicativeSemigroup
- Inherited from
- MultiplicativeMonoid