gecoder 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +7 -0
- data/README +10 -1
- data/example/sudoku-set.rb +16 -13
- data/ext/extconf.rb +26 -9
- data/ext/missing.cpp +1 -1
- data/ext/missing.h +1 -1
- data/ext/vararray.h +4 -4
- data/lib/gecoder/bindings.rb +21 -1
- data/lib/gecoder/bindings/bindings.rb +408 -731
- data/lib/gecoder/interface/binding_changes.rb +1 -1
- data/lib/gecoder/interface/branch.rb +25 -25
- data/lib/gecoder/interface/constraints.rb +47 -4
- data/lib/gecoder/interface/constraints/bool/boolean.rb +18 -16
- data/lib/gecoder/interface/constraints/bool_enum/boolean.rb +13 -11
- data/lib/gecoder/interface/constraints/int/arithmetic.rb +5 -4
- data/lib/gecoder/interface/constraints/int/domain.rb +8 -9
- data/lib/gecoder/interface/constraints/int/linear.rb +10 -8
- data/lib/gecoder/interface/constraints/int_enum/arithmetic.rb +4 -4
- data/lib/gecoder/interface/constraints/int_enum/channel.rb +2 -2
- data/lib/gecoder/interface/constraints/int_enum/count.rb +4 -5
- data/lib/gecoder/interface/constraints/int_enum/distinct.rb +7 -2
- data/lib/gecoder/interface/constraints/int_enum/element.rb +2 -2
- data/lib/gecoder/interface/constraints/int_enum/equality.rb +6 -3
- data/lib/gecoder/interface/constraints/int_enum/sort.rb +17 -5
- data/lib/gecoder/interface/constraints/set_enum/distinct.rb +0 -36
- data/lib/gecoder/interface/constraints/set_var_constraints.rb +5 -0
- data/lib/gecoder/interface/model.rb +3 -3
- data/lib/gecoder/interface/search.rb +5 -4
- data/lib/gecoder/version.rb +1 -1
- data/specs/branch.rb +27 -27
- data/specs/constraints/arithmetic.rb +48 -30
- data/specs/constraints/bool_enum.rb +39 -19
- data/specs/constraints/boolean.rb +10 -10
- data/specs/constraints/cardinality.rb +12 -9
- data/specs/constraints/channel.rb +6 -6
- data/specs/constraints/connection.rb +22 -26
- data/specs/constraints/constraint_helper.rb +125 -41
- data/specs/constraints/count.rb +22 -15
- data/specs/constraints/distinct.rb +10 -64
- data/specs/constraints/element.rb +14 -12
- data/specs/constraints/equality.rb +4 -4
- data/specs/constraints/int_domain.rb +8 -7
- data/specs/constraints/int_relation.rb +12 -8
- data/specs/constraints/linear.rb +4 -4
- data/specs/constraints/reification_sugar.rb +22 -4
- data/specs/constraints/selection.rb +2 -2
- data/specs/constraints/set_domain.rb +7 -3
- data/specs/constraints/set_operation.rb +2 -2
- data/specs/constraints/set_relation.rb +2 -6
- data/specs/constraints/sort.rb +20 -16
- data/specs/distribution.rb +14 -0
- data/specs/model.rb +4 -4
- data/tasks/dependencies.txt +21 -0
- data/tasks/distribution.rake +81 -8
- data/tasks/svn.rake +6 -3
- data/vendor/rust/include/rust_checks.hh +2 -1
- data/vendor/rust/include/rust_conversions.hh +2 -2
- data/vendor/rust/rust/attribute.rb +2 -2
- data/vendor/rust/rust/class.rb +2 -2
- data/vendor/rust/rust/cxxclass.rb +0 -2
- data/vendor/rust/rust/function.rb +2 -2
- data/vendor/rust/rust/templates/AttributeDefinition.rusttpl +1 -1
- data/vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl +1 -1
- data/vendor/rust/rust/templates/VariableFunctionCall.rusttpl +1 -1
- data/vendor/rust/rust/type.rb +1 -1
- metadata +159 -157
    
        data/CHANGES
    CHANGED
    
    | @@ -1,3 +1,10 @@ | |
| 1 | 
            +
            == Version 0.8.0
         | 
| 2 | 
            +
            This release makes the jump from using Gecode 1.3.1 to using Gecode 2.1.1 . 
         | 
| 3 | 
            +
            The following changes have been made to the interface as a result of the jump.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * The distinct constraint for sets has been removed.
         | 
| 6 | 
            +
            * Added the propagation kind option to the non-set constraints.
         | 
| 7 | 
            +
             | 
| 1 8 | 
             
            == Version 0.7.1
         | 
| 2 9 | 
             
            This release adds boolean linear constraints.
         | 
| 3 10 |  | 
    
        data/README
    CHANGED
    
    | @@ -13,14 +13,23 @@ people to play with it and give feedback. | |
| 13 13 |  | 
| 14 14 | 
             
            == Installation
         | 
| 15 15 |  | 
| 16 | 
            -
            Gecode/R requires Gecode 1. | 
| 16 | 
            +
            Gecode/R requires Gecode 2.1.1, which can be downloaded from 
         | 
| 17 17 | 
             
            http://www.gecode.org/download.html . See 
         | 
| 18 18 | 
             
            http://www.gecode.org/gecode-doc-latest/PageComp.html for the installation
         | 
| 19 19 | 
             
            instructions.
         | 
| 20 20 |  | 
| 21 21 | 
             
            === Installing from gem
         | 
| 22 22 |  | 
| 23 | 
            +
            There are two gems. The first includes only Gecode/R, and assumes that you have
         | 
| 24 | 
            +
            installed Gecode yourself. The second includes both Gecode/R and Gecode. If you 
         | 
| 25 | 
            +
            use Windows then you're recommended to use the second one, even though you 
         | 
| 26 | 
            +
            already have Gecode, as the other one does not come in a pre-compiled variant.
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            Gecode/R only:
         | 
| 23 29 | 
             
              gem install gecoder
         | 
| 30 | 
            +
              
         | 
| 31 | 
            +
            Gecode/R and Gecode:
         | 
| 32 | 
            +
              gem install gecoder-with-gecode
         | 
| 24 33 |  | 
| 25 34 | 
             
            === Installing from source using gem
         | 
| 26 35 |  | 
    
        data/example/sudoku-set.rb
    CHANGED
    
    | @@ -8,14 +8,13 @@ class SudokuSet < Gecode::Model | |
| 8 8 | 
             
              # Takes a 9x9 matrix of values in the initial sudoku, 0 if the square is 
         | 
| 9 9 | 
             
              # empty. 
         | 
| 10 10 | 
             
              def initialize(predefined_values)
         | 
| 11 | 
            -
                 | 
| 12 | 
            -
                    predefined_values.row_size == 9
         | 
| 13 | 
            -
                  raise ArgumentError, 'The matrix with predefined values must have ' +
         | 
| 14 | 
            -
                    'dimensions 9x9.'
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
                
         | 
| 11 | 
            +
                # Verify that the input is of a valid size.
         | 
| 17 12 | 
             
                @size = n = predefined_values.row_size
         | 
| 18 | 
            -
                 | 
| 13 | 
            +
                block_size = Math.sqrt(n).round
         | 
| 14 | 
            +
                unless predefined_values.square? and block_size**2 == n
         | 
| 15 | 
            +
                  raise ArgumentError, 'Incorrect value matrix size.'
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
                sub_count = block_size
         | 
| 19 18 |  | 
| 20 19 | 
             
                # Create one set per assignable number (i.e. 1..9). Each set contains the 
         | 
| 21 20 | 
             
                # position of all squares that the number is located in. The squares are 
         | 
| @@ -39,18 +38,22 @@ class SudokuSet < Gecode::Model | |
| 39 38 | 
             
                rows = []
         | 
| 40 39 | 
             
                columns = []
         | 
| 41 40 | 
             
                n.times do |i|
         | 
| 42 | 
            -
                  rows << ((i*n + 1)..(i*n +  | 
| 43 | 
            -
                  columns <<  | 
| 41 | 
            +
                  rows << ((i*n + 1)..(i*n + n))
         | 
| 42 | 
            +
                  columns << (0...n).map{ |e| e*n + 1 + i }
         | 
| 44 43 | 
             
                end
         | 
| 45 44 |  | 
| 46 45 | 
             
                # Build arrays containing the square positions of each block.
         | 
| 47 46 | 
             
                blocks = []
         | 
| 48 | 
            -
                 | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 47 | 
            +
                # The square numbers of the first block.
         | 
| 48 | 
            +
                first_block = (0...block_size).map do |e| 
         | 
| 49 | 
            +
                  ((n*e+1)..(n*e+block_size)).to_a 
         | 
| 50 | 
            +
                end.flatten
         | 
| 51 | 
            +
                block_size.times do |i|
         | 
| 52 | 
            +
                  block_size.times do |j| 
         | 
| 53 | 
            +
                    blocks << first_block.map{ |e| e + (j*n*block_size)+(i*block_size) }
         | 
| 51 54 | 
             
                  end
         | 
| 52 55 | 
             
                end
         | 
| 53 | 
            -
             | 
| 56 | 
            +
             | 
| 54 57 | 
             
                # All sets must be pairwise disjoint since two numbers can't be assigned to
         | 
| 55 58 | 
             
                # the same square.
         | 
| 56 59 | 
             
                n.times do |i|
         | 
    
        data/ext/extconf.rb
    CHANGED
    
    | @@ -1,26 +1,43 @@ | |
| 1 1 | 
             
            require 'mkmf'
         | 
| 2 2 | 
             
            require 'pathname'
         | 
| 3 3 |  | 
| 4 | 
            -
            # Find the Gecode libraries.
         | 
| 5 | 
            -
            find_library("gecodeint", "" )
         | 
| 6 | 
            -
            find_library("gecodekernel", "")
         | 
| 7 | 
            -
            find_library("gecodeminimodel", "")
         | 
| 8 | 
            -
            find_library("gecodesearch", "")
         | 
| 9 | 
            -
            find_library("gecodeset", "")
         | 
| 10 | 
            -
             | 
| 11 4 | 
             
            # Set up some important locations.
         | 
| 12 5 | 
             
            ROOT = Pathname.new(File.dirname(__FILE__) + '/..').realpath
         | 
| 13 6 | 
             
            RUST_INCLUDES = "#{ROOT}/vendor/rust/include"
         | 
| 14 7 | 
             
            BINDINGS_DIR = "#{ROOT}/lib/gecoder/bindings" 
         | 
| 15 8 | 
             
            EXT_DIR = "#{ROOT}/ext"
         | 
| 16 9 | 
             
            ORIGINAL_DIR = Pathname.new('.').realpath
         | 
| 10 | 
            +
            # The Gecode libraries are placed in the lib directory when using the 
         | 
| 11 | 
            +
            # gecoder-with-gecode distribution.
         | 
| 12 | 
            +
            GECODE_LIB_DIR = "#{ROOT}/lib/lib"
         | 
| 13 | 
            +
            GECODE_INCLUDE_DIR = "#{ROOT}/lib/include"
         | 
| 14 | 
            +
            distributed_with_gecode = File.exist?(GECODE_LIB_DIR) and 
         | 
| 15 | 
            +
              File.exist?(GECODE_INCLUDE_DIR)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            # Find the Gecode libraries.
         | 
| 18 | 
            +
            find_library("gecodesupport", "", GECODE_LIB_DIR)
         | 
| 19 | 
            +
            find_library("gecodekernel", "", GECODE_LIB_DIR)
         | 
| 20 | 
            +
            find_library("gecodeint", "", GECODE_LIB_DIR)
         | 
| 21 | 
            +
            find_library("gecodeset", "", GECODE_LIB_DIR)
         | 
| 22 | 
            +
            find_library("gecodesearch", "", GECODE_LIB_DIR)
         | 
| 23 | 
            +
            find_library("gecodeminimodel", "", GECODE_LIB_DIR)
         | 
| 17 24 |  | 
| 18 25 | 
             
            cppflags = "-I#{RUST_INCLUDES} -I#{EXT_DIR}"
         | 
| 26 | 
            +
            cppflags << " -I#{GECODE_INCLUDE_DIR}" if distributed_with_gecode
         | 
| 19 27 | 
             
            with_cppflags(cppflags) {
         | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 28 | 
            +
              find_header("rust_conversions.hh", RUST_INCLUDES)
         | 
| 29 | 
            +
              find_header("rust_checks.hh", RUST_INCLUDES)
         | 
| 22 30 | 
             
            }
         | 
| 23 31 |  | 
| 32 | 
            +
            if distributed_with_gecode
         | 
| 33 | 
            +
              # This is an ugly way to set LD_RUN_PATH. I couldn't see any other way provided 
         | 
| 34 | 
            +
              # by mkmf or RubyGems.
         | 
| 35 | 
            +
              alias old_configuration configuration
         | 
| 36 | 
            +
              def configuration(srcdir)
         | 
| 37 | 
            +
                old_configuration(srcdir) << "export LD_RUN_PATH=#{GECODE_LIB_DIR}"
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
            end
         | 
| 40 | 
            +
             | 
| 24 41 | 
             
            # Load the specification of the bindings. This creates the headers in the 
         | 
| 25 42 | 
             
            # current directory.
         | 
| 26 43 | 
             
            load "#{BINDINGS_DIR}/bindings.rb"
         | 
    
        data/ext/missing.cpp
    CHANGED
    
    | @@ -271,7 +271,7 @@ MDFS::~MDFS() | |
| 271 271 |  | 
| 272 272 |  | 
| 273 273 | 
             
            // BAB
         | 
| 274 | 
            -
            MBAB::MBAB(MSpace *space,  | 
| 274 | 
            +
            MBAB::MBAB(MSpace *space, const Search::Options &o) : Gecode::BAB<MSpace>(space, o)
         | 
| 275 275 | 
             
            {
         | 
| 276 276 | 
             
            }
         | 
| 277 277 |  | 
    
        data/ext/missing.h
    CHANGED
    
    
    
        data/ext/vararray.h
    CHANGED
    
    | @@ -111,13 +111,13 @@ class MSetVarArray : public MVarArray | |
| 111 111 | 
             
            		MSetVarArray(const Gecode::SetVarArray &arr);
         | 
| 112 112 |  | 
| 113 113 | 
             
            		MSetVarArray(Space *home, int n);
         | 
| 114 | 
            -
            		MSetVarArray(Space *home, int n, int glbMin, int glbMax, int lubMin, int lubMax, unsigned int minCard=0, unsigned int maxCard=Limits:: | 
| 114 | 
            +
            		MSetVarArray(Space *home, int n, int glbMin, int glbMax, int lubMin, int lubMax, unsigned int minCard=0, unsigned int maxCard=Set::Limits::card);
         | 
| 115 115 |  | 
| 116 | 
            -
            		MSetVarArray(Space *home, int n, const IntSet &glb, int lubMin, int lubMax, unsigned int minCard=0, unsigned int maxCard=Limits:: | 
| 116 | 
            +
            		MSetVarArray(Space *home, int n, const IntSet &glb, int lubMin, int lubMax, unsigned int minCard=0, unsigned int maxCard=Set::Limits::card);
         | 
| 117 117 |  | 
| 118 | 
            -
            		MSetVarArray(Space *home, int n, int glbMin, int glbMax, const IntSet &lub, unsigned int minCard=0, unsigned int maxCard=Limits:: | 
| 118 | 
            +
            		MSetVarArray(Space *home, int n, int glbMin, int glbMax, const IntSet &lub, unsigned int minCard=0, unsigned int maxCard=Set::Limits::card);
         | 
| 119 119 |  | 
| 120 | 
            -
            		MSetVarArray(Space *home, int n, const IntSet &glb, const IntSet &lub, unsigned int minCard=0, unsigned int maxCard=Limits:: | 
| 120 | 
            +
            		MSetVarArray(Space *home, int n, const IntSet &glb, const IntSet &lub, unsigned int minCard=0, unsigned int maxCard=Set::Limits::card);
         | 
| 121 121 |  | 
| 122 122 | 
             
            		~MSetVarArray();
         | 
| 123 123 |  | 
    
        data/lib/gecoder/bindings.rb
    CHANGED
    
    | @@ -1,5 +1,25 @@ | |
| 1 | 
            -
            require 'gecode.so'
         | 
| 2 1 | 
             
            module Gecode
         | 
| 2 | 
            +
              # Loads the binding libraries. This is done as a method in order to be easier
         | 
| 3 | 
            +
              # to test. 
         | 
| 4 | 
            +
              def self.load_bindings_lib #:nodoc:
         | 
| 5 | 
            +
                # Workaround to get the precompiled DLLs into the DLL search path on 
         | 
| 6 | 
            +
                # Windows.
         | 
| 7 | 
            +
                dll_dir = File.dirname(__FILE__) + '/../../vendor/gecode/win32/lib'
         | 
| 8 | 
            +
                if RUBY_PLATFORM =~ /mswin/ and File.exists? dll_dir
         | 
| 9 | 
            +
                  # Switch directory while loading libraries so that the DLLs are in the 
         | 
| 10 | 
            +
                  # work directory.
         | 
| 11 | 
            +
                  require 'fileutils'
         | 
| 12 | 
            +
                  FileUtils.cd dll_dir do
         | 
| 13 | 
            +
                    require 'gecode'
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
                else
         | 
| 16 | 
            +
                  require 'gecode'
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end  
         | 
| 19 | 
            +
              
         | 
| 20 | 
            +
              # Load the bindings library.
         | 
| 21 | 
            +
              load_bindings_lib  
         | 
| 22 | 
            +
              
         | 
| 3 23 | 
             
              # The Gecode::Raw module is what the interface should use to access methods
         | 
| 4 24 | 
             
              # in Gecode. The actual bindings are located in ::GecodeRaw.
         | 
| 5 25 |  | 
| @@ -74,6 +74,7 @@ end_custom_definition | |
| 74 74 | 
             
            Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
         | 
| 75 75 | 
             
              b.include_header 'gecode/kernel.hh', Rust::Bindings::HeaderGlobal
         | 
| 76 76 | 
             
              b.include_header 'gecode/int.hh', Rust::Bindings::HeaderGlobal
         | 
| 77 | 
            +
              b.include_header 'gecode/set.hh', Rust::Bindings::HeaderGlobal
         | 
| 77 78 | 
             
              b.include_header 'gecode/search.hh', Rust::Bindings::HeaderGlobal
         | 
| 78 79 | 
             
              b.include_header 'gecode/minimodel.hh', Rust::Bindings::HeaderGlobal
         | 
| 79 80 | 
             
              b.include_header 'missing.h', Rust::Bindings::HeaderLocal
         | 
| @@ -85,42 +86,41 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 85 86 | 
             
              # Gecode::Raw instead of GecodeRaw here (and avoid the hidious renaming)
         | 
| 86 87 | 
             
              # when requiring them.
         | 
| 87 88 | 
             
              b.add_namespace "GecodeRaw", "Gecode" do |ns|
         | 
| 88 | 
            -
                ns.add_enum " | 
| 89 | 
            -
                  enum.add_value " | 
| 90 | 
            -
                  enum.add_value " | 
| 91 | 
            -
                  enum.add_value " | 
| 92 | 
            -
                  enum.add_value " | 
| 93 | 
            -
                  enum.add_value " | 
| 94 | 
            -
                  enum.add_value " | 
| 95 | 
            -
                  enum.add_value " | 
| 96 | 
            -
                  enum.add_value " | 
| 97 | 
            -
                  enum.add_value " | 
| 98 | 
            -
                  enum.add_value " | 
| 99 | 
            -
                  enum.add_value " | 
| 100 | 
            -
                  enum.add_value " | 
| 101 | 
            -
                  enum.add_value " | 
| 102 | 
            -
                end
         | 
| 103 | 
            -
                
         | 
| 104 | 
            -
                ns.add_enum " | 
| 105 | 
            -
                  enum.add_value " | 
| 106 | 
            -
                  enum.add_value " | 
| 107 | 
            -
                  enum.add_value " | 
| 108 | 
            -
                  enum.add_value " | 
| 109 | 
            -
                  enum.add_value " | 
| 110 | 
            -
                end
         | 
| 111 | 
            -
                
         | 
| 112 | 
            -
             | 
| 113 | 
            -
                  enum.add_value " | 
| 114 | 
            -
                  enum.add_value " | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 118 | 
            -
                 | 
| 119 | 
            -
             | 
| 120 | 
            -
             | 
| 121 | 
            -
                  enum.add_value " | 
| 122 | 
            -
                  enum.add_value " | 
| 123 | 
            -
                  enum.add_value "BVAL_SPLIT_MAX"
         | 
| 89 | 
            +
                ns.add_enum "IntVarBranch" do |enum|
         | 
| 90 | 
            +
                  enum.add_value "INT_VAR_NONE"
         | 
| 91 | 
            +
                  enum.add_value "INT_VAR_MIN_MIN"
         | 
| 92 | 
            +
                  enum.add_value "INT_VAR_MIN_MAX"
         | 
| 93 | 
            +
                  enum.add_value "INT_VAR_MAX_MIN"
         | 
| 94 | 
            +
                  enum.add_value "INT_VAR_MAX_MAX"
         | 
| 95 | 
            +
                  enum.add_value "INT_VAR_SIZE_MIN"
         | 
| 96 | 
            +
                  enum.add_value "INT_VAR_SIZE_MAX"
         | 
| 97 | 
            +
                  enum.add_value "INT_VAR_DEGREE_MAX"
         | 
| 98 | 
            +
                  enum.add_value "INT_VAR_DEGREE_MIN"
         | 
| 99 | 
            +
                  enum.add_value "INT_VAR_REGRET_MIN_MIN"
         | 
| 100 | 
            +
                  enum.add_value "INT_VAR_REGRET_MIN_MAX"
         | 
| 101 | 
            +
                  enum.add_value "INT_VAR_REGRET_MAX_MIN"
         | 
| 102 | 
            +
                  enum.add_value "INT_VAR_REGRET_MAX_MAX"
         | 
| 103 | 
            +
                end
         | 
| 104 | 
            +
                
         | 
| 105 | 
            +
                ns.add_enum "IntValBranch" do |enum|
         | 
| 106 | 
            +
                  enum.add_value "INT_VAL_MIN"
         | 
| 107 | 
            +
                  enum.add_value "INT_VAL_MED"
         | 
| 108 | 
            +
                  enum.add_value "INT_VAL_MAX"
         | 
| 109 | 
            +
                  enum.add_value "INT_VAL_SPLIT_MIN"
         | 
| 110 | 
            +
                  enum.add_value "INT_VAL_SPLIT_MAX"
         | 
| 111 | 
            +
                end    
         | 
| 112 | 
            +
                
         | 
| 113 | 
            +
                ns.add_enum "SetVarBranch" do |enum|
         | 
| 114 | 
            +
                  enum.add_value "SET_VAR_NONE"
         | 
| 115 | 
            +
                  enum.add_value "SET_VAR_MIN_CARD"
         | 
| 116 | 
            +
                  enum.add_value "SET_VAR_MAX_CARD"
         | 
| 117 | 
            +
                  enum.add_value "SET_VAR_MIN_UNKNOWN_ELEM"
         | 
| 118 | 
            +
                  enum.add_value "SET_VAR_MAX_UNKNOWN_ELEM"
         | 
| 119 | 
            +
                end
         | 
| 120 | 
            +
                
         | 
| 121 | 
            +
                ns.add_enum "SetValBranch" do |enum|
         | 
| 122 | 
            +
                  enum.add_value "SET_VAL_MIN"
         | 
| 123 | 
            +
                  enum.add_value "SET_VAL_MAX"
         | 
| 124 124 | 
             
                end
         | 
| 125 125 |  | 
| 126 126 | 
             
                ns.add_enum "IntRelType" do |enum|
         | 
| @@ -132,6 +132,14 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 132 132 | 
             
                  enum.add_value "IRT_GR"
         | 
| 133 133 | 
             
                end
         | 
| 134 134 |  | 
| 135 | 
            +
                ns.add_enum "BoolOpType" do |enum|
         | 
| 136 | 
            +
                  enum.add_value "BOT_AND"
         | 
| 137 | 
            +
                  enum.add_value "BOT_OR"
         | 
| 138 | 
            +
                  enum.add_value "BOT_IMP"
         | 
| 139 | 
            +
                  enum.add_value "BOT_EQV"
         | 
| 140 | 
            +
                  enum.add_value "BOT_XOR"
         | 
| 141 | 
            +
                end
         | 
| 142 | 
            +
                
         | 
| 135 143 | 
             
                ns.add_enum "SetRelType" do |enum|
         | 
| 136 144 | 
             
                  enum.add_value "SRT_EQ"
         | 
| 137 145 | 
             
                  enum.add_value "SRT_NQ"
         | 
| @@ -155,16 +163,22 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 155 163 | 
             
                  enum.add_value "ICL_DEF"
         | 
| 156 164 | 
             
                end
         | 
| 157 165 |  | 
| 166 | 
            +
                ns.add_enum "PropKind" do |enum|
         | 
| 167 | 
            +
                  enum.add_value "PK_DEF"
         | 
| 168 | 
            +
                  enum.add_value "PK_SPEED"
         | 
| 169 | 
            +
                  enum.add_value "PK_MEMORY"
         | 
| 170 | 
            +
                end
         | 
| 171 | 
            +
                
         | 
| 158 172 | 
             
                ns.add_enum "SpaceStatus" do |enum|
         | 
| 159 173 | 
             
                  enum.add_value "SS_FAILED"
         | 
| 160 174 | 
             
                  enum.add_value "SS_SOLVED"
         | 
| 161 175 | 
             
                  enum.add_value "SS_BRANCH"
         | 
| 162 176 | 
             
                end
         | 
| 163 177 |  | 
| 164 | 
            -
                ns.add_enum " | 
| 165 | 
            -
                  enum.add_value " | 
| 166 | 
            -
                  enum.add_value " | 
| 167 | 
            -
                  enum.add_value " | 
| 178 | 
            +
                ns.add_enum "IntAssign" do |enum|
         | 
| 179 | 
            +
                  enum.add_value "INT_ASSIGN_MIN"
         | 
| 180 | 
            +
                  enum.add_value "INT_ASSIGN_MED"
         | 
| 181 | 
            +
                  enum.add_value "INT_ASSIGN_MAX"
         | 
| 168 182 | 
             
                end
         | 
| 169 183 |  | 
| 170 184 | 
             
                ns.add_cxx_class "MIntVarArray" do |klass|
         | 
| @@ -378,9 +392,11 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 378 392 | 
             
                  klass.add_method "propagators", "int"
         | 
| 379 393 | 
             
                  klass.add_method "branchings", "int"
         | 
| 380 394 | 
             
                  klass.add_method "failed", "bool"
         | 
| 381 | 
            -
                  klass.add_method "cached", "int"
         | 
| 382 395 |  | 
| 383 | 
            -
                   | 
| 396 | 
            +
                  # The description method is commented out because it overlaps with the 
         | 
| 397 | 
            +
                  # description method used by rspec, and isn't used directly in the 
         | 
| 398 | 
            +
                  # interface.
         | 
| 399 | 
            +
                  #klass.add_method "mdescription", "Gecode::MBranchingDesc *", "description"
         | 
| 384 400 |  | 
| 385 401 | 
             
                  klass.add_method "commit" do |method|
         | 
| 386 402 | 
             
                    method.add_parameter "Gecode::MBranchingDesc", "desc" do |param|
         | 
| @@ -390,18 +406,19 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 390 406 | 
             
                  end
         | 
| 391 407 | 
             
                end
         | 
| 392 408 |  | 
| 393 | 
            -
                 | 
| 394 | 
            -
             | 
| 395 | 
            -
             | 
| 396 | 
            -
             | 
| 397 | 
            -
             | 
| 398 | 
            -
             | 
| 399 | 
            -
                   | 
| 400 | 
            -
             | 
| 401 | 
            -
             | 
| 402 | 
            -
             | 
| 403 | 
            -
             | 
| 404 | 
            -
                   | 
| 409 | 
            +
                # The namespace structure doesn't completely mimic Gecode's namespace 
         | 
| 410 | 
            +
                # structure. This is because there's apparently some limitation that 
         | 
| 411 | 
            +
                # prevents two namespaces from having the same name (Limits), regardless
         | 
| 412 | 
            +
                # of if they have the same parent or not. 
         | 
| 413 | 
            +
                ns.add_namespace "IntLimits" do |limitsns|
         | 
| 414 | 
            +
                  limitsns.add_constant "MAX", "Gecode::Int::Limits::max"
         | 
| 415 | 
            +
                  limitsns.add_constant "MIN", "Gecode::Int::Limits::min"
         | 
| 416 | 
            +
                end
         | 
| 417 | 
            +
             | 
| 418 | 
            +
                ns.add_namespace "SetLimits" do |limitsns|
         | 
| 419 | 
            +
                  limitsns.add_constant "MAX", "Gecode::Set::Limits::max"
         | 
| 420 | 
            +
                  limitsns.add_constant "MIN", "Gecode::Set::Limits::min"
         | 
| 421 | 
            +
                  limitsns.add_constant "CARD", "Gecode::Set::Limits::card"
         | 
| 405 422 | 
             
                end
         | 
| 406 423 |  | 
| 407 424 | 
             
                ns.add_cxx_class "IntSet" do |klass|
         | 
| @@ -465,23 +482,23 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 465 482 | 
             
                    method.add_parameter "Gecode::IntVar", "x"
         | 
| 466 483 | 
             
                  end
         | 
| 467 484 |  | 
| 468 | 
            -
                  klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 485 | 
            +
                  klass.add_operator "+", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
         | 
| 469 486 | 
             
                    operator.add_parameter("int", "i")
         | 
| 470 487 | 
             
                  end
         | 
| 471 488 |  | 
| 472 | 
            -
                  klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 489 | 
            +
                  klass.add_operator "-", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
         | 
| 473 490 | 
             
                    operator.add_parameter("int", "i")
         | 
| 474 491 | 
             
                  end
         | 
| 475 492 |  | 
| 476 | 
            -
                  klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 493 | 
            +
                  klass.add_operator "*", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
         | 
| 477 494 | 
             
                    operator.add_parameter("int", "i")
         | 
| 478 495 | 
             
                  end
         | 
| 479 496 |  | 
| 480 | 
            -
                  klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
         | 
| 497 | 
            +
                  klass.add_operator "!=", "Gecode::MiniModel::LinRel<Gecode::IntVar>", "different" do |operator|
         | 
| 481 498 | 
             
                    operator.add_parameter("Gecode::IntVar", "other")
         | 
| 482 499 | 
             
                  end
         | 
| 483 500 |  | 
| 484 | 
            -
                  klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
         | 
| 501 | 
            +
                  klass.add_operator "==", "Gecode::MiniModel::LinRel<Gecode::IntVar>", "equal" do |operator|
         | 
| 485 502 | 
             
                    operator.add_parameter("Gecode::IntVar", "other")
         | 
| 486 503 | 
             
                  end
         | 
| 487 504 |  | 
| @@ -494,9 +511,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 494 511 | 
             
                    method.add_parameter "int", "min"
         | 
| 495 512 | 
             
                    method.add_parameter "int", "max"
         | 
| 496 513 | 
             
                  end
         | 
| 497 | 
            -
                  klass.add_constructor do |method|
         | 
| 498 | 
            -
                    method.add_parameter "Gecode::IntVar", "x"
         | 
| 499 | 
            -
                  end
         | 
| 500 514 |  | 
| 501 515 | 
             
                  klass.add_method "max", "int"
         | 
| 502 516 |  | 
| @@ -519,24 +533,24 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 519 533 | 
             
                    method.add_parameter "Gecode::BoolVar", "x"
         | 
| 520 534 | 
             
                  end
         | 
| 521 535 |  | 
| 522 | 
            -
                  klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 536 | 
            +
                  klass.add_operator "+", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
         | 
| 523 537 | 
             
                    operator.add_parameter("int", "i")
         | 
| 524 538 | 
             
                  end
         | 
| 525 539 |  | 
| 526 | 
            -
                  klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 540 | 
            +
                  klass.add_operator "-", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
         | 
| 527 541 | 
             
                    operator.add_parameter("int", "i")
         | 
| 528 542 | 
             
                  end
         | 
| 529 543 |  | 
| 530 | 
            -
                  klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 544 | 
            +
                  klass.add_operator "*", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
         | 
| 531 545 | 
             
                    operator.add_parameter("int", "i")
         | 
| 532 546 | 
             
                  end
         | 
| 533 547 |  | 
| 534 | 
            -
                  klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
         | 
| 535 | 
            -
                    operator.add_parameter("Gecode:: | 
| 548 | 
            +
                  klass.add_operator "!=", "Gecode::MiniModel::LinRel<Gecode::BoolVar>", "different" do |operator|
         | 
| 549 | 
            +
                    operator.add_parameter("Gecode::BoolVar", "other")
         | 
| 536 550 | 
             
                  end
         | 
| 537 551 |  | 
| 538 | 
            -
                  klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
         | 
| 539 | 
            -
                    operator.add_parameter("Gecode:: | 
| 552 | 
            +
                  klass.add_operator "==", "Gecode::MiniModel::LinRel<Gecode::BoolVar>", "equal" do |operator|
         | 
| 553 | 
            +
                    operator.add_parameter("Gecode::BoolVar", "other")
         | 
| 540 554 | 
             
                  end
         | 
| 541 555 | 
             
                end
         | 
| 542 556 |  | 
| @@ -625,9 +639,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 625 639 | 
             
                  klass.bindname = "BAB"
         | 
| 626 640 | 
             
                  klass.add_constructor do |method|
         | 
| 627 641 | 
             
                    method.add_parameter "Gecode::MSpace *", "s"
         | 
| 628 | 
            -
                    method.add_parameter " | 
| 629 | 
            -
                    method.add_parameter "int", "a_d"
         | 
| 630 | 
            -
                    method.add_parameter "Gecode::Search::MStop *", "st"
         | 
| 642 | 
            +
                    method.add_parameter "Gecode::Search::Options", "o"
         | 
| 631 643 | 
             
                  end
         | 
| 632 644 |  | 
| 633 645 | 
             
                  klass.add_method "next", "Gecode::MSpace *"
         | 
| @@ -651,6 +663,13 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 651 663 | 
             
                    klass.add_attribute "commit", "int"
         | 
| 652 664 | 
             
                  end
         | 
| 653 665 |  | 
| 666 | 
            +
                  searchns.add_cxx_class "Options" do |klass|
         | 
| 667 | 
            +
                    klass.add_constructor
         | 
| 668 | 
            +
                    klass.add_attribute "c_d", "int"
         | 
| 669 | 
            +
                    klass.add_attribute "a_d", "int"
         | 
| 670 | 
            +
                    klass.add_attribute "stop", "Gecode::Search::MStop*"
         | 
| 671 | 
            +
                  end
         | 
| 672 | 
            +
                  
         | 
| 654 673 | 
             
                  searchns.add_namespace "Config" do |intns|
         | 
| 655 674 | 
             
                    intns.add_constant "ADAPTIVE_DISTANCE", "Gecode::Search::Config::a_d"
         | 
| 656 675 | 
             
                    intns.add_constant "MINIMAL_DISTANCE", "Gecode::Search::Config::c_d"
         | 
| @@ -660,68 +679,74 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 660 679 | 
             
                # MINIMODEL NAMESPACE
         | 
| 661 680 |  | 
| 662 681 | 
             
                ns.add_namespace "MiniModel" do |minimodelns|
         | 
| 663 | 
            -
                   | 
| 664 | 
            -
                    klass | 
| 665 | 
            -
             | 
| 666 | 
            -
                    klass.add_method "post" do |method|
         | 
| 667 | 
            -
                      method.add_parameter "Gecode::MSpace *", "home"
         | 
| 668 | 
            -
                      method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 669 | 
            -
                      method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 670 | 
            -
                    end
         | 
| 671 | 
            -
                    
         | 
| 672 | 
            -
                    klass.add_method "post" do |method|
         | 
| 673 | 
            -
                      method.add_parameter "Gecode::MSpace *", "home"
         | 
| 674 | 
            -
                      method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 675 | 
            -
                      method.add_parameter "Gecode::BoolVar", "b"
         | 
| 676 | 
            -
                    end
         | 
| 677 | 
            -
                    
         | 
| 678 | 
            -
                    klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 679 | 
            -
                      operator.add_parameter("Gecode::MiniModel::LinExpr", "exp")
         | 
| 680 | 
            -
                    end
         | 
| 681 | 
            -
                    
         | 
| 682 | 
            -
                    klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 683 | 
            -
                      operator.add_parameter("Gecode::IntVar", "exp")
         | 
| 684 | 
            -
                    end
         | 
| 685 | 
            -
                    
         | 
| 686 | 
            -
                    klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 687 | 
            -
                      operator.add_parameter("int", "c")
         | 
| 688 | 
            -
                    end
         | 
| 689 | 
            -
                    
         | 
| 690 | 
            -
                    klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 691 | 
            -
                      operator.add_parameter("Gecode::MiniModel::LinExpr", "exp")
         | 
| 692 | 
            -
                    end
         | 
| 693 | 
            -
                    
         | 
| 694 | 
            -
                    klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 695 | 
            -
                      operator.add_parameter("Gecode::IntVar", "exp")
         | 
| 696 | 
            -
                    end
         | 
| 697 | 
            -
                    
         | 
| 698 | 
            -
                    klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 699 | 
            -
                      operator.add_parameter("int", "c")
         | 
| 700 | 
            -
                    end
         | 
| 701 | 
            -
                    
         | 
| 702 | 
            -
                    klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
         | 
| 703 | 
            -
                      operator.add_parameter("int", "c")
         | 
| 704 | 
            -
                    end
         | 
| 705 | 
            -
                    
         | 
| 706 | 
            -
                    klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
         | 
| 707 | 
            -
                      operator.add_parameter "Gecode::MiniModel::LinExpr", "other"
         | 
| 708 | 
            -
                    end
         | 
| 682 | 
            +
                  ['Gecode::IntVar', 'Gecode::BoolVar'].each do |template_type|
         | 
| 683 | 
            +
                    minimodelns.add_cxx_class "LinExpr<#{template_type}>" do |klass|
         | 
| 684 | 
            +
                      klass.add_constructor
         | 
| 709 685 |  | 
| 710 | 
            -
             | 
| 711 | 
            -
             | 
| 686 | 
            +
                      klass.add_method "post" do |method|
         | 
| 687 | 
            +
                        method.add_parameter "Gecode::MSpace *", "home"
         | 
| 688 | 
            +
                        method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 689 | 
            +
                        method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 690 | 
            +
                        method.add_parameter "Gecode::PropKind", "pk"
         | 
| 691 | 
            +
                      end
         | 
| 692 | 
            +
                      
         | 
| 693 | 
            +
                      klass.add_method "post" do |method|
         | 
| 694 | 
            +
                        method.add_parameter "Gecode::MSpace *", "home"
         | 
| 695 | 
            +
                        method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 696 | 
            +
                        method.add_parameter "Gecode::BoolVar", "b"
         | 
| 697 | 
            +
                        method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 698 | 
            +
                        method.add_parameter "Gecode::PropKind", "pk"
         | 
| 699 | 
            +
                      end
         | 
| 700 | 
            +
                      
         | 
| 701 | 
            +
                      klass.add_operator "+", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 702 | 
            +
                        operator.add_parameter("Gecode::MiniModel::LinExpr<#{template_type}>", "exp")
         | 
| 703 | 
            +
                      end
         | 
| 704 | 
            +
                      
         | 
| 705 | 
            +
                      klass.add_operator "+", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 706 | 
            +
                        operator.add_parameter(template_type, "exp")
         | 
| 707 | 
            +
                      end
         | 
| 708 | 
            +
                      
         | 
| 709 | 
            +
                      klass.add_operator "+", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 710 | 
            +
                        operator.add_parameter("int", "c")
         | 
| 711 | 
            +
                      end
         | 
| 712 | 
            +
                      
         | 
| 713 | 
            +
                      klass.add_operator "-", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 714 | 
            +
                        operator.add_parameter("Gecode::MiniModel::LinExpr<#{template_type}>", "exp")
         | 
| 715 | 
            +
                      end
         | 
| 716 | 
            +
                      
         | 
| 717 | 
            +
                      klass.add_operator "-", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 718 | 
            +
                        operator.add_parameter(template_type, "exp")
         | 
| 719 | 
            +
                      end
         | 
| 720 | 
            +
                      
         | 
| 721 | 
            +
                      klass.add_operator "-", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 722 | 
            +
                        operator.add_parameter("int", "c")
         | 
| 723 | 
            +
                      end
         | 
| 724 | 
            +
                      
         | 
| 725 | 
            +
                      klass.add_operator "*", "Gecode::MiniModel::LinExpr<#{template_type}>" do |operator|
         | 
| 726 | 
            +
                        operator.add_parameter("int", "c")
         | 
| 727 | 
            +
                      end
         | 
| 728 | 
            +
                      
         | 
| 729 | 
            +
                      klass.add_operator "==", "Gecode::MiniModel::LinRel<#{template_type}>", "equal" do |operator|
         | 
| 730 | 
            +
                        operator.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "other"
         | 
| 731 | 
            +
                      end
         | 
| 732 | 
            +
                      
         | 
| 733 | 
            +
                      klass.add_operator "!=", "Gecode::MiniModel::LinRel<#{template_type}>", "different" do |operator|
         | 
| 734 | 
            +
                        operator.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "other"
         | 
| 735 | 
            +
                      end
         | 
| 712 736 | 
             
                    end
         | 
| 713 737 | 
             
                  end
         | 
| 714 738 |  | 
| 715 739 | 
             
                  minimodelns.add_cxx_class "BoolExpr" do |klass| # TODO
         | 
| 716 740 | 
             
                    klass.add_enum "NodeType" do |enum|
         | 
| 717 | 
            -
                      enum.add_value " | 
| 718 | 
            -
                      enum.add_value " | 
| 719 | 
            -
                      enum.add_value " | 
| 720 | 
            -
                      enum.add_value " | 
| 721 | 
            -
                      enum.add_value " | 
| 722 | 
            -
                      enum.add_value " | 
| 723 | 
            -
                      enum.add_value " | 
| 724 | 
            -
                      enum.add_value " | 
| 741 | 
            +
                      enum.add_value "NT_VAR"
         | 
| 742 | 
            +
                      enum.add_value "NT_NOT"
         | 
| 743 | 
            +
                      enum.add_value "NT_AND"
         | 
| 744 | 
            +
                      enum.add_value "NT_OR"
         | 
| 745 | 
            +
                      enum.add_value "NT_IMP"
         | 
| 746 | 
            +
                      enum.add_value "NT_XOR"
         | 
| 747 | 
            +
                      enum.add_value "NT_EQV"
         | 
| 748 | 
            +
                      enum.add_value "NT_RLIN_INT"
         | 
| 749 | 
            +
                      enum.add_value "NT_RLIN_BOOL"
         | 
| 725 750 | 
             
                    end
         | 
| 726 751 | 
             
                    klass.add_constructor do |method|
         | 
| 727 752 | 
             
                      method.add_parameter "Gecode::MiniModel::BoolExpr", "e"
         | 
| @@ -743,16 +768,24 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 743 768 | 
             
                    end
         | 
| 744 769 |  | 
| 745 770 | 
             
                    klass.add_constructor do |method|
         | 
| 746 | 
            -
                      method.add_parameter "Gecode::MiniModel::LinRel", "e"
         | 
| 771 | 
            +
                      method.add_parameter "Gecode::MiniModel::LinRel<Gecode::IntVar>", "e"
         | 
| 747 772 | 
             
                    end
         | 
| 748 773 |  | 
| 774 | 
            +
                    klass.add_constructor do |method|
         | 
| 775 | 
            +
                      method.add_parameter "Gecode::MiniModel::LinRel<Gecode::BoolVar>", "e"
         | 
| 776 | 
            +
                    end        
         | 
| 777 | 
            +
                    
         | 
| 749 778 | 
             
                    klass.add_method "post" do |method|
         | 
| 750 779 | 
             
                      method.add_parameter "Gecode::MSpace *", "home"
         | 
| 780 | 
            +
                      method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 781 | 
            +
                      method.add_parameter "Gecode::PropKind", "pk"
         | 
| 751 782 | 
             
                    end
         | 
| 752 783 |  | 
| 753 784 | 
             
                    klass.add_method "post" do |method|
         | 
| 754 785 | 
             
                      method.add_parameter "Gecode::MSpace *", "home"
         | 
| 755 786 | 
             
                      method.add_parameter "bool", "t"
         | 
| 787 | 
            +
                      method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 788 | 
            +
                      method.add_parameter "Gecode::PropKind", "pk"
         | 
| 756 789 | 
             
                    end
         | 
| 757 790 | 
             
                  end
         | 
| 758 791 |  | 
| @@ -763,40 +796,42 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 763 796 | 
             
                    end
         | 
| 764 797 | 
             
                  end
         | 
| 765 798 |  | 
| 766 | 
            -
                   | 
| 767 | 
            -
                    klass | 
| 799 | 
            +
                  ['Gecode::IntVar', 'Gecode::BoolVar'].each do |template_type|
         | 
| 800 | 
            +
                    minimodelns.add_cxx_class "LinRel<#{template_type}>" do |klass|
         | 
| 801 | 
            +
                      klass.add_constructor
         | 
| 768 802 |  | 
| 769 | 
            -
             | 
| 770 | 
            -
             | 
| 771 | 
            -
             | 
| 772 | 
            -
             | 
| 773 | 
            -
             | 
| 803 | 
            +
                      klass.add_constructor do |method|
         | 
| 804 | 
            +
                        method.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "l"
         | 
| 805 | 
            +
                        method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 806 | 
            +
                        method.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "r"
         | 
| 807 | 
            +
                      end
         | 
| 774 808 |  | 
| 775 | 
            -
             | 
| 776 | 
            -
             | 
| 777 | 
            -
             | 
| 778 | 
            -
             | 
| 779 | 
            -
             | 
| 780 | 
            -
             | 
| 781 | 
            -
             | 
| 782 | 
            -
             | 
| 783 | 
            -
             | 
| 784 | 
            -
             | 
| 785 | 
            -
             | 
| 786 | 
            -
             | 
| 787 | 
            -
             | 
| 788 | 
            -
             | 
| 789 | 
            -
             | 
| 790 | 
            -
             | 
| 809 | 
            +
                      klass.add_constructor do |method|
         | 
| 810 | 
            +
                        method.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "l"
         | 
| 811 | 
            +
                        method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 812 | 
            +
                        method.add_parameter "int", "r"
         | 
| 813 | 
            +
                      end
         | 
| 814 | 
            +
                      
         | 
| 815 | 
            +
                      klass.add_constructor do |method|
         | 
| 816 | 
            +
                        method.add_parameter "int", "l"
         | 
| 817 | 
            +
                        method.add_parameter "Gecode::IntRelType", "irt"
         | 
| 818 | 
            +
                        method.add_parameter "Gecode::MiniModel::LinExpr<#{template_type}>", "r"
         | 
| 819 | 
            +
                      end
         | 
| 820 | 
            +
                      
         | 
| 821 | 
            +
                      klass.add_method "post", "void" do |method|
         | 
| 822 | 
            +
                        method.add_parameter "Gecode::MSpace*", "home"
         | 
| 823 | 
            +
                        method.add_parameter "bool", "t"
         | 
| 824 | 
            +
                        method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 825 | 
            +
                        method.add_parameter "Gecode::PropKind", "pk"
         | 
| 826 | 
            +
                      end
         | 
| 827 | 
            +
                      
         | 
| 828 | 
            +
                      klass.add_method "post", "void" do |method|
         | 
| 829 | 
            +
                        method.add_parameter "Gecode::MSpace*", "home"
         | 
| 830 | 
            +
                        method.add_parameter "Gecode::BoolVar", "b"
         | 
| 831 | 
            +
                        method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 832 | 
            +
                        method.add_parameter "Gecode::PropKind", "pk"
         | 
| 833 | 
            +
                      end
         | 
| 791 834 | 
             
                    end
         | 
| 792 | 
            -
                    klass.add_method "post", "void" do |method|
         | 
| 793 | 
            -
                      method.add_parameter "Gecode::MSpace*", "home"
         | 
| 794 | 
            -
                      method.add_parameter "Gecode::BoolVar", "b"
         | 
| 795 | 
            -
                    end
         | 
| 796 | 
            -
                    
         | 
| 797 | 
            -
            # 				klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
         | 
| 798 | 
            -
            # 					operator.add_parameter "int", "i"
         | 
| 799 | 
            -
            # 				end
         | 
| 800 835 | 
             
                  end
         | 
| 801 836 | 
             
                end
         | 
| 802 837 |  | 
| @@ -808,7 +843,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 808 843 | 
             
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 809 844 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 810 845 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 811 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 846 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 847 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 812 848 | 
             
                end
         | 
| 813 849 |  | 
| 814 850 | 
             
                ns.add_function "max" do |func|
         | 
| @@ -816,7 +852,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 816 852 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 817 853 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 818 854 | 
             
                  func.add_parameter "Gecode::IntVar", "x2"
         | 
| 819 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 855 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 856 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 820 857 | 
             
                end
         | 
| 821 858 |  | 
| 822 859 | 
             
                ns.add_function "max" do |func|
         | 
| @@ -825,7 +862,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 825 862 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 1)->ptr()"
         | 
| 826 863 | 
             
                  end
         | 
| 827 864 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 828 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 865 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 866 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 829 867 | 
             
                end
         | 
| 830 868 |  | 
| 831 869 | 
             
                ns.add_function "min" do |func|
         | 
| @@ -833,7 +871,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 833 871 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 834 872 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 835 873 | 
             
                  func.add_parameter "Gecode::IntVar", "x2"
         | 
| 836 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 874 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 875 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 837 876 | 
             
                end
         | 
| 838 877 |  | 
| 839 878 | 
             
                ns.add_function "min" do |func|
         | 
| @@ -842,7 +881,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 842 881 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 1)->ptr()"
         | 
| 843 882 | 
             
                  end
         | 
| 844 883 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 845 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 884 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 885 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 846 886 | 
             
                end
         | 
| 847 887 |  | 
| 848 888 | 
             
                ns.add_function "mult" do |func|
         | 
| @@ -850,150 +890,17 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 850 890 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 851 891 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 852 892 | 
             
                  func.add_parameter "Gecode::IntVar", "x2"
         | 
| 853 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 854 | 
            -
             | 
| 855 | 
            -
                
         | 
| 856 | 
            -
                # Bool post functions
         | 
| 857 | 
            -
                
         | 
| 858 | 
            -
                ns.add_function "bool_not" do |func|
         | 
| 859 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 860 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 861 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 862 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 863 | 
            -
                end
         | 
| 864 | 
            -
                
         | 
| 865 | 
            -
                ns.add_function "bool_eq" do |func|
         | 
| 866 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 867 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 868 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 869 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 870 | 
            -
                end
         | 
| 871 | 
            -
                
         | 
| 872 | 
            -
                ns.add_function "bool_and" do |func|
         | 
| 873 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 874 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 875 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 876 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b2"
         | 
| 877 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 878 | 
            -
                end
         | 
| 879 | 
            -
                
         | 
| 880 | 
            -
                ns.add_function "bool_and" do |func|
         | 
| 881 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 882 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 883 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 884 | 
            -
                  func.add_parameter "bool", "b2"
         | 
| 885 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 886 | 
            -
                end
         | 
| 887 | 
            -
                
         | 
| 888 | 
            -
                ns.add_function "bool_and" do |func|
         | 
| 889 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 890 | 
            -
                  func.add_parameter "Gecode::MBoolVarArray", "b0" do |param|
         | 
| 891 | 
            -
                    param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 1)->ptr())"
         | 
| 892 | 
            -
                  end
         | 
| 893 | 
            -
                  func.add_parameter "Gecode::BoolVar", "c"
         | 
| 894 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 895 | 
            -
                end
         | 
| 896 | 
            -
                
         | 
| 897 | 
            -
                ns.add_function "bool_and" do |func|
         | 
| 898 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 899 | 
            -
                  func.add_parameter "Gecode::MBoolVarArray", "b0" do |param|
         | 
| 900 | 
            -
                    param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 1)->ptr())"
         | 
| 901 | 
            -
                  end
         | 
| 902 | 
            -
                  func.add_parameter "bool", "c"
         | 
| 903 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 904 | 
            -
                end
         | 
| 905 | 
            -
                
         | 
| 906 | 
            -
                ns.add_function "bool_or" do |func|
         | 
| 907 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 908 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 909 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 910 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b2"
         | 
| 911 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 912 | 
            -
                end
         | 
| 913 | 
            -
                
         | 
| 914 | 
            -
                ns.add_function "bool_or" do |func|
         | 
| 915 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 916 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 917 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 918 | 
            -
                  func.add_parameter "bool", "b2"
         | 
| 919 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 920 | 
            -
                end
         | 
| 921 | 
            -
                
         | 
| 922 | 
            -
                ns.add_function "bool_or" do |func|
         | 
| 923 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 924 | 
            -
                  func.add_parameter "Gecode::MBoolVarArray", "b" do |param|
         | 
| 925 | 
            -
                    param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr())"
         | 
| 926 | 
            -
                  end
         | 
| 927 | 
            -
                  func.add_parameter "Gecode::BoolVar", "c"
         | 
| 928 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 929 | 
            -
                end
         | 
| 930 | 
            -
                
         | 
| 931 | 
            -
                ns.add_function "bool_or" do |func|
         | 
| 932 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 933 | 
            -
                  func.add_parameter "Gecode::MBoolVarArray", "b" do |param|
         | 
| 934 | 
            -
                    param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr())"
         | 
| 935 | 
            -
                  end
         | 
| 936 | 
            -
                  func.add_parameter "bool", "c"
         | 
| 937 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 938 | 
            -
                end
         | 
| 939 | 
            -
                
         | 
| 940 | 
            -
                ns.add_function "bool_imp" do |func|
         | 
| 941 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 942 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 943 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 944 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b2"
         | 
| 945 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 946 | 
            -
                end
         | 
| 947 | 
            -
                
         | 
| 948 | 
            -
                ns.add_function "bool_imp" do |func|
         | 
| 949 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 950 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 951 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 952 | 
            -
                  func.add_parameter "bool", "b2"
         | 
| 953 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 954 | 
            -
                end
         | 
| 955 | 
            -
                
         | 
| 956 | 
            -
                ns.add_function "bool_eqv" do |func|
         | 
| 957 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 958 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 959 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 960 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b2"
         | 
| 961 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 962 | 
            -
                end
         | 
| 963 | 
            -
                
         | 
| 964 | 
            -
                ns.add_function "bool_eqv" do |func|
         | 
| 965 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 966 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 967 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 968 | 
            -
                  func.add_parameter "bool", "b2"
         | 
| 969 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 970 | 
            -
                end
         | 
| 971 | 
            -
                
         | 
| 972 | 
            -
                ns.add_function "bool_xor" do |func|
         | 
| 973 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 974 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 975 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 976 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b2"
         | 
| 977 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 978 | 
            -
                end
         | 
| 979 | 
            -
                
         | 
| 980 | 
            -
                ns.add_function "bool_xor" do |func|
         | 
| 981 | 
            -
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 982 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b0"
         | 
| 983 | 
            -
                  func.add_parameter "Gecode::BoolVar", "b1"
         | 
| 984 | 
            -
                  func.add_parameter "bool", "b2"
         | 
| 985 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 893 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 894 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 986 895 | 
             
                end
         | 
| 987 896 |  | 
| 988 | 
            -
                # 
         | 
| 989 | 
            -
                
         | 
| 990 897 | 
             
                ns.add_function "branch" do |func|
         | 
| 991 898 | 
             
                  func.add_parameter "Gecode::MSpace *", "home"
         | 
| 992 899 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
         | 
| 993 900 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 994 901 | 
             
                  end
         | 
| 995 | 
            -
                  func.add_parameter "Gecode:: | 
| 996 | 
            -
                  func.add_parameter "Gecode:: | 
| 902 | 
            +
                  func.add_parameter "Gecode::IntVarBranch", "vars"
         | 
| 903 | 
            +
                  func.add_parameter "Gecode::IntValBranch", "vals"
         | 
| 997 904 | 
             
                end
         | 
| 998 905 |  | 
| 999 906 | 
             
                ns.add_function "branch" do |func|
         | 
| @@ -1001,8 +908,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1001 908 | 
             
                  func.add_parameter "Gecode::MBoolVarArray *", "iva" do |param|
         | 
| 1002 909 | 
             
                    param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1003 910 | 
             
                  end
         | 
| 1004 | 
            -
                  func.add_parameter "Gecode:: | 
| 1005 | 
            -
                  func.add_parameter "Gecode:: | 
| 911 | 
            +
                  func.add_parameter "Gecode::IntVarBranch", "vars"
         | 
| 912 | 
            +
                  func.add_parameter "Gecode::IntValBranch", "vals"
         | 
| 1006 913 | 
             
                end
         | 
| 1007 914 |  | 
| 1008 915 | 
             
                ns.add_function "branch" do |func|
         | 
| @@ -1010,8 +917,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1010 917 | 
             
                  func.add_parameter "Gecode::MSetVarArray *", "sva" do |param|
         | 
| 1011 918 | 
             
                    param.custom_conversion = "*ruby2Gecode_MSetVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1012 919 | 
             
                  end
         | 
| 1013 | 
            -
                  func.add_parameter "Gecode:: | 
| 1014 | 
            -
                  func.add_parameter "Gecode:: | 
| 920 | 
            +
                  func.add_parameter "Gecode::SetVarBranch", "vars"
         | 
| 921 | 
            +
                  func.add_parameter "Gecode::SetValBranch", "vals"
         | 
| 1015 922 | 
             
                end
         | 
| 1016 923 |  | 
| 1017 924 | 
             
                ns.add_function "assign" do |func|
         | 
| @@ -1019,7 +926,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1019 926 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
         | 
| 1020 927 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(iva, 1)->ptr()"
         | 
| 1021 928 | 
             
                  end
         | 
| 1022 | 
            -
                  func.add_parameter "Gecode:: | 
| 929 | 
            +
                  func.add_parameter "Gecode::IntAssign", "vals"
         | 
| 1023 930 | 
             
                end
         | 
| 1024 931 |  | 
| 1025 932 | 
             
                ns.add_function "channel" do |func|
         | 
| @@ -1030,7 +937,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1030 937 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
         | 
| 1031 938 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1032 939 | 
             
                  end
         | 
| 1033 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 940 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 941 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1034 942 | 
             
                end
         | 
| 1035 943 |  | 
| 1036 944 | 
             
                ns.add_function "count" do |func|
         | 
| @@ -1042,7 +950,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1042 950 | 
             
                  func.add_parameter "int", "y"
         | 
| 1043 951 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1044 952 | 
             
                  func.add_parameter "int", "m"
         | 
| 1045 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 953 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 954 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1046 955 | 
             
                end
         | 
| 1047 956 |  | 
| 1048 957 | 
             
                ns.add_function "count" do |func|
         | 
| @@ -1054,7 +963,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1054 963 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 1055 964 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1056 965 | 
             
                  func.add_parameter "int", "m"
         | 
| 1057 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 966 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 967 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1058 968 | 
             
                end
         | 
| 1059 969 |  | 
| 1060 970 | 
             
                ns.add_function "count" do |func|
         | 
| @@ -1066,7 +976,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1066 976 | 
             
                  func.add_parameter "int", "y"
         | 
| 1067 977 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1068 978 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1069 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 979 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 980 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1070 981 | 
             
                end
         | 
| 1071 982 |  | 
| 1072 983 | 
             
                ns.add_function "count" do |func|
         | 
| @@ -1078,140 +989,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1078 989 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 1079 990 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1080 991 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1081 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1082 | 
            -
             | 
| 1083 | 
            -
                
         | 
| 1084 | 
            -
                
         | 
| 1085 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1086 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1087 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine" do |param|
         | 
| 1088 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1089 | 
            -
                  end
         | 
| 1090 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1091 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1092 | 
            -
                  end
         | 
| 1093 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
         | 
| 1094 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1095 | 
            -
                  end
         | 
| 1096 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1097 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1098 | 
            -
                  end
         | 
| 1099 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "height" do |param|
         | 
| 1100 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
         | 
| 1101 | 
            -
                  end
         | 
| 1102 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1103 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1104 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1105 | 
            -
                end
         | 
| 1106 | 
            -
             | 
| 1107 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1108 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1109 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine" do |param|
         | 
| 1110 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1111 | 
            -
                  end
         | 
| 1112 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1113 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1114 | 
            -
                  end
         | 
| 1115 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "duration"
         | 
| 1116 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1117 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1118 | 
            -
                  end
         | 
| 1119 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "height" do |param|
         | 
| 1120 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
         | 
| 1121 | 
            -
                  end
         | 
| 1122 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1123 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1124 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1125 | 
            -
                end
         | 
| 1126 | 
            -
                
         | 
| 1127 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1128 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1129 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine"
         | 
| 1130 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1131 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1132 | 
            -
                  end
         | 
| 1133 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "duration"
         | 
| 1134 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1135 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1136 | 
            -
                  end
         | 
| 1137 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "height" do |param|
         | 
| 1138 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
         | 
| 1139 | 
            -
                  end
         | 
| 1140 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1141 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1142 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1143 | 
            -
                end
         | 
| 1144 | 
            -
             | 
| 1145 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1146 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1147 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine" do |param|
         | 
| 1148 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1149 | 
            -
                  end
         | 
| 1150 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1151 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1152 | 
            -
                  end
         | 
| 1153 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
         | 
| 1154 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1155 | 
            -
                  end
         | 
| 1156 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1157 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1158 | 
            -
                  end
         | 
| 1159 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "height"
         | 
| 1160 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1161 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1162 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1163 | 
            -
                end
         | 
| 1164 | 
            -
                
         | 
| 1165 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1166 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1167 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine"
         | 
| 1168 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1169 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1170 | 
            -
                  end
         | 
| 1171 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
         | 
| 1172 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1173 | 
            -
                  end
         | 
| 1174 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1175 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1176 | 
            -
                  end
         | 
| 1177 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "height"
         | 
| 1178 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1179 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1180 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1181 | 
            -
                end
         | 
| 1182 | 
            -
                
         | 
| 1183 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1184 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1185 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine" do |param|
         | 
| 1186 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1187 | 
            -
                  end
         | 
| 1188 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1189 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1190 | 
            -
                  end
         | 
| 1191 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "duration"
         | 
| 1192 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1193 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1194 | 
            -
                  end
         | 
| 1195 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "height"
         | 
| 1196 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1197 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1198 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1199 | 
            -
                end
         | 
| 1200 | 
            -
                
         | 
| 1201 | 
            -
                ns.add_function "cumulatives", "void" do |method|
         | 
| 1202 | 
            -
                  method.add_parameter "Gecode::MSpace*", "home"
         | 
| 1203 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "machine"
         | 
| 1204 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "start" do |param|
         | 
| 1205 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1206 | 
            -
                  end
         | 
| 1207 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "duration"
         | 
| 1208 | 
            -
                  method.add_parameter "Gecode::MIntVarArray", "end" do |param|
         | 
| 1209 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
         | 
| 1210 | 
            -
                  end
         | 
| 1211 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "height"
         | 
| 1212 | 
            -
                  method.add_parameter "Gecode::IntArgs&", "limit"
         | 
| 1213 | 
            -
                  method.add_parameter "bool", "at_most"
         | 
| 1214 | 
            -
                  method.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 992 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 993 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1215 994 | 
             
                end
         | 
| 1216 995 |  | 
| 1217 996 | 
             
                ns.add_function "distinct" do |func|
         | 
| @@ -1219,7 +998,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1219 998 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
         | 
| 1220 999 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1221 1000 | 
             
                  end
         | 
| 1222 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1001 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1002 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1223 1003 | 
             
                end
         | 
| 1224 1004 |  | 
| 1225 1005 | 
             
                ns.add_function "distinct" do |func|
         | 
| @@ -1228,16 +1008,18 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1228 1008 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
         | 
| 1229 1009 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1230 1010 | 
             
                  end
         | 
| 1231 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1011 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1012 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1232 1013 | 
             
                end
         | 
| 1233 1014 |  | 
| 1234 1015 |  | 
| 1235 1016 | 
             
                ns.add_function "dom" do |func|
         | 
| 1236 | 
            -
                  func.add_parameter | 
| 1237 | 
            -
                  func.add_parameter | 
| 1238 | 
            -
                  func.add_parameter | 
| 1239 | 
            -
                  func.add_parameter | 
| 1240 | 
            -
                  func.add_parameter | 
| 1017 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1018 | 
            +
                  func.add_parameter "Gecode::IntVar", "x"
         | 
| 1019 | 
            +
                  func.add_parameter "int", "l"
         | 
| 1020 | 
            +
                  func.add_parameter "int", "m"
         | 
| 1021 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1022 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1241 1023 | 
             
                end
         | 
| 1242 1024 |  | 
| 1243 1025 | 
             
                ns.add_function "dom" do |func|
         | 
| @@ -1248,39 +1030,44 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1248 1030 | 
             
                  func.add_parameter "int", "l"
         | 
| 1249 1031 | 
             
                  func.add_parameter "int", "m"
         | 
| 1250 1032 | 
             
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1033 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1251 1034 | 
             
                end
         | 
| 1252 1035 |  | 
| 1253 1036 | 
             
                ns.add_function "dom" do |func|
         | 
| 1254 | 
            -
                  func.add_parameter | 
| 1255 | 
            -
                  func.add_parameter | 
| 1256 | 
            -
                  func.add_parameter | 
| 1257 | 
            -
                  func.add_parameter | 
| 1037 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1038 | 
            +
                  func.add_parameter "Gecode::IntVar", "x"
         | 
| 1039 | 
            +
                  func.add_parameter "Gecode::IntSet", "s"
         | 
| 1040 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1041 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1258 1042 | 
             
                end
         | 
| 1259 1043 |  | 
| 1260 1044 | 
             
                ns.add_function "dom" do |func|
         | 
| 1261 | 
            -
                  func.add_parameter | 
| 1045 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1262 1046 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
         | 
| 1263 1047 | 
             
                    param.custom_conversion = "*reinterpret_cast<Gecode::IntVarArgs *>(ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr())"
         | 
| 1264 1048 | 
             
                  end
         | 
| 1265 | 
            -
                  func.add_parameter | 
| 1266 | 
            -
                  func.add_parameter | 
| 1049 | 
            +
                  func.add_parameter "Gecode::IntSet", "s"
         | 
| 1050 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1051 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1267 1052 | 
             
                end
         | 
| 1268 1053 |  | 
| 1269 1054 | 
             
                ns.add_function "dom" do |func|
         | 
| 1270 | 
            -
                  func.add_parameter | 
| 1271 | 
            -
                  func.add_parameter | 
| 1272 | 
            -
                  func.add_parameter | 
| 1273 | 
            -
                  func.add_parameter | 
| 1274 | 
            -
                  func.add_parameter | 
| 1275 | 
            -
                  func.add_parameter | 
| 1055 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1056 | 
            +
                  func.add_parameter "Gecode::IntVar", "x"
         | 
| 1057 | 
            +
                  func.add_parameter "int", "l"
         | 
| 1058 | 
            +
                  func.add_parameter "int", "m"
         | 
| 1059 | 
            +
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1060 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1061 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1276 1062 | 
             
                end
         | 
| 1277 1063 |  | 
| 1278 1064 | 
             
                ns.add_function "dom" do |func|
         | 
| 1279 | 
            -
                  func.add_parameter | 
| 1280 | 
            -
                  func.add_parameter | 
| 1281 | 
            -
                  func.add_parameter | 
| 1282 | 
            -
                  func.add_parameter | 
| 1283 | 
            -
                  func.add_parameter | 
| 1065 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1066 | 
            +
                  func.add_parameter "Gecode::IntVar", "x"
         | 
| 1067 | 
            +
                  func.add_parameter "Gecode::IntSet", "s"
         | 
| 1068 | 
            +
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1069 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1070 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1284 1071 | 
             
                end
         | 
| 1285 1072 |  | 
| 1286 1073 | 
             
                ns.add_function "element", "void" do |func|
         | 
| @@ -1288,7 +1075,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1288 1075 | 
             
                  func.add_parameter "Gecode::IntArgs&", "x"
         | 
| 1289 1076 | 
             
                  func.add_parameter "Gecode::IntVar", "y0"
         | 
| 1290 1077 | 
             
                  func.add_parameter "Gecode::IntVar", "y1"
         | 
| 1291 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1078 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1079 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1292 1080 | 
             
                end
         | 
| 1293 1081 |  | 
| 1294 1082 | 
             
                ns.add_function "element", "void" do |func|
         | 
| @@ -1298,83 +1086,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1298 1086 | 
             
                  end
         | 
| 1299 1087 | 
             
                  func.add_parameter "Gecode::IntVar", "y0"
         | 
| 1300 1088 | 
             
                  func.add_parameter "Gecode::IntVar", "y1"
         | 
| 1301 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1302 | 
            -
                end
         | 
| 1303 | 
            -
                
         | 
| 1304 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1305 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1306 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1307 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1308 | 
            -
                  end
         | 
| 1309 | 
            -
                  func.add_parameter "Gecode::IntArgs", "c"
         | 
| 1310 | 
            -
                  func.add_parameter "int", "m"
         | 
| 1311 | 
            -
                  func.add_parameter "int", "unspec_low"
         | 
| 1312 | 
            -
                  func.add_parameter "int", "unspec_up"
         | 
| 1313 | 
            -
                  func.add_parameter "int", "min"
         | 
| 1314 | 
            -
                  func.add_parameter "int", "max"
         | 
| 1315 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1316 | 
            -
                end
         | 
| 1317 | 
            -
                
         | 
| 1318 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1319 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1320 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1321 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1322 | 
            -
                  end
         | 
| 1323 | 
            -
                  func.add_parameter "Gecode::IntArgs", "c"
         | 
| 1324 | 
            -
                  func.add_parameter "int", "m"
         | 
| 1325 | 
            -
                  func.add_parameter "int", "unspec"
         | 
| 1326 | 
            -
                  func.add_parameter "int", "min"
         | 
| 1327 | 
            -
                  func.add_parameter "int", "max"
         | 
| 1328 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1329 | 
            -
                end
         | 
| 1330 | 
            -
                
         | 
| 1331 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1332 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1333 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1334 | 
            -
                    param.custom_conversion = "*reinterpret_cast<Gecode::IntVarArgs *>(ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr())"
         | 
| 1335 | 
            -
                  end
         | 
| 1336 | 
            -
                  func.add_parameter "int", "lb"
         | 
| 1337 | 
            -
                  func.add_parameter "int", "ub"
         | 
| 1338 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1339 | 
            -
                end
         | 
| 1340 | 
            -
                
         | 
| 1341 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1342 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1343 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1344 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1345 | 
            -
                  end
         | 
| 1346 | 
            -
                  func.add_parameter "int", "ub"
         | 
| 1347 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1348 | 
            -
                end
         | 
| 1349 | 
            -
                
         | 
| 1350 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1351 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1352 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1353 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1354 | 
            -
                  end
         | 
| 1355 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "c" do |param|
         | 
| 1356 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1357 | 
            -
                  end
         | 
| 1358 | 
            -
                  func.add_parameter "int", "min"
         | 
| 1359 | 
            -
                  func.add_parameter "int", "max"
         | 
| 1360 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1361 | 
            -
                end
         | 
| 1362 | 
            -
                
         | 
| 1363 | 
            -
                ns.add_function "gcc", "void" do |func|
         | 
| 1364 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1365 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1366 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1367 | 
            -
                  end
         | 
| 1368 | 
            -
                  func.add_parameter "Gecode::IntArgs", "v"
         | 
| 1369 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "c" do |param|
         | 
| 1370 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1371 | 
            -
                  end
         | 
| 1372 | 
            -
                  func.add_parameter "int", "m"
         | 
| 1373 | 
            -
                  func.add_parameter "int", "unspec"
         | 
| 1374 | 
            -
                  func.add_parameter "bool", "all"
         | 
| 1375 | 
            -
                  func.add_parameter "int", "min"
         | 
| 1376 | 
            -
                  func.add_parameter "int", "max"
         | 
| 1377 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1089 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1378 1090 | 
             
                end
         | 
| 1379 1091 |  | 
| 1380 1092 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1384,7 +1096,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1384 1096 | 
             
                  end
         | 
| 1385 1097 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1386 1098 | 
             
                  func.add_parameter "int", "c"
         | 
| 1387 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1099 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1100 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1388 1101 | 
             
                end
         | 
| 1389 1102 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| 1390 1103 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| @@ -1394,7 +1107,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1394 1107 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1395 1108 | 
             
                  func.add_parameter "int", "c"
         | 
| 1396 1109 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1397 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1110 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1111 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1398 1112 | 
             
                end
         | 
| 1399 1113 |  | 
| 1400 1114 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1405,7 +1119,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1405 1119 | 
             
                  end
         | 
| 1406 1120 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1407 1121 | 
             
                  func.add_parameter "int", "c"
         | 
| 1408 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1122 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1123 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1409 1124 | 
             
                end
         | 
| 1410 1125 |  | 
| 1411 1126 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1417,7 +1132,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1417 1132 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1418 1133 | 
             
                  func.add_parameter "int", "c"
         | 
| 1419 1134 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1420 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1135 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1136 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1421 1137 | 
             
                end
         | 
| 1422 1138 |  | 
| 1423 1139 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1427,7 +1143,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1427 1143 | 
             
                  end
         | 
| 1428 1144 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1429 1145 | 
             
                  func.add_parameter "Gecode::IntVar", "c"
         | 
| 1430 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1146 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1147 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1431 1148 | 
             
                end
         | 
| 1432 1149 |  | 
| 1433 1150 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1438,7 +1155,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1438 1155 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1439 1156 | 
             
                  func.add_parameter "Gecode::IntVar", "c"
         | 
| 1440 1157 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1441 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1158 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1159 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1442 1160 | 
             
                end
         | 
| 1443 1161 |  | 
| 1444 1162 |  | 
| @@ -1450,7 +1168,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1450 1168 | 
             
                  end
         | 
| 1451 1169 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1452 1170 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 1453 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1171 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1172 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1454 1173 | 
             
                end
         | 
| 1455 1174 |  | 
| 1456 1175 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1462,7 +1181,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1462 1181 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1463 1182 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 1464 1183 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1465 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1184 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1185 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1466 1186 | 
             
                end
         | 
| 1467 1187 |  | 
| 1468 1188 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1472,7 +1192,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1472 1192 | 
             
                  end
         | 
| 1473 1193 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1474 1194 | 
             
                  func.add_parameter "int", "y"
         | 
| 1475 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1195 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1196 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1476 1197 | 
             
                end
         | 
| 1477 1198 |  | 
| 1478 1199 | 
             
                ns.add_function "linear", "void" do |func|
         | 
| @@ -1482,7 +1203,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1482 1203 | 
             
                  end
         | 
| 1483 1204 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1484 1205 | 
             
                  func.add_parameter "Gecode::IntVar", "y"
         | 
| 1485 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1206 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1207 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1486 1208 | 
             
                end
         | 
| 1487 1209 |  | 
| 1488 1210 | 
             
            # 		ns.add_function "regular", "void" do |func|
         | 
| @@ -1496,9 +1218,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1496 1218 |  | 
| 1497 1219 | 
             
                ns.add_function "bab", "Gecode::MSpace*" do |func|
         | 
| 1498 1220 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1499 | 
            -
                  func.add_parameter " | 
| 1500 | 
            -
                  func.add_parameter "int", "a_d"
         | 
| 1501 | 
            -
                  func.add_parameter "Gecode::Search::MStop *", "st"
         | 
| 1221 | 
            +
                  func.add_parameter "Gecode::Search::Options", "o"
         | 
| 1502 1222 | 
             
                end
         | 
| 1503 1223 |  | 
| 1504 1224 | 
             
                ns.add_function "rel" do |func|
         | 
| @@ -1506,7 +1226,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1506 1226 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 1507 1227 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1508 1228 | 
             
                  func.add_parameter "int", "c"
         | 
| 1509 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1229 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1230 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1510 1231 | 
             
                end
         | 
| 1511 1232 |  | 
| 1512 1233 | 
             
                ns.add_function "rel" do |func|
         | 
| @@ -1514,7 +1235,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1514 1235 | 
             
                  func.add_parameter "Gecode::IntVar", "x0"
         | 
| 1515 1236 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1516 1237 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 1517 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1238 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1239 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1518 1240 | 
             
                end
         | 
| 1519 1241 |  | 
| 1520 1242 | 
             
                ns.add_function "rel" do |func|
         | 
| @@ -1523,7 +1245,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1523 1245 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1524 1246 | 
             
                  func.add_parameter "Gecode::IntVar", "x1"
         | 
| 1525 1247 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1526 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1248 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1249 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1527 1250 | 
             
                end
         | 
| 1528 1251 |  | 
| 1529 1252 | 
             
                ns.add_function "rel" do |func|
         | 
| @@ -1532,7 +1255,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1532 1255 | 
             
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1533 1256 | 
             
                  func.add_parameter "int", "c"
         | 
| 1534 1257 | 
             
                  func.add_parameter "Gecode::BoolVar", "b"
         | 
| 1535 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1258 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1259 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1536 1260 | 
             
                end
         | 
| 1537 1261 |  | 
| 1538 1262 | 
             
                ns.add_function "rel" do |func|
         | 
| @@ -1544,207 +1268,164 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1544 1268 | 
             
                  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
         | 
| 1545 1269 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1546 1270 | 
             
                  end
         | 
| 1547 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1271 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1272 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1548 1273 | 
             
                end
         | 
| 1549 1274 |  | 
| 1550 | 
            -
                ns.add_function " | 
| 1275 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1551 1276 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1552 | 
            -
                  func.add_parameter "Gecode:: | 
| 1553 | 
            -
                  func.add_parameter "Gecode:: | 
| 1554 | 
            -
                  func.add_parameter " | 
| 1277 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x0"
         | 
| 1278 | 
            +
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1279 | 
            +
                  func.add_parameter "int", "c"
         | 
| 1280 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1281 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1555 1282 | 
             
                end
         | 
| 1556 1283 |  | 
| 1557 | 
            -
                ns.add_function " | 
| 1284 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1558 1285 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1559 | 
            -
                  func.add_parameter "Gecode:: | 
| 1560 | 
            -
                  func.add_parameter " | 
| 1561 | 
            -
                  func.add_parameter "Gecode:: | 
| 1286 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x0"
         | 
| 1287 | 
            +
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1288 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x1"
         | 
| 1289 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1290 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1562 1291 | 
             
                end
         | 
| 1563 1292 |  | 
| 1564 | 
            -
                ns.add_function " | 
| 1565 | 
            -
                   | 
| 1566 | 
            -
                   | 
| 1567 | 
            -
                   | 
| 1568 | 
            -
                   | 
| 1569 | 
            -
                   | 
| 1293 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1294 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1295 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x0"
         | 
| 1296 | 
            +
                  func.add_parameter "Gecode::BoolOpType", "o"
         | 
| 1297 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x1"
         | 
| 1298 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x2"
         | 
| 1299 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1300 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1570 1301 | 
             
                end
         | 
| 1571 1302 |  | 
| 1572 | 
            -
                ns.add_function " | 
| 1573 | 
            -
                   | 
| 1574 | 
            -
                   | 
| 1575 | 
            -
                   | 
| 1576 | 
            -
                   | 
| 1577 | 
            -
                   | 
| 1303 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1304 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1305 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x0"
         | 
| 1306 | 
            +
                  func.add_parameter "Gecode::BoolOpType", "o"
         | 
| 1307 | 
            +
                  func.add_parameter "Gecode::BoolVar", "x1"
         | 
| 1308 | 
            +
                  func.add_parameter "int", "n"
         | 
| 1309 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1310 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1578 1311 | 
             
                end
         | 
| 1579 1312 |  | 
| 1580 | 
            -
                ns.add_function " | 
| 1581 | 
            -
                   | 
| 1582 | 
            -
                   | 
| 1583 | 
            -
             | 
| 1313 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1314 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1315 | 
            +
                  func.add_parameter "Gecode::BoolOpType", "o"
         | 
| 1316 | 
            +
                  func.add_parameter "Gecode::MBoolVarArray *", "x" do |param|
         | 
| 1317 | 
            +
                    param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[2], 2)->ptr()"
         | 
| 1584 1318 | 
             
                  end
         | 
| 1585 | 
            -
                   | 
| 1319 | 
            +
                  func.add_parameter "int", "n"
         | 
| 1320 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1321 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1586 1322 | 
             
                end
         | 
| 1587 1323 |  | 
| 1588 | 
            -
                ns.add_function " | 
| 1589 | 
            -
                   | 
| 1590 | 
            -
                   | 
| 1324 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1325 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1326 | 
            +
                  func.add_parameter "Gecode::BoolOpType", "o"
         | 
| 1327 | 
            +
                  func.add_parameter "Gecode::MBoolVarArray *", "x" do |param|
         | 
| 1328 | 
            +
                    param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[2], 2)->ptr()"
         | 
| 1329 | 
            +
                  end
         | 
| 1330 | 
            +
                  func.add_parameter "Gecode::BoolVar", "y"
         | 
| 1331 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1332 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1333 | 
            +
                end
         | 
| 1334 | 
            +
             | 
| 1335 | 
            +
                ns.add_function "rel" do |func|
         | 
| 1336 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1337 | 
            +
                  func.add_parameter "Gecode::MBoolVarArray *", "x" do |param|
         | 
| 1338 | 
            +
                    param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1339 | 
            +
                  end
         | 
| 1340 | 
            +
                  func.add_parameter "Gecode::IntRelType", "r"
         | 
| 1341 | 
            +
                  func.add_parameter "Gecode::MBoolVarArray *", "y" do |param|
         | 
| 1342 | 
            +
                    param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1343 | 
            +
                  end
         | 
| 1344 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1345 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1346 | 
            +
                end    
         | 
| 1347 | 
            +
             | 
| 1348 | 
            +
                ns.add_function "sorted", "void" do |func|
         | 
| 1349 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1350 | 
            +
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1591 1351 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1592 1352 | 
             
                  end
         | 
| 1593 | 
            -
                   | 
| 1353 | 
            +
                  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
         | 
| 1594 1354 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1595 1355 | 
             
                  end
         | 
| 1596 | 
            -
                   | 
| 1356 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1357 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1597 1358 | 
             
                end
         | 
| 1598 | 
            -
                 | 
| 1599 | 
            -
             | 
| 1600 | 
            -
                   | 
| 1359 | 
            +
                
         | 
| 1360 | 
            +
                ns.add_function "sorted", "void" do |func|
         | 
| 1361 | 
            +
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1362 | 
            +
                  func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
         | 
| 1601 1363 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1602 1364 | 
             
                  end
         | 
| 1603 | 
            -
                   | 
| 1365 | 
            +
                  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
         | 
| 1604 1366 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
         | 
| 1605 1367 | 
             
                  end
         | 
| 1606 | 
            -
                   | 
| 1368 | 
            +
                  func.add_parameter "Gecode::MIntVarArray *", "z" do |param|
         | 
| 1607 1369 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1608 1370 | 
             
                  end
         | 
| 1609 | 
            -
                   | 
| 1371 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1372 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1610 1373 | 
             
                end
         | 
| 1611 1374 |  | 
| 1612 1375 | 
             
                ns.add_function "post", "Gecode::BoolVar" do |func|
         | 
| 1613 1376 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1614 1377 | 
             
                  func.add_parameter "Gecode::MiniModel::BoolExpr", "e"
         | 
| 1615 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1378 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1379 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1616 1380 | 
             
                end
         | 
| 1617 1381 |  | 
| 1618 1382 | 
             
                ns.add_function "post", "Gecode::BoolVar" do |func|
         | 
| 1619 1383 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1620 1384 | 
             
                  func.add_parameter "Gecode::BoolVar", "e"
         | 
| 1621 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1385 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1386 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1622 1387 | 
             
                end
         | 
| 1623 1388 |  | 
| 1624 1389 | 
             
                ns.add_function "post" do |func|
         | 
| 1625 1390 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1626 1391 | 
             
                  func.add_parameter "Gecode::MiniModel::BoolRel", "r"
         | 
| 1627 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1392 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1393 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1628 1394 | 
             
                end
         | 
| 1629 1395 |  | 
| 1630 1396 | 
             
                ns.add_function "post", "Gecode::IntVar" do |func|
         | 
| 1631 1397 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1632 1398 | 
             
                  func.add_parameter "Gecode::IntVar", "e"
         | 
| 1633 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1399 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1400 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1634 1401 | 
             
                end
         | 
| 1635 1402 |  | 
| 1636 1403 | 
             
                ns.add_function "post", "Gecode::IntVar" do |func|
         | 
| 1637 1404 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1638 1405 | 
             
                  func.add_parameter "int", "n"
         | 
| 1639 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1406 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1407 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1640 1408 | 
             
                end
         | 
| 1641 1409 |  | 
| 1642 1410 | 
             
                ns.add_function "post", "Gecode::IntVar" do |func|
         | 
| 1643 1411 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1644 | 
            -
                  func.add_parameter "Gecode::MiniModel::LinExpr", "e"
         | 
| 1645 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1412 | 
            +
                  func.add_parameter "Gecode::MiniModel::LinExpr<Gecode::IntVar>", "e"
         | 
| 1413 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1414 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1646 1415 | 
             
                end
         | 
| 1647 1416 |  | 
| 1648 1417 | 
             
                ns.add_function "post" do |func|
         | 
| 1649 1418 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1650 | 
            -
                  func.add_parameter "Gecode::MiniModel::LinRel", "e"
         | 
| 1651 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1419 | 
            +
                  func.add_parameter "Gecode::MiniModel::LinRel<Gecode::IntVar>", "e"
         | 
| 1420 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1421 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1652 1422 | 
             
                end
         | 
| 1653 1423 |  | 
| 1654 1424 | 
             
                ns.add_function "post" do |func|
         | 
| 1655 1425 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1656 1426 | 
             
                  func.add_parameter "bool", "r"
         | 
| 1657 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1658 | 
            -
             | 
| 1659 | 
            -
                
         | 
| 1660 | 
            -
                ns.add_function "producer_consumer" do |func|
         | 
| 1661 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1662 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "produce_date" do |param|
         | 
| 1663 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1664 | 
            -
                  end
         | 
| 1665 | 
            -
                  func.add_parameter "Gecode::IntArgs", "produce_amount"
         | 
| 1666 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "consume_date" do |param|
         | 
| 1667 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1668 | 
            -
                  end
         | 
| 1669 | 
            -
                  func.add_parameter "Gecode::IntArgs", "consume_amount"
         | 
| 1670 | 
            -
                  func.add_parameter "int", "initial"
         | 
| 1671 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1672 | 
            -
                end
         | 
| 1673 | 
            -
                
         | 
| 1674 | 
            -
                ns.add_function "cumulative" do |func|
         | 
| 1675 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1676 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1677 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1678 | 
            -
                  end
         | 
| 1679 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
         | 
| 1680 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1681 | 
            -
                  end
         | 
| 1682 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "height" do |param|
         | 
| 1683 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1684 | 
            -
                  end
         | 
| 1685 | 
            -
                  func.add_parameter "int", "limit"
         | 
| 1686 | 
            -
                  func.add_parameter "bool", "at_most", true
         | 
| 1687 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1688 | 
            -
                end
         | 
| 1689 | 
            -
                
         | 
| 1690 | 
            -
                ns.add_function "cumulative" do |func|
         | 
| 1691 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1692 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1693 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1694 | 
            -
                  end
         | 
| 1695 | 
            -
                  func.add_parameter "Gecode::IntArgs", "duration"
         | 
| 1696 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "height" do |param|
         | 
| 1697 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1698 | 
            -
                  end
         | 
| 1699 | 
            -
                  func.add_parameter "int", "limit"
         | 
| 1700 | 
            -
                  func.add_parameter "bool", "at_most", true
         | 
| 1701 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1702 | 
            -
                end
         | 
| 1703 | 
            -
                
         | 
| 1704 | 
            -
                ns.add_function "cumulative" do |func|
         | 
| 1705 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1706 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1707 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1708 | 
            -
                  end
         | 
| 1709 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
         | 
| 1710 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1711 | 
            -
                  end
         | 
| 1712 | 
            -
                  func.add_parameter "Gecode::IntArgs", "height"
         | 
| 1713 | 
            -
                  func.add_parameter "int", "limit"
         | 
| 1714 | 
            -
                  func.add_parameter "bool", "at_most", true
         | 
| 1715 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1716 | 
            -
                end
         | 
| 1717 | 
            -
                
         | 
| 1718 | 
            -
                ns.add_function "cumulative" do |func|
         | 
| 1719 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1720 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1721 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1722 | 
            -
                  end
         | 
| 1723 | 
            -
                  func.add_parameter "Gecode::IntArgs", "duration"
         | 
| 1724 | 
            -
                  func.add_parameter "Gecode::IntArgs", "height"
         | 
| 1725 | 
            -
                  func.add_parameter "int", "limit"
         | 
| 1726 | 
            -
                  func.add_parameter "bool", "at_most", true
         | 
| 1727 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1728 | 
            -
                end
         | 
| 1729 | 
            -
                
         | 
| 1730 | 
            -
                ns.add_function "serialized" do |func|
         | 
| 1731 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1732 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1733 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1734 | 
            -
                  end
         | 
| 1735 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
         | 
| 1736 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1737 | 
            -
                  end
         | 
| 1738 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1739 | 
            -
                end
         | 
| 1740 | 
            -
                
         | 
| 1741 | 
            -
                ns.add_function "serialized" do |func|
         | 
| 1742 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1743 | 
            -
                  func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
         | 
| 1744 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1745 | 
            -
                  end
         | 
| 1746 | 
            -
                  func.add_parameter "Gecode::IntArgs", "duration"
         | 
| 1747 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1427 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1428 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1748 1429 | 
             
                end
         | 
| 1749 1430 |  | 
| 1750 1431 | 
             
                ns.add_function "atmost" do |func|
         | 
| @@ -1754,7 +1435,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1754 1435 | 
             
                  end
         | 
| 1755 1436 | 
             
                  func.add_parameter "int", "n"
         | 
| 1756 1437 | 
             
                  func.add_parameter "int", "m"
         | 
| 1757 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1438 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1439 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1758 1440 | 
             
                end
         | 
| 1759 1441 |  | 
| 1760 1442 | 
             
                ns.add_function "atmost" do |func|
         | 
| @@ -1764,7 +1446,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1764 1446 | 
             
                  end
         | 
| 1765 1447 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1766 1448 | 
             
                  func.add_parameter "int", "m"
         | 
| 1767 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1449 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1450 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1768 1451 | 
             
                end
         | 
| 1769 1452 |  | 
| 1770 1453 | 
             
                ns.add_function "atmost" do |func|
         | 
| @@ -1774,7 +1457,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1774 1457 | 
             
                  end
         | 
| 1775 1458 | 
             
                  func.add_parameter "int", "n"
         | 
| 1776 1459 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1777 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1460 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1461 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1778 1462 | 
             
                end
         | 
| 1779 1463 |  | 
| 1780 1464 | 
             
                ns.add_function "atmost" do |func|
         | 
| @@ -1784,7 +1468,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1784 1468 | 
             
                  end
         | 
| 1785 1469 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1786 1470 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1787 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1471 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1472 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1788 1473 | 
             
                end
         | 
| 1789 1474 |  | 
| 1790 1475 | 
             
                ns.add_function "atleast" do |func|
         | 
| @@ -1794,7 +1479,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1794 1479 | 
             
                  end
         | 
| 1795 1480 | 
             
                  func.add_parameter "int", "n"
         | 
| 1796 1481 | 
             
                  func.add_parameter "int", "m"
         | 
| 1797 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1482 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1483 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1798 1484 | 
             
                end
         | 
| 1799 1485 |  | 
| 1800 1486 | 
             
                ns.add_function "atleast" do |func|
         | 
| @@ -1804,7 +1490,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1804 1490 | 
             
                  end
         | 
| 1805 1491 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1806 1492 | 
             
                  func.add_parameter "int", "m"
         | 
| 1807 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1493 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1494 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1808 1495 | 
             
                end
         | 
| 1809 1496 |  | 
| 1810 1497 | 
             
                ns.add_function "atleast" do |func|
         | 
| @@ -1814,7 +1501,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1814 1501 | 
             
                  end
         | 
| 1815 1502 | 
             
                  func.add_parameter "int", "n"
         | 
| 1816 1503 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1817 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1504 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1505 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1818 1506 | 
             
                end
         | 
| 1819 1507 |  | 
| 1820 1508 | 
             
                ns.add_function "atleast" do |func|
         | 
| @@ -1824,7 +1512,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1824 1512 | 
             
                  end
         | 
| 1825 1513 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1826 1514 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1827 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1515 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1516 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1828 1517 | 
             
                end
         | 
| 1829 1518 |  | 
| 1830 1519 | 
             
                ns.add_function "exactly" do |func|
         | 
| @@ -1834,7 +1523,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1834 1523 | 
             
                  end
         | 
| 1835 1524 | 
             
                  func.add_parameter "int", "n"
         | 
| 1836 1525 | 
             
                  func.add_parameter "int", "m"
         | 
| 1837 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1526 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1527 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1838 1528 | 
             
                end
         | 
| 1839 1529 |  | 
| 1840 1530 | 
             
                ns.add_function "exactly" do |func|
         | 
| @@ -1844,7 +1534,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1844 1534 | 
             
                  end
         | 
| 1845 1535 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1846 1536 | 
             
                  func.add_parameter "int", "m"
         | 
| 1847 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1537 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1538 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1848 1539 | 
             
                end
         | 
| 1849 1540 |  | 
| 1850 1541 | 
             
                ns.add_function "exactly" do |func|
         | 
| @@ -1854,7 +1545,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1854 1545 | 
             
                  end
         | 
| 1855 1546 | 
             
                  func.add_parameter "int", "n"
         | 
| 1856 1547 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1857 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1548 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1549 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1858 1550 | 
             
                end
         | 
| 1859 1551 |  | 
| 1860 1552 | 
             
                ns.add_function "exactly" do |func|
         | 
| @@ -1864,7 +1556,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1864 1556 | 
             
                  end
         | 
| 1865 1557 | 
             
                  func.add_parameter "Gecode::IntVar", "n"
         | 
| 1866 1558 | 
             
                  func.add_parameter "Gecode::IntVar", "m"
         | 
| 1867 | 
            -
                  func.add_parameter "Gecode::IntConLevel", "icl" | 
| 1559 | 
            +
                  func.add_parameter "Gecode::IntConLevel", "icl"
         | 
| 1560 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk"
         | 
| 1868 1561 | 
             
                end
         | 
| 1869 1562 |  | 
| 1870 1563 | 
             
                ns.add_function "lex" do |func|
         | 
| @@ -1877,6 +1570,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1877 1570 | 
             
                    param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
         | 
| 1878 1571 | 
             
                  end
         | 
| 1879 1572 | 
             
                  func.add_parameter "Gecode::IntConLevel", "icl", true
         | 
| 1573 | 
            +
                  func.add_parameter "Gecode::PropKind", "pk", true
         | 
| 1880 1574 | 
             
                end
         | 
| 1881 1575 |  | 
| 1882 1576 | 
             
                ns.add_function "cardinality" do |func|
         | 
| @@ -1911,14 +1605,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 1911 1605 | 
             
                  func.add_parameter "int", "c"
         | 
| 1912 1606 | 
             
                end
         | 
| 1913 1607 |  | 
| 1914 | 
            -
                ns.add_function "distinct" do |func|
         | 
| 1915 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1916 | 
            -
                  func.add_parameter "Gecode::MSetVarArray", "x" do |param|
         | 
| 1917 | 
            -
                    param.custom_conversion = "*ruby2Gecode_MSetVarArrayPtr(argv[1], 2)->ptr()"
         | 
| 1918 | 
            -
                  end
         | 
| 1919 | 
            -
                  func.add_parameter "int", "c"
         | 
| 1920 | 
            -
                end
         | 
| 1921 | 
            -
                
         | 
| 1922 1608 | 
             
                ns.add_function "dom" do |func|
         | 
| 1923 1609 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 1924 1610 | 
             
                  func.add_parameter "Gecode::SetVar", "x"
         | 
| @@ -2046,15 +1732,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b| | |
| 2046 1732 | 
             
                  func.add_parameter "Gecode::IntSet", "z"
         | 
| 2047 1733 | 
             
                end
         | 
| 2048 1734 |  | 
| 2049 | 
            -
                ns.add_function "rel" do |func|
         | 
| 2050 | 
            -
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 2051 | 
            -
                  func.add_parameter "Gecode::IntSet", "x"
         | 
| 2052 | 
            -
                  func.add_parameter "Gecode::SetOpType", "op"
         | 
| 2053 | 
            -
                  func.add_parameter "Gecode::IntSet", "y"
         | 
| 2054 | 
            -
                  func.add_parameter "Gecode::SetRelType", "r"
         | 
| 2055 | 
            -
                  func.add_parameter "Gecode::SetVar", "z"
         | 
| 2056 | 
            -
                end
         | 
| 2057 | 
            -
                
         | 
| 2058 1735 | 
             
                ns.add_function "rel" do |func|
         | 
| 2059 1736 | 
             
                  func.add_parameter "Gecode::MSpace*", "home"
         | 
| 2060 1737 | 
             
                  func.add_parameter "Gecode::IntSet", "x"
         |