DistField

trait DistField[A] extends DistEuclideanRing[A] with Field[Dist[A]]
trait Field[Dist[A]]
trait CommutativeSemifield[Dist[A]]
trait MultiplicativeCommutativeGroup[Dist[A]]
trait DivisionRing[Dist[A]]
trait Semifield[Dist[A]]
trait MultiplicativeGroup[Dist[A]]
trait EuclideanRing[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
Field -> DistEuclideanRing -> EuclideanRing
override
def equot(x: Dist[A], y: Dist[A]): Dist[A]
Definition Classes
Field -> DistEuclideanRing -> EuclideanRing
override
def equotmod(x: Dist[A], y: Dist[A]): (Dist[A], Dist[A])
Definition Classes
Field -> EuclideanRing
override
def euclideanFunction(x: Dist[A]): BigInt
Definition Classes
Field -> DistEuclideanRing -> EuclideanRing
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
override
def fromDouble(a: Double): Dist[A]
Definition Classes
Field -> DivisionRing
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(a: Dist[A], b: Dist[A])(implicit eqA: Eq[Dist[A]]): Dist[A]
Definition Classes
Field -> EuclideanRing -> GCDRing
Inherited from
Field
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(a: Dist[A], b: Dist[A])(implicit eqA: Eq[Dist[A]]): Dist[A]
Definition Classes
Field -> EuclideanRing -> GCDRing
Inherited from
Field
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
@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

Inherited implicits

implicit
def eqA: Eq[A]
Inherited from
DistGCDRing