PriorityWorkListSolver
object PriorityWorkListSolver
A fixpoint solver based on priority worklists.
Value members
Concrete methods
def apply[U, V](eqs: FiniteEquationSystem[U, V])(start: InputAssignment[U, V], ordering: Ordering[U], restart: (V, V) => Boolean, tracer: FixpointSolverTracer[U, V]): IOAssignment[U, V]
Solve a finite equation system.
Solve a finite equation system.
- Type parameters:
- U
type of the unknowns for the equation system
- V
type of values of the equatiom system
- Value parameters:
- eqs
equation system to solve
- ordering
an ordering which specifies priorities between unknowns (defaults to the depth-first ordering over
eqs
)- restart
at each iteration this function is applied to the new and old values. If it returns true, the analysis of bigger unknown is restarted from the initial value. (defaults to constant
false
)- start
assignment to start the evaluation (defaults to
eqs.initial
)- tracer
a tracer to track the behaviour of the solver (defaults to the empty tracer)
- Returns:
the solution of the equation system