Current section

Files

Jump to
fixpoint lib solver constraints channel.ex
Raw

lib/solver/constraints/channel.ex

defmodule CPSolver.Constraint.Channel do
@moduledoc """
`Channel` constraint.
Given an array of boolean variables `b` and an integer variable `x`,
(b[i] = true) iff (x = i)
"""
use CPSolver.Constraint
def new(x, b) do
new([x | b])
end
@impl true
def propagators([x | b]) do
[
CPSolver.Propagator.Channel.new(x, b)
]
end
end