DistField

trait DistField[A] extends DistEuclideanRing[A] with Field[Dist[A]]
trait Field[Dist[A]]
trait Field[Dist[A]]
trait MultiplicativeCommutativeGroup[Dist[A]]
trait MultiplicativeGroup[Dist[A]]
trait DistGCDRing[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

Value members

Abstract methods

def alg: Field[A]

Concrete methods

def div(x: Dist[A], y: Dist[A]): Dist[A]
override
def emod(x: Dist[A], y: Dist[A]): Dist[A]
Definition Classes
override
def equot(x: Dist[A], y: Dist[A]): Dist[A]
Definition Classes
override
def equotmod(x: Dist[A], y: Dist[A]): (Dist[A], Dist[A])
Definition Classes
override
def euclideanFunction(x: Dist[A]): BigInt
Definition Classes
override
def reciprocal(x: Dist[A]): Dist[A]
Definition Classes
MultiplicativeGroup

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 fromDouble(a: Double): Dist[A]

This is implemented in terms of basic Field ops. However, this is probably significantly less efficient than can be done with a specific type. So, it is recommended that this method be overriden.

This is implemented in terms of basic Field ops. However, this is probably significantly less efficient than can be done with a specific type. So, it is recommended that this method be overriden.

This is possible because a Double is a rational number.

Inherited from
Field
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
override
def gcd(x: Dist[A], y: Dist[A])(implicit ev: Eq[Dist[A]]): Dist[A]
Definition Classes
Inherited from
DistEuclideanRing
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
override
def lcm(x: Dist[A], y: Dist[A])(implicit ev: Eq[Dist[A]]): Dist[A]
Definition Classes
Inherited from
DistEuclideanRing
def minus(x: Dist[A], y: Dist[A]): Dist[A]
Inherited from
AdditiveGroup
override
def multiplicative: CommutativeGroup[Dist[A]]
Definition Classes
MultiplicativeCommutativeGroup -> MultiplicativeCommutativeMonoid -> MultiplicativeCommutativeSemigroup -> MultiplicativeGroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeCommutativeGroup
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
MultiplicativeGroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeGroup
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
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
override
def tryProduct(as: IterableOnce[Dist[A]]): Option[Dist[A]]
Definition Classes
MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeMonoid
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

Inherited implicits

implicit
def eqA: Eq[A]
Inherited from
DistGCDRing