CPSolver.Space.Propagation (Fixpoint v0.5.6)

Summary

Functions

One 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

Link to this function

propagate(propagators, graph, store)

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

One 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.

Link to this function

run(propagators, store \\ nil)

Link to this function

run(propagators, constraint_graph, store)