algebra.ring.GCDRing
See theGCDRing companion object
GCDRing implements a GCD ring.
For two elements x and y in a GCD ring, we can choose two elements d and m such that:
d = gcd(x, y) m = lcm(x, y)
d * m = x * y
Additionally, we require:
gcd(0, 0) = 0 lcm(x, 0) = lcm(0, x) = 0
and commutativity:
gcd(x, y) = gcd(y, x) lcm(x, y) = lcm(y, x)
Attributes
- Companion:
- object
- Source:
- GCDRing.scala
- Graph
- Supertypes
- trait CommutativeRing[A]trait CommutativeRng[A]trait CommutativeRig[A]trait MultiplicativeCommutativeMonoid[A]trait CommutativeSemiring[A]trait MultiplicativeCommutativeSemigroup[A]trait Ring[A]trait Rng[A]trait AdditiveCommutativeGroup[A]trait AdditiveGroup[A]trait Rig[A]trait MultiplicativeMonoid[A]trait Semiring[A]trait MultiplicativeSemigroup[A]trait AdditiveCommutativeMonoid[A]trait AdditiveCommutativeSemigroup[A]trait AdditiveMonoid[A]trait AdditiveSemigroup[A]trait Serializableclass Any
- Known subtypes
- trait EuclideanRing[A]class BigIntAlgebraclass BigIntTruncatedDivisontrait Field[A]class BigDecimalAlgebraclass DoubleAlgebraclass FloatAlgebra