class Gecode::BoolEnum::Extensional::TupleConstraint

Public Instance Methods

post() click to toggle source
# File doc/tmp/rdoc_dev/gecoder/interface/constraints/bool_enum/extensional.rb, line 81
def post
  # Bind lhs.
  lhs = @params[:lhs].to_bool_enum.bind_array

  # Create the tuple set.
  tuple_set = Gecode::Raw::TupleSet.new
  @params[:tuples].each do |tuple|
    tuple_set.add tuple.map{ |b| b ? 1 : 0 }
  end
  tuple_set.finalize

  # Post the constraint.
  Gecode::Raw::extensional(@model.active_space, lhs, tuple_set, 
    *propagation_options)
end