Class: Gecode::IntEnum::Arithmetic::IntEnumMaxOperand
- Inherits:
-
Gecode::Int::ShortCircuitEqualityOperand
- Object
- Gecode::Int::ShortCircuitEqualityOperand
- Gecode::IntEnum::Arithmetic::IntEnumMaxOperand
- Defined in:
- lib/gecoder/interface/constraints/int_enum/arithmetic.rb
Overview
:nodoc:
Instance Attribute Summary
Attributes inherited from Gecode::Int::ShortCircuitEqualityOperand
Instance Method Summary collapse
- #constrain_equal(int_operand, constrain, propagation_options) ⇒ Object
-
#initialize(model, int_enum) ⇒ IntEnumMaxOperand
constructor
:nodoc:.
Methods inherited from Gecode::Int::ShortCircuitEqualityOperand
#construct_receiver, #to_int_var
Methods included from Gecode::Int::IntOperand
#*, #+, #-, #abs, #method_missing, #pre_arith_mult, #square_root, #squared
Methods included from Operand
Constructor Details
#initialize(model, int_enum) ⇒ IntEnumMaxOperand
:nodoc:
30 31 32 33 |
# File 'lib/gecoder/interface/constraints/int_enum/arithmetic.rb', line 30 def initialize(model, int_enum) super model @int_enum = int_enum end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Gecode::Int::IntOperand
Instance Method Details
#constrain_equal(int_operand, constrain, propagation_options) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/gecoder/interface/constraints/int_enum/arithmetic.rb', line 35 def constrain_equal(int_operand, constrain, ) enum = @int_enum.to_int_enum if constrain int_operand.must_be.in enum.domain_range end Gecode::Raw::max(@model.active_space, enum.bind_array, int_operand.to_int_var.bind, *) end |