BigIntIsEuclideanRing

trait BigIntIsEuclideanRing extends EuclideanRing[BigInt]
trait EuclideanRing[BigInt]
trait GCDRing[BigInt]
trait CommutativeRing[BigInt]
trait CommutativeRng[BigInt]
trait CommutativeRig[BigInt]
trait MultiplicativeCommutativeMonoid[BigInt]
trait CommutativeSemiring[BigInt]
trait MultiplicativeCommutativeSemigroup[BigInt]
trait Ring[BigInt]
trait Rng[BigInt]
trait AdditiveCommutativeGroup[BigInt]
trait AdditiveGroup[BigInt]
trait Rig[BigInt]
trait MultiplicativeMonoid[BigInt]
trait Semiring[BigInt]
trait MultiplicativeSemigroup[BigInt]
trait AdditiveCommutativeMonoid[BigInt]
trait AdditiveCommutativeSemigroup[BigInt]
trait AdditiveMonoid[BigInt]
trait AdditiveSemigroup[BigInt]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

def emod(a: BigInt, b: BigInt): BigInt
def equot(a: BigInt, b: BigInt): BigInt
override
def equotmod(a: BigInt, b: BigInt): (BigInt, BigInt)
Definition Classes
EuclideanRing
def euclideanFunction(a: BigInt): BigInt
override
def fromInt(n: Int): BigInt
Definition Classes
Ring
override
def gcd(a: BigInt, b: BigInt)(implicit ev: Eq[BigInt]): BigInt
Definition Classes
EuclideanRing -> GCDRing
override
def lcm(a: BigInt, b: BigInt)(implicit ev: Eq[BigInt]): BigInt
Definition Classes
EuclideanRing -> GCDRing
override
def minus(a: BigInt, b: BigInt): BigInt
Definition Classes
AdditiveGroup
def negate(a: BigInt): BigInt
def plus(a: BigInt, b: BigInt): BigInt
override
def pow(a: BigInt, b: Int): BigInt
Definition Classes
MultiplicativeMonoid -> MultiplicativeSemigroup
override
def times(a: BigInt, b: BigInt): BigInt
Definition Classes
MultiplicativeSemigroup

Inherited methods

override
def additive: CommutativeGroup[BigInt]
Definition Classes
AdditiveCommutativeGroup -> AdditiveCommutativeMonoid -> AdditiveCommutativeSemigroup -> AdditiveGroup -> AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveCommutativeGroup
def fromBigInt(n: BigInt): BigInt

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
def isOne(a: BigInt)(implicit ev: Eq[BigInt]): Boolean

Tests if a is one.

Tests if a is one.

Inherited from
MultiplicativeMonoid
def isZero(a: BigInt)(implicit ev: Eq[BigInt]): Boolean

Tests if a is zero.

Tests if a is zero.

Inherited from
AdditiveMonoid
override
def multiplicative: CommutativeMonoid[BigInt]
Definition Classes
MultiplicativeCommutativeMonoid -> MultiplicativeCommutativeSemigroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeCommutativeMonoid
@nowarn("msg=deprecated")
def product(as: IterableOnce[BigInt]): BigInt

Given a sequence of as, compute the product.

Given a sequence of as, compute the product.

Inherited from
MultiplicativeMonoid
@nowarn("msg=deprecated")
def sum(as: IterableOnce[BigInt]): BigInt

Given a sequence of as, compute the sum.

Given a sequence of as, compute the sum.

Inherited from
AdditiveMonoid
override
def sumN(a: BigInt, n: Int): BigInt
Definition Classes
AdditiveGroup -> AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveGroup
@nowarn("msg=deprecated")
override
def tryProduct(as: IterableOnce[BigInt]): Option[BigInt]
Definition Classes
MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeMonoid
@nowarn("msg=deprecated")
override
def trySum(as: IterableOnce[BigInt]): Option[BigInt]
Definition Classes
AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveMonoid

Concrete fields

val one: BigInt
val zero: BigInt