Packages

object GeneratorNode

Linear Supertypes
AnyRef, Any
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GeneratorNode
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Atom[X](value: X, output: RandomVar[X]) extends GeneratorNode[X] with Product with Serializable

    atomic value taken by a random variable

    atomic value taken by a random variable

    X

    the scala type of the random variable

    value

    the value

  2. case class BaseThenCondition[O, Y](gen: GeneratorNode[O], output: RandomVar[Y], condition: Sort[O, Y]) extends GeneratorNode[Y] with ThenCondition[O, Y] with Product with Serializable
  3. case class ConditionFunc[O, D, S >: O, T](base: GeneratorNode[O], conditionFamily: (D) => Sort[S, T], outputFamily: RandomVarFamily[::[D, HNil], T]) extends (::[D, HNil]) => BaseThenCondition[O, T] with Product with Serializable
  4. case class FiberProductMap[X1, X2, Z, Y](quot: (X1) => Z, fiberVar: (Z) => RandomVar[X2], f: (X1, X2) => Y, baseInput: RandomVar[X1], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable
  5. case class FlatMap[X, Y](baseInput: RandomVar[X], fiberNode: (X) => GeneratorNode[Y], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable

    flat-maps a family of generator nodes, such as lambda islands corresponding to different types.

    flat-maps a family of generator nodes, such as lambda islands corresponding to different types.

    X

    scala type of the parametrizing random variable

    Y

    scala type of the output random variable

    baseInput

    the random variable for the parameter of the family

    fiberNode

    the node for each parameter

    output

    the output random variable

  6. case class FlatMapOpt[X, Y](baseInput: RandomVar[X], fiberNodeOpt: (X) => Option[GeneratorNode[Y]], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable
  7. case class Idty[A]() extends (A) => A with Product with Serializable

    Wrapper for identity to allow equality and toString to work.

  8. case class Init[X](input: RandomVar[X]) extends GeneratorNode[X] with Product with Serializable

    generator node for simply using the initial distribution.

    generator node for simply using the initial distribution.

    input

    the random variable whose distribution we extract.

  9. case class Island[Y, InitState, O, Boat](output: RandomVar[Y], islandOutput: (Boat) => RandomVar[O], initMap: (InitState) => (Double) => (InitState, Boat), export: (Boat, O) => Y, finalMap: (Boat, InitState) => InitState) extends RecursiveGeneratorNode[InitState, Y] with Product with Serializable

    An island, i.e., a full map from initial state to all required distributions, which is used in recursive definitions where we recurse on not just the final state but also the dynamics.

    An island, i.e., a full map from initial state to all required distributions, which is used in recursive definitions where we recurse on not just the final state but also the dynamics. One enters the island using a boat which is returned, and must exit by the same boat.

    Y

    the scala type of the island output

    InitState

    the initial state

    O

    the scala type of the final output

    Boat

    scala type of the boat

    output

    the final output, as seen from the outside

    islandOutput

    the variable whose distribution from the island is used

    initMap

    the map from the initial state on the outside to the initial state in the island

    export

    the object (e.g. term) level map applied when mapping a distribution obtained in the island to the outside; this is specific to the island

  10. case class Map[X, Y](f: (X) => Y, input: RandomVar[X], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable

    generator node for mapping

    generator node for mapping

    X

    scala type of the input random variable

    Y

    scala type of the output random variable

    f

    the function

    input

    the input random variable

    output

    the output random variable

  11. case class MapOpt[X, Y](f: (X) => Option[Y], input: RandomVar[X], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable

    generator node for optionally mapping, to be conditioned by non-trivial outputs (if any)

    generator node for optionally mapping, to be conditioned by non-trivial outputs (if any)

    X

    scala type of the input random variable

    Y

    scala type of the output random variable

    f

    the optional function

    input

    the input random variable

    output

    the output random variable

  12. case class RecursiveThenCondition[State, O, Y](gen: RecursiveGeneratorNode[State, O], output: RandomVar[Y], condition: Sort[O, Y]) extends RecursiveGeneratorNode[State, Y] with ThenCondition[O, Y] with Product with Serializable
  13. sealed trait ThenCondition[O, Y] extends GeneratorNode[Y]

    compose a generator node with conditioning

    compose a generator node with conditioning

    O

    scala type of the original output

    Y

    scala type of the final output

  14. case class ZipFlatMap[X1, X2, Y](baseInput: RandomVar[X1], fiberVar: (X1) => RandomVar[X2], f: (X1, X2) => Y, output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable
  15. case class ZipMap[X1, X2, Y](f: (X1, X2) => Y, input1: RandomVar[X1], input2: RandomVar[X2], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable

    generator node for combining using a binary operation

    generator node for combining using a binary operation

    X1

    scala type of the first input random variable

    X2

    scala type of the second input random variable

    Y

    scala type of the output random variable

    f

    the binary operation

    input1

    the first input random variable

    input2

    the second input random variable

    output

    the output random variable

  16. case class ZipMapOpt[X1, X2, Y](f: (X1, X2) => Option[Y], input1: RandomVar[X1], input2: RandomVar[X2], output: RandomVar[Y]) extends GeneratorNode[Y] with Product with Serializable

    generator node for combining using an optional binary operation, should be conditioned on output being non-trivial

    generator node for combining using an optional binary operation, should be conditioned on output being non-trivial

    X1

    scala type of the first input random variable

    X2

    scala type of the second input random variable

    Y

    scala type of the output random variable

    f

    the optional binary operation

    input1

    the first input random variable

    input2

    the second input random variable

    output

    the output random variable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. def conditionedVar[O, Y](input: RandomVar[O], output: RandomVar[Y], condition: Sort[O, Y]): BaseThenCondition[O, Y]
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def just[X](value: X, rv: RandomVar[X]): Atom[X]

    atomic distribution to be included in generation

    atomic distribution to be included in generation

    X

    scala type of the random variable

    value

    the atom

    rv

    random variable whose distribution is specified

    returns

    node for inclusion

  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped