CPSolver.Space.Propagation (Fixpoint v0.10.2)

Summary

Functions

A single pass of propagation. Produces the list (up to implementation) of propagators scheduled for the next pass. Side effect: modifies the constraint graph. The graph will be modified on every individual Propagator.filter/1, if the latter results in any domain changes.

Functions

propagate(propagators, graph)

propagate(propagators, graph, opts)

propagate(propagators, graph, domain_changes, opts)

@spec propagate(map(), Graph.t(), map(), Keyword.t()) ::
  {:fail, reference()} | {map(), Graph.t(), map()}

A single pass of propagation. Produces the list (up to implementation) of propagators scheduled for the next pass. Side effect: modifies the constraint graph. The graph will be modified on every individual Propagator.filter/1, if the latter results in any domain changes.

run(constraint_graph, changes \\ %{}, digraph? \\ false)