DistGCDRing

trait DistGCDRing[A] extends DistCRing[A] with GCDRing[Dist[A]]
trait GCDRing[Dist[A]]
trait DistCRing[A]
trait CommutativeRing[Dist[A]]
trait CommutativeRig[Dist[A]]
trait MultiplicativeCommutativeMonoid[Dist[A]]
trait Ring[Dist[A]]
trait Rig[Dist[A]]
trait MultiplicativeMonoid[Dist[A]]
trait DistCRng[A]
trait CommutativeRng[Dist[A]]
trait Rng[Dist[A]]
trait AdditiveCommutativeGroup[Dist[A]]
trait AdditiveGroup[Dist[A]]
trait DistCSemiring[A]
trait CommutativeSemiring[Dist[A]]
trait MultiplicativeCommutativeSemigroup[Dist[A]]
trait Semiring[Dist[A]]
trait MultiplicativeSemigroup[Dist[A]]
trait AdditiveCommutativeMonoid[Dist[A]]
trait AdditiveCommutativeSemigroup[Dist[A]]
trait AdditiveMonoid[Dist[A]]
trait AdditiveSemigroup[Dist[A]]
trait Serializable
class Object
trait Matchable
class Any
trait DistField[A]

Value members

Abstract methods

def alg: GCDRing[A]

Concrete methods

def gcd(x: Dist[A], y: Dist[A])(implicit ev: Eq[Dist[A]]): Dist[A]
def lcm(x: Dist[A], y: Dist[A])(implicit ev: Eq[Dist[A]]): Dist[A]

Inherited methods

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

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 fromInt(n: Int): Dist[A]

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

Tests if a is one.

Tests if a is one.

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

Tests if a is zero.

Tests if a is zero.

Inherited from
AdditiveMonoid
def minus(x: Dist[A], y: Dist[A]): Dist[A]
Inherited from
AdditiveGroup
override
def multiplicative: CommutativeMonoid[Dist[A]]
Definition Classes
MultiplicativeCommutativeMonoid -> MultiplicativeCommutativeSemigroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeCommutativeMonoid
def negate(x: Dist[A]): Dist[A]
Inherited from
DistCRng
def one: Dist[A]
Inherited from
DistCRing
def plus(x: Dist[A], y: Dist[A]): Dist[A]
Inherited from
DistCSemiring
override
def pow(a: Dist[A], n: Int): Dist[A]
Definition Classes
MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeMonoid
@nowarn("msg=deprecated")
def product(as: IterableOnce[Dist[A]]): Dist[A]

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[Dist[A]]): Dist[A]

Given a sequence of as, compute the sum.

Given a sequence of as, compute the sum.

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

Implicits

Implicits

implicit
def eqA: Eq[A]