gecoder 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/CHANGES +7 -0
  2. data/README +10 -1
  3. data/example/sudoku-set.rb +16 -13
  4. data/ext/extconf.rb +26 -9
  5. data/ext/missing.cpp +1 -1
  6. data/ext/missing.h +1 -1
  7. data/ext/vararray.h +4 -4
  8. data/lib/gecoder/bindings.rb +21 -1
  9. data/lib/gecoder/bindings/bindings.rb +408 -731
  10. data/lib/gecoder/interface/binding_changes.rb +1 -1
  11. data/lib/gecoder/interface/branch.rb +25 -25
  12. data/lib/gecoder/interface/constraints.rb +47 -4
  13. data/lib/gecoder/interface/constraints/bool/boolean.rb +18 -16
  14. data/lib/gecoder/interface/constraints/bool_enum/boolean.rb +13 -11
  15. data/lib/gecoder/interface/constraints/int/arithmetic.rb +5 -4
  16. data/lib/gecoder/interface/constraints/int/domain.rb +8 -9
  17. data/lib/gecoder/interface/constraints/int/linear.rb +10 -8
  18. data/lib/gecoder/interface/constraints/int_enum/arithmetic.rb +4 -4
  19. data/lib/gecoder/interface/constraints/int_enum/channel.rb +2 -2
  20. data/lib/gecoder/interface/constraints/int_enum/count.rb +4 -5
  21. data/lib/gecoder/interface/constraints/int_enum/distinct.rb +7 -2
  22. data/lib/gecoder/interface/constraints/int_enum/element.rb +2 -2
  23. data/lib/gecoder/interface/constraints/int_enum/equality.rb +6 -3
  24. data/lib/gecoder/interface/constraints/int_enum/sort.rb +17 -5
  25. data/lib/gecoder/interface/constraints/set_enum/distinct.rb +0 -36
  26. data/lib/gecoder/interface/constraints/set_var_constraints.rb +5 -0
  27. data/lib/gecoder/interface/model.rb +3 -3
  28. data/lib/gecoder/interface/search.rb +5 -4
  29. data/lib/gecoder/version.rb +1 -1
  30. data/specs/branch.rb +27 -27
  31. data/specs/constraints/arithmetic.rb +48 -30
  32. data/specs/constraints/bool_enum.rb +39 -19
  33. data/specs/constraints/boolean.rb +10 -10
  34. data/specs/constraints/cardinality.rb +12 -9
  35. data/specs/constraints/channel.rb +6 -6
  36. data/specs/constraints/connection.rb +22 -26
  37. data/specs/constraints/constraint_helper.rb +125 -41
  38. data/specs/constraints/count.rb +22 -15
  39. data/specs/constraints/distinct.rb +10 -64
  40. data/specs/constraints/element.rb +14 -12
  41. data/specs/constraints/equality.rb +4 -4
  42. data/specs/constraints/int_domain.rb +8 -7
  43. data/specs/constraints/int_relation.rb +12 -8
  44. data/specs/constraints/linear.rb +4 -4
  45. data/specs/constraints/reification_sugar.rb +22 -4
  46. data/specs/constraints/selection.rb +2 -2
  47. data/specs/constraints/set_domain.rb +7 -3
  48. data/specs/constraints/set_operation.rb +2 -2
  49. data/specs/constraints/set_relation.rb +2 -6
  50. data/specs/constraints/sort.rb +20 -16
  51. data/specs/distribution.rb +14 -0
  52. data/specs/model.rb +4 -4
  53. data/tasks/dependencies.txt +21 -0
  54. data/tasks/distribution.rake +81 -8
  55. data/tasks/svn.rake +6 -3
  56. data/vendor/rust/include/rust_checks.hh +2 -1
  57. data/vendor/rust/include/rust_conversions.hh +2 -2
  58. data/vendor/rust/rust/attribute.rb +2 -2
  59. data/vendor/rust/rust/class.rb +2 -2
  60. data/vendor/rust/rust/cxxclass.rb +0 -2
  61. data/vendor/rust/rust/function.rb +2 -2
  62. data/vendor/rust/rust/templates/AttributeDefinition.rusttpl +1 -1
  63. data/vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl +1 -1
  64. data/vendor/rust/rust/templates/VariableFunctionCall.rusttpl +1 -1
  65. data/vendor/rust/rust/type.rb +1 -1
  66. 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.3.1, which can be downloaded from
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
 
@@ -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
- unless predefined_values.column_size == 9 and
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
- sub_matrix_size = Math.sqrt(n).round
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 + 9))
43
- columns << [1, 10, 19, 28, 37, 46, 55, 64, 73].map{ |e| e + i }
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
- sub_matrix_size.times do |i|
49
- sub_matrix_size.times do |j|
50
- blocks << [1, 2, 3, 10, 11, 12, 19, 20, 21].map{ |e| e + (j*27)+(i*3) }
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
- find_header("rust_conversions.hh", RUST_INCLUDES)
21
- find_header("rust_checks.hh", RUST_INCLUDES)
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, unsigned int c_d, unsigned int a_d, Search::Stop* st) : Gecode::BAB<MSpace>(space, c_d, a_d, st)
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
@@ -87,7 +87,7 @@ class MDFS : public Gecode::Search::DFS
87
87
  class MBAB : public Gecode::BAB<MSpace>
88
88
  {
89
89
  public:
90
- MBAB(MSpace* space, unsigned int c_d, unsigned int a_d, Search::Stop* st = 0);
90
+ MBAB(MSpace* space, const Search::Options &o);
91
91
  ~MBAB();
92
92
  };
93
93
 
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::Set::card_max);
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::Set::card_max);
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::Set::card_max);
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::Set::card_max);
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
 
@@ -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 "BvarSel" do |enum|
89
- enum.add_value "BVAR_NONE"
90
- enum.add_value "BVAR_MIN_MIN"
91
- enum.add_value "BVAR_MIN_MAX"
92
- enum.add_value "BVAR_MAX_MIN"
93
- enum.add_value "BVAR_MAX_MAX"
94
- enum.add_value "BVAR_SIZE_MIN"
95
- enum.add_value "BVAR_SIZE_MAX"
96
- enum.add_value "BVAR_DEGREE_MAX"
97
- enum.add_value "BVAR_DEGREE_MIN"
98
- enum.add_value "BVAR_REGRET_MIN_MIN"
99
- enum.add_value "BVAR_REGRET_MIN_MAX"
100
- enum.add_value "BVAR_REGRET_MAX_MIN"
101
- enum.add_value "BVAR_REGRET_MAX_MAX"
102
- end
103
-
104
- ns.add_enum "SetBvarSel" do |enum|
105
- enum.add_value "SETBVAR_NONE"
106
- enum.add_value "SETBVAR_MIN_CARD"
107
- enum.add_value "SETBVAR_MAX_CARD"
108
- enum.add_value "SETBVAR_MIN_UNKNOWN_ELEM"
109
- enum.add_value "SETBVAR_MAX_UNKNOWN_ELEM"
110
- end
111
-
112
- ns.add_enum "SetBvalSel" do |enum|
113
- enum.add_value "SETBVAL_MIN"
114
- enum.add_value "SETBVAL_MAX"
115
- end
116
-
117
-
118
- ns.add_enum "BvalSel" do |enum|
119
- enum.add_value "BVAL_MIN"
120
- enum.add_value "BVAL_MED"
121
- enum.add_value "BVAL_MAX"
122
- enum.add_value "BVAL_SPLIT_MIN"
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 "AvalSel" do |enum|
165
- enum.add_value "AVAL_MIN"
166
- enum.add_value "AVAL_MED"
167
- enum.add_value "AVAL_MAX"
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
- klass.add_method "mdescription", "Gecode::MBranchingDesc *", "description"
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
- ns.add_namespace "Limits" do |limitsns|
394
- limitsns.add_namespace "Int" do |intns|
395
- intns.add_constant "INT_MAX", "Gecode::Limits::Int::int_max"
396
- intns.add_constant "INT_MIN", "Gecode::Limits::Int::int_min"
397
- intns.add_constant "DOUBLE_MAX", "Gecode::Limits::Int::double_max"
398
- intns.add_constant "DOUBLE_MIN", "Gecode::Limits::Int::double_min"
399
- end
400
- limitsns.add_namespace "Set" do |setns|
401
- setns.add_constant "INT_MAX", "Gecode::Limits::Set::int_max"
402
- setns.add_constant "INT_MIN", "Gecode::Limits::Set::int_min"
403
- setns.add_constant "CARD_MAX", "Gecode::Limits::Set::card_max"
404
- end
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::IntVar", "other")
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::IntVar", "other")
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 "int", "c_d"
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
- minimodelns.add_cxx_class "LinExpr" do |klass|
664
- klass.add_constructor
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
- klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
711
- operator.add_parameter "Gecode::MiniModel::LinExpr", "other"
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 "BT_VAR"
718
- enum.add_value "BT_NOT"
719
- enum.add_value "BT_AND"
720
- enum.add_value "BT_OR"
721
- enum.add_value "BT_IMP"
722
- enum.add_value "BT_XOR"
723
- enum.add_value "BT_EQV"
724
- enum.add_value "BT_RLIN"
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
- minimodelns.add_cxx_class "LinRel" do |klass|
767
- klass.add_constructor
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
- klass.add_constructor do |method|
770
- method.add_parameter "Gecode::MiniModel::LinExpr", "l"
771
- method.add_parameter "Gecode::IntRelType", "irt"
772
- method.add_parameter "Gecode::MiniModel::LinExpr", "r"
773
- end
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
- klass.add_constructor do |method|
776
- method.add_parameter "Gecode::MiniModel::LinExpr", "l"
777
- method.add_parameter "Gecode::IntRelType", "irt"
778
- method.add_parameter "int", "r"
779
- end
780
-
781
- klass.add_constructor do |method|
782
- method.add_parameter "int", "l"
783
- method.add_parameter "Gecode::IntRelType", "irt"
784
- method.add_parameter "Gecode::MiniModel::LinExpr", "r"
785
- end
786
-
787
- klass.add_method "post", "void" do |method|
788
- method.add_parameter "Gecode::MSpace*", "home"
789
- method.add_parameter "bool", "t"
790
- method.add_parameter "Gecode::IntConLevel", "icl"
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", true
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", true
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", true
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", true
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", true
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", true
854
- end
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::BvarSel", "vars"
996
- func.add_parameter "Gecode::BvalSel", "vals"
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::BvarSel", "vars"
1005
- func.add_parameter "Gecode::BvalSel", "vals"
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::SetBvarSel", "vars"
1014
- func.add_parameter "Gecode::SetBvalSel", "vals"
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::AvalSel", "vals"
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", true
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", true
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", true
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", true
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", true
1082
- end
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", true
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", true
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 "Gecode::MSpace*", "home"
1237
- func.add_parameter "Gecode::IntVar", "x"
1238
- func.add_parameter "int", "l"
1239
- func.add_parameter "int", "m"
1240
- func.add_parameter "Gecode::IntConLevel", "icl"
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 "Gecode::MSpace*", "home"
1255
- func.add_parameter "Gecode::IntVar", "x"
1256
- func.add_parameter "Gecode::IntSet", "s"
1257
- func.add_parameter "Gecode::IntConLevel", "icl"
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 "Gecode::MSpace*", "home"
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 "Gecode::IntSet", "s"
1266
- func.add_parameter "Gecode::IntConLevel", "icl"
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 "Gecode::MSpace*", "home"
1271
- func.add_parameter "Gecode::IntVar", "x"
1272
- func.add_parameter "int", "l"
1273
- func.add_parameter "int", "m"
1274
- func.add_parameter "Gecode::BoolVar", "b"
1275
- func.add_parameter "Gecode::IntConLevel", "icl"
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 "Gecode::MSpace*", "home"
1280
- func.add_parameter "Gecode::IntVar", "x"
1281
- func.add_parameter "Gecode::IntSet", "s"
1282
- func.add_parameter "Gecode::BoolVar", "b"
1283
- func.add_parameter "Gecode::IntConLevel", "icl"
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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 "int", "c_d"
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", true
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", true
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", true
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", true
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", true
1271
+ func.add_parameter "Gecode::IntConLevel", "icl"
1272
+ func.add_parameter "Gecode::PropKind", "pk"
1548
1273
  end
1549
1274
 
1550
- ns.add_function "eq", "void" do |func|
1275
+ ns.add_function "rel" do |func|
1551
1276
  func.add_parameter "Gecode::MSpace*", "home"
1552
- func.add_parameter "Gecode::IntVar", "x1"
1553
- func.add_parameter "Gecode::IntVar", "x2"
1554
- func.add_parameter "Gecode::IntConLevel", "icl", true
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 "eq", "void" do |func|
1284
+ ns.add_function "rel" do |func|
1558
1285
  func.add_parameter "Gecode::MSpace*", "home"
1559
- func.add_parameter "Gecode::IntVar", "x"
1560
- func.add_parameter "int", "n"
1561
- func.add_parameter "Gecode::IntConLevel", "icl", true
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 "eq", "void" do |method|
1565
- method.add_parameter "Gecode::MSpace*", "home"
1566
- method.add_parameter "Gecode::IntVar", "x0"
1567
- method.add_parameter "Gecode::IntVar", "x1"
1568
- method.add_parameter "Gecode::BoolVar", "b"
1569
- method.add_parameter "Gecode::IntConLevel", "icl", true
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 "eq", "void" do |method|
1573
- method.add_parameter "Gecode::MSpace*", "home"
1574
- method.add_parameter "Gecode::IntVar", "x"
1575
- method.add_parameter "int", "n"
1576
- method.add_parameter "Gecode::BoolVar", "b"
1577
- method.add_parameter "Gecode::IntConLevel", "icl", true
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 "eq", "void" do |method|
1581
- method.add_parameter "Gecode::MSpace*", "home"
1582
- method.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1583
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
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
- method.add_parameter "Gecode::IntConLevel", "icl", true
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 "sortedness", "void" do |method|
1589
- method.add_parameter "Gecode::MSpace*", "home"
1590
- method.add_parameter "Gecode::MIntVarArray *", "x" do |param|
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
- method.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1353
+ func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1594
1354
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1595
1355
  end
1596
- method.add_parameter "Gecode::IntConLevel", "icl", true
1356
+ func.add_parameter "Gecode::IntConLevel", "icl"
1357
+ func.add_parameter "Gecode::PropKind", "pk"
1597
1358
  end
1598
- ns.add_function "sortedness", "void" do |method|
1599
- method.add_parameter "Gecode::MSpace*", "home"
1600
- method.add_parameter "Gecode::MIntVarArray *", "x" do |param|
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
- method.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1365
+ func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1604
1366
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1605
1367
  end
1606
- method.add_parameter "Gecode::MIntVarArray *", "z" do |param|
1368
+ func.add_parameter "Gecode::MIntVarArray *", "z" do |param|
1607
1369
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1608
1370
  end
1609
- method.add_parameter "Gecode::IntConLevel", "icl", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
1658
- end
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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", true
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"