DiscreteDistr

trait DiscreteDistr[T] extends Density[T] with Rand[T]

Represents a discrete Distribution.

trait Rand[T]
trait Serializable
trait Density[T]
class Object
trait Matchable
class Any

Value members

Abstract methods

Returns the probability of that draw.

Returns the probability of that draw.

Concrete methods

def apply(x: T): Double
override def logApply(x: T): Double
Definition Classes

Returns the probability of that draw up to a constant

Returns the probability of that draw up to a constant

Inherited methods

def condition(p: T => Boolean): Rand[T]
Inherited from:
Rand
def draw(): T

Gets one sample from the distribution. Equivalent to sample()

Gets one sample from the distribution. Equivalent to sample()

Inherited from:
Rand
def drawOpt(): Option[T]

Overridden by filter/map/flatmap for monadic invocations. Basically, rejeciton samplers will return None here

Overridden by filter/map/flatmap for monadic invocations. Basically, rejeciton samplers will return None here

Inherited from:
Rand
def filter(p: T => Boolean): Rand[T]
Inherited from:
Rand
def flatMap[E](f: T => Rand[E]): Rand[E]

Converts a random sampler of one type to a random sampler of another type. Examples: randInt(10).flatMap(x => randInt(3 * x.asInstanceOf[Int]) gives a Rand[Int] in the range [0,30] Equivalently, for(x <- randInt(10); y <- randInt(30 *x)) yield y

Converts a random sampler of one type to a random sampler of another type. Examples: randInt(10).flatMap(x => randInt(3 * x.asInstanceOf[Int]) gives a Rand[Int] in the range [0,30] Equivalently, for(x <- randInt(10); y <- randInt(30 *x)) yield y

Value parameters:
f

the transform to apply to the sampled value.

Inherited from:
Rand
def foreach(f: T => Unit): Unit

Samples one element and qpplies the provided function to it. Despite the name, the function is applied once. Sample usage:

Samples one element and qpplies the provided function to it. Despite the name, the function is applied once. Sample usage:

 for(x <- Rand.uniform) { println(x) } 
Value parameters:
f

the function to be applied

Inherited from:
Rand
def get(): T
Inherited from:
Rand
def map[E](f: T => E): Rand[E]

Converts a random sampler of one type to a random sampler of another type. Examples: uniform.map(_2) gives a Rand[Double] in the range [0,2] Equivalently, for(x <- uniform) yield 2x

Converts a random sampler of one type to a random sampler of another type. Examples: uniform.map(_2) gives a Rand[Double] in the range [0,2] Equivalently, for(x <- uniform) yield 2x

Value parameters:
f

the transform to apply to the sampled value.

Inherited from:
Rand
def sample(n: Int): IndexedSeq[T]

Gets n samples from the distribution.

Gets n samples from the distribution.

Inherited from:
Rand
def sample(): T

Gets one sample from the distribution. Equivalent to get()

Gets one sample from the distribution. Equivalent to get()

Inherited from:
Rand

An infinitely long iterator that samples repeatedly from the Rand

An infinitely long iterator that samples repeatedly from the Rand

Returns:

an iterator that repeatedly samples

Inherited from:
Rand
def samplesVector[U >: T](size: Int)(implicit m: ClassTag[U]): DenseVector[U]

Return a vector of samples.

Return a vector of samples.

Inherited from:
Rand
def withFilter(p: T => Boolean): Rand[T]
Inherited from:
Rand