A trait for monadic distributions. Provides support for use in for-comprehensions
- Companion:
- object
Value members
Abstract methods
Concrete methods
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
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.
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
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.
Gets one sample from the distribution. Equivalent to get()
Gets one sample from the distribution. Equivalent to get()
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