EquationSystemBase

abstract class EquationSystemBase[U, V] extends EquationSystem[U, V]

This class implements common utility methods.

trait EquationSystem[U, V]
class Object
trait Matchable
class Any

Value members

Concrete methods

protected def bodyWithBaseAssignment(init: PartialFunction[U, V], comb: (V, V) => V): U => V

Returns a new body, in which the init assignment is combined with the result of body evaluation trough the use of the comb combiner.

Returns a new body, in which the init assignment is combined with the result of body evaluation trough the use of the comb combiner.

protected def bodyWithBoxAssignment(boxes: BoxAssignment[U, V]): U => V

Returns a new body with boxes added to the evaluation. If tracer is defined, the boxEvaluation callback is invoked during evaluation.

Returns a new body with boxes added to the evaluation. If tracer is defined, the boxEvaluation callback is invoked during evaluation.

protected def bodyWithTracer(t: EquationSystemTracer[U, V]): U => V

Returns a new body which calls the current tracer before and after evaluation.

Returns a new body which calls the current tracer before and after evaluation.

Value parameters:
t

the tracer to be called by the new body

Inherited methods

def withBaseAssignment(init: PartialFunction[U, V])(implicit magma: Magma[V]): EquationSystem[U, V]

Combine a base assignment with the equation system. The type V should be endowed with a magma.

Combine a base assignment with the equation system. The type V should be endowed with a magma.

Value parameters:
init

the assignment to add to the equation system

Inherited from:
EquationSystem
def withBoxes(boxes: BoxAssignment[U, V]): EquationSystem[U, V]

Add boxes to the equation system

Add boxes to the equation system

Value parameters:
boxes

a box assignment

Inherited from:
EquationSystem

Add a tracer to the equation system. The tracer contains call-backs to be invoked during body evaluation.

Add a tracer to the equation system. The tracer contains call-backs to be invoked during body evaluation.

Value parameters:
t

the tracer

Inherited from:
EquationSystem

Abstract fields

protected val tracer: Option[EquationSystemTracer[U, V]]

An optional tracer which should be called during body evaluation.

An optional tracer which should be called during body evaluation.

Concrete fields

Implement the bodyWithDependencies method by instrumenting the source assignment in order to record access to unknowns.

Implement the bodyWithDependencies method by instrumenting the source assignment in order to record access to unknowns.

Inherited fields

val body: U => V

The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V].

The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V].

Inherited from:
EquationSystem

An initial value for starting the analyzer

An initial value for starting the analyzer

Inherited from:
EquationSystem
val inputUnknowns: U => Boolean

The unknowns which may be considered the input to this equation system.

The unknowns which may be considered the input to this equation system.

Inherited from:
EquationSystem