CPSolver.Propagator behaviour (Fixpoint v0.10.2)

Summary

Types

propagator_event()

@type propagator_event() ::
  :domain_change | :bound_change | :min_change | :max_change | :fixed

Callbacks

arguments(args)

@callback arguments(args :: list()) :: Arrays.t()

bind(t, source, variable_field)

@callback bind(Propagator.t(), source :: any(), variable_field :: atom()) ::
  Propagator.t()

entailed?(t, state)

@callback entailed?(Propagator.t(), state :: map() | nil) :: boolean()

failed?(t, state)

@callback failed?(Propagator.t(), state :: map() | nil) :: boolean()

filter(args, state, changes)

@callback filter(args :: list(), state :: map(), changes :: map()) ::
  {:state, map()} | :stable | :fail | propagator_event()

reset(args, state)

@callback reset(args :: list(), state :: map()) :: map() | nil

reset(args, state, opts)

@callback reset(args :: list(), state :: map(), opts :: Keyword.t()) :: map() | nil

variables(args)

@callback variables(args :: list()) :: list()

Functions

arg_at(args, pos)

arg_map(propagator, mapper)

args_to_list(args)

bind(propagator, source, var_field \\ :domain)

bind_to_variable(propagator_var, variable_source, var_field)

bind_to_variables(args, variable_source, var_field)

default_variables_impl(args)

domain_values(p)

dry_run(propagator, opts \\ [])

entailed?(propagator)

failed?(propagator)

filter(propagator, opts \\ [])

is_constant_arg(arg)

new(mod, args, opts \\ [])

propagator_events()

reset(propagator, opts \\ [])

to_domain_events(arg1)

update_state(propagator, state)

variables(propagator)