Class: Gecode::FixnumEnum::Element::ElementIntOperand
- Inherits:
-
Int::ShortCircuitEqualityOperand
- Object
- Int::ShortCircuitEqualityOperand
- Gecode::FixnumEnum::Element::ElementIntOperand
- Defined in:
- lib/gecoder/interface/constraints/fixnum_enum/element.rb
Overview
:nodoc:
Instance Attribute Summary
Attributes inherited from Int::ShortCircuitEqualityOperand
Instance Method Summary collapse
- #constrain_equal(int_operand, constrain, propagation_options) ⇒ Object
-
#initialize(enum_op, position_int_var_op, model) ⇒ ElementIntOperand
constructor
A new instance of ElementIntOperand.
Methods inherited from Int::ShortCircuitEqualityOperand
#construct_receiver, #to_int_var
Methods included from Int::IntOperand
#*, #+, #-, #abs, #method_missing, #pre_arith_mult, #square_root, #squared
Methods included from Operand
Constructor Details
#initialize(enum_op, position_int_var_op, model) ⇒ ElementIntOperand
Returns a new instance of ElementIntOperand.
46 47 48 49 50 |
# File 'lib/gecoder/interface/constraints/fixnum_enum/element.rb', line 46 def initialize(enum_op, position_int_var_op, model) super model @enum = enum_op @position = position_int_var_op 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
52 53 54 55 56 57 58 59 60 |
# File 'lib/gecoder/interface/constraints/fixnum_enum/element.rb', line 52 def constrain_equal(int_operand, constrain, ) if constrain int_operand.must_be.in @enum end Gecode::Raw::element(@model.active_space, @enum, @position.to_int_var.bind, int_operand.to_int_var.bind, *) end |