gecoder-with-gecode 0.7.1-mswin32 → 0.8.0-mswin32

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/lib/gecode.dll +0 -0
  4. data/lib/gecoder/bindings/bindings.rb +407 -731
  5. data/lib/gecoder/interface/binding_changes.rb +1 -1
  6. data/lib/gecoder/interface/branch.rb +25 -25
  7. data/lib/gecoder/interface/constraints.rb +47 -4
  8. data/lib/gecoder/interface/constraints/bool/boolean.rb +18 -16
  9. data/lib/gecoder/interface/constraints/bool_enum/boolean.rb +13 -11
  10. data/lib/gecoder/interface/constraints/int/arithmetic.rb +5 -4
  11. data/lib/gecoder/interface/constraints/int/domain.rb +8 -9
  12. data/lib/gecoder/interface/constraints/int/linear.rb +10 -8
  13. data/lib/gecoder/interface/constraints/int_enum/arithmetic.rb +4 -4
  14. data/lib/gecoder/interface/constraints/int_enum/channel.rb +2 -2
  15. data/lib/gecoder/interface/constraints/int_enum/count.rb +4 -5
  16. data/lib/gecoder/interface/constraints/int_enum/distinct.rb +7 -2
  17. data/lib/gecoder/interface/constraints/int_enum/element.rb +2 -2
  18. data/lib/gecoder/interface/constraints/int_enum/equality.rb +6 -3
  19. data/lib/gecoder/interface/constraints/int_enum/sort.rb +17 -5
  20. data/lib/gecoder/interface/constraints/set_enum/distinct.rb +0 -36
  21. data/lib/gecoder/interface/constraints/set_var_constraints.rb +5 -0
  22. data/lib/gecoder/interface/model.rb +3 -3
  23. data/lib/gecoder/interface/search.rb +5 -4
  24. data/lib/gecoder/version.rb +1 -1
  25. data/specs/branch.rb +27 -27
  26. data/specs/constraints/arithmetic.rb +48 -30
  27. data/specs/constraints/bool_enum.rb +39 -19
  28. data/specs/constraints/boolean.rb +10 -10
  29. data/specs/constraints/cardinality.rb +12 -9
  30. data/specs/constraints/channel.rb +6 -6
  31. data/specs/constraints/connection.rb +22 -26
  32. data/specs/constraints/constraint_helper.rb +125 -41
  33. data/specs/constraints/count.rb +22 -15
  34. data/specs/constraints/distinct.rb +10 -64
  35. data/specs/constraints/element.rb +14 -12
  36. data/specs/constraints/equality.rb +4 -4
  37. data/specs/constraints/int_domain.rb +8 -7
  38. data/specs/constraints/int_relation.rb +12 -8
  39. data/specs/constraints/linear.rb +4 -4
  40. data/specs/constraints/reification_sugar.rb +22 -4
  41. data/specs/constraints/selection.rb +2 -2
  42. data/specs/constraints/set_domain.rb +7 -3
  43. data/specs/constraints/set_operation.rb +2 -2
  44. data/specs/constraints/set_relation.rb +2 -6
  45. data/specs/constraints/sort.rb +20 -16
  46. data/specs/model.rb +4 -4
  47. data/tasks/dependencies.txt +21 -0
  48. data/tasks/distribution.rake +13 -5
  49. data/vendor/gecode/win32/lib/libgecodeint.dll +0 -0
  50. data/vendor/gecode/win32/lib/libgecodekernel.dll +0 -0
  51. data/vendor/gecode/win32/lib/libgecodeminimodel.dll +0 -0
  52. data/vendor/gecode/win32/lib/libgecodesearch.dll +0 -0
  53. data/vendor/gecode/win32/lib/libgecodeset.dll +0 -0
  54. data/vendor/gecode/win32/lib/libgecodesupport.dll +0 -0
  55. data/vendor/rust/include/rust_checks.hh +2 -1
  56. data/vendor/rust/include/rust_conversions.hh +2 -2
  57. data/vendor/rust/rust/attribute.rb +2 -2
  58. data/vendor/rust/rust/class.rb +2 -2
  59. data/vendor/rust/rust/cxxclass.rb +0 -2
  60. data/vendor/rust/rust/function.rb +2 -2
  61. data/vendor/rust/rust/templates/AttributeDefinition.rusttpl +1 -1
  62. data/vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl +1 -1
  63. data/vendor/rust/rust/templates/VariableFunctionCall.rusttpl +1 -1
  64. data/vendor/rust/rust/type.rb +1 -1
  65. metadata +4 -3
  66. data/tasks/building.howto +0 -65
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
 
data/lib/gecode.dll CHANGED
Binary file
@@ -86,42 +86,41 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
86
86
  # Gecode::Raw instead of GecodeRaw here (and avoid the hidious renaming)
87
87
  # when requiring them.
88
88
  b.add_namespace "GecodeRaw", "Gecode" do |ns|
89
- ns.add_enum "BvarSel" do |enum|
90
- enum.add_value "BVAR_NONE"
91
- enum.add_value "BVAR_MIN_MIN"
92
- enum.add_value "BVAR_MIN_MAX"
93
- enum.add_value "BVAR_MAX_MIN"
94
- enum.add_value "BVAR_MAX_MAX"
95
- enum.add_value "BVAR_SIZE_MIN"
96
- enum.add_value "BVAR_SIZE_MAX"
97
- enum.add_value "BVAR_DEGREE_MAX"
98
- enum.add_value "BVAR_DEGREE_MIN"
99
- enum.add_value "BVAR_REGRET_MIN_MIN"
100
- enum.add_value "BVAR_REGRET_MIN_MAX"
101
- enum.add_value "BVAR_REGRET_MAX_MIN"
102
- enum.add_value "BVAR_REGRET_MAX_MAX"
103
- end
104
-
105
- ns.add_enum "SetBvarSel" do |enum|
106
- enum.add_value "SETBVAR_NONE"
107
- enum.add_value "SETBVAR_MIN_CARD"
108
- enum.add_value "SETBVAR_MAX_CARD"
109
- enum.add_value "SETBVAR_MIN_UNKNOWN_ELEM"
110
- enum.add_value "SETBVAR_MAX_UNKNOWN_ELEM"
111
- end
112
-
113
- ns.add_enum "SetBvalSel" do |enum|
114
- enum.add_value "SETBVAL_MIN"
115
- enum.add_value "SETBVAL_MAX"
116
- end
117
-
118
-
119
- ns.add_enum "BvalSel" do |enum|
120
- enum.add_value "BVAL_MIN"
121
- enum.add_value "BVAL_MED"
122
- enum.add_value "BVAL_MAX"
123
- enum.add_value "BVAL_SPLIT_MIN"
124
- 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"
125
124
  end
126
125
 
127
126
  ns.add_enum "IntRelType" do |enum|
@@ -133,6 +132,14 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
133
132
  enum.add_value "IRT_GR"
134
133
  end
135
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
+
136
143
  ns.add_enum "SetRelType" do |enum|
137
144
  enum.add_value "SRT_EQ"
138
145
  enum.add_value "SRT_NQ"
@@ -156,16 +163,22 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
156
163
  enum.add_value "ICL_DEF"
157
164
  end
158
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
+
159
172
  ns.add_enum "SpaceStatus" do |enum|
160
173
  enum.add_value "SS_FAILED"
161
174
  enum.add_value "SS_SOLVED"
162
175
  enum.add_value "SS_BRANCH"
163
176
  end
164
177
 
165
- ns.add_enum "AvalSel" do |enum|
166
- enum.add_value "AVAL_MIN"
167
- enum.add_value "AVAL_MED"
168
- 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"
169
182
  end
170
183
 
171
184
  ns.add_cxx_class "MIntVarArray" do |klass|
@@ -379,9 +392,11 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
379
392
  klass.add_method "propagators", "int"
380
393
  klass.add_method "branchings", "int"
381
394
  klass.add_method "failed", "bool"
382
- klass.add_method "cached", "int"
383
395
 
384
- 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"
385
400
 
386
401
  klass.add_method "commit" do |method|
387
402
  method.add_parameter "Gecode::MBranchingDesc", "desc" do |param|
@@ -391,18 +406,19 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
391
406
  end
392
407
  end
393
408
 
394
- ns.add_namespace "Limits" do |limitsns|
395
- limitsns.add_namespace "Int" do |intns|
396
- intns.add_constant "INT_MAX", "Gecode::Limits::Int::int_max"
397
- intns.add_constant "INT_MIN", "Gecode::Limits::Int::int_min"
398
- intns.add_constant "DOUBLE_MAX", "Gecode::Limits::Int::double_max"
399
- intns.add_constant "DOUBLE_MIN", "Gecode::Limits::Int::double_min"
400
- end
401
- limitsns.add_namespace "Set" do |setns|
402
- setns.add_constant "INT_MAX", "Gecode::Limits::Set::int_max"
403
- setns.add_constant "INT_MIN", "Gecode::Limits::Set::int_min"
404
- setns.add_constant "CARD_MAX", "Gecode::Limits::Set::card_max"
405
- 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"
406
422
  end
407
423
 
408
424
  ns.add_cxx_class "IntSet" do |klass|
@@ -466,23 +482,23 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
466
482
  method.add_parameter "Gecode::IntVar", "x"
467
483
  end
468
484
 
469
- klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
485
+ klass.add_operator "+", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
470
486
  operator.add_parameter("int", "i")
471
487
  end
472
488
 
473
- klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
489
+ klass.add_operator "-", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
474
490
  operator.add_parameter("int", "i")
475
491
  end
476
492
 
477
- klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
493
+ klass.add_operator "*", "Gecode::MiniModel::LinExpr<Gecode::IntVar>" do |operator|
478
494
  operator.add_parameter("int", "i")
479
495
  end
480
496
 
481
- klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
497
+ klass.add_operator "!=", "Gecode::MiniModel::LinRel<Gecode::IntVar>", "different" do |operator|
482
498
  operator.add_parameter("Gecode::IntVar", "other")
483
499
  end
484
500
 
485
- klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
501
+ klass.add_operator "==", "Gecode::MiniModel::LinRel<Gecode::IntVar>", "equal" do |operator|
486
502
  operator.add_parameter("Gecode::IntVar", "other")
487
503
  end
488
504
 
@@ -495,9 +511,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
495
511
  method.add_parameter "int", "min"
496
512
  method.add_parameter "int", "max"
497
513
  end
498
- klass.add_constructor do |method|
499
- method.add_parameter "Gecode::IntVar", "x"
500
- end
501
514
 
502
515
  klass.add_method "max", "int"
503
516
 
@@ -520,24 +533,24 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
520
533
  method.add_parameter "Gecode::BoolVar", "x"
521
534
  end
522
535
 
523
- klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
536
+ klass.add_operator "+", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
524
537
  operator.add_parameter("int", "i")
525
538
  end
526
539
 
527
- klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
540
+ klass.add_operator "-", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
528
541
  operator.add_parameter("int", "i")
529
542
  end
530
543
 
531
- klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
544
+ klass.add_operator "*", "Gecode::MiniModel::LinExpr<Gecode::BoolVar>" do |operator|
532
545
  operator.add_parameter("int", "i")
533
546
  end
534
547
 
535
- klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
536
- 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")
537
550
  end
538
551
 
539
- klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
540
- 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")
541
554
  end
542
555
  end
543
556
 
@@ -626,9 +639,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
626
639
  klass.bindname = "BAB"
627
640
  klass.add_constructor do |method|
628
641
  method.add_parameter "Gecode::MSpace *", "s"
629
- method.add_parameter "int", "c_d"
630
- method.add_parameter "int", "a_d"
631
- method.add_parameter "Gecode::Search::MStop *", "st"
642
+ method.add_parameter "Gecode::Search::Options", "o"
632
643
  end
633
644
 
634
645
  klass.add_method "next", "Gecode::MSpace *"
@@ -652,6 +663,13 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
652
663
  klass.add_attribute "commit", "int"
653
664
  end
654
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
+
655
673
  searchns.add_namespace "Config" do |intns|
656
674
  intns.add_constant "ADAPTIVE_DISTANCE", "Gecode::Search::Config::a_d"
657
675
  intns.add_constant "MINIMAL_DISTANCE", "Gecode::Search::Config::c_d"
@@ -661,68 +679,74 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
661
679
  # MINIMODEL NAMESPACE
662
680
 
663
681
  ns.add_namespace "MiniModel" do |minimodelns|
664
- minimodelns.add_cxx_class "LinExpr" do |klass|
665
- klass.add_constructor
666
-
667
- klass.add_method "post" do |method|
668
- method.add_parameter "Gecode::MSpace *", "home"
669
- method.add_parameter "Gecode::IntRelType", "irt"
670
- method.add_parameter "Gecode::IntConLevel", "icl"
671
- end
672
-
673
- klass.add_method "post" do |method|
674
- method.add_parameter "Gecode::MSpace *", "home"
675
- method.add_parameter "Gecode::IntRelType", "irt"
676
- method.add_parameter "Gecode::BoolVar", "b"
677
- end
678
-
679
- klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
680
- operator.add_parameter("Gecode::MiniModel::LinExpr", "exp")
681
- end
682
-
683
- klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
684
- operator.add_parameter("Gecode::IntVar", "exp")
685
- end
686
-
687
- klass.add_operator "+", "Gecode::MiniModel::LinExpr" do |operator|
688
- operator.add_parameter("int", "c")
689
- end
690
-
691
- klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
692
- operator.add_parameter("Gecode::MiniModel::LinExpr", "exp")
693
- end
694
-
695
- klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
696
- operator.add_parameter("Gecode::IntVar", "exp")
697
- end
698
-
699
- klass.add_operator "-", "Gecode::MiniModel::LinExpr" do |operator|
700
- operator.add_parameter("int", "c")
701
- end
702
-
703
- klass.add_operator "*", "Gecode::MiniModel::LinExpr" do |operator|
704
- operator.add_parameter("int", "c")
705
- end
706
-
707
- klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
708
- operator.add_parameter "Gecode::MiniModel::LinExpr", "other"
709
- end
682
+ ['Gecode::IntVar', 'Gecode::BoolVar'].each do |template_type|
683
+ minimodelns.add_cxx_class "LinExpr<#{template_type}>" do |klass|
684
+ klass.add_constructor
710
685
 
711
- klass.add_operator "!=", "Gecode::MiniModel::LinRel", "different" do |operator|
712
- 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
713
736
  end
714
737
  end
715
738
 
716
739
  minimodelns.add_cxx_class "BoolExpr" do |klass| # TODO
717
740
  klass.add_enum "NodeType" do |enum|
718
- enum.add_value "BT_VAR"
719
- enum.add_value "BT_NOT"
720
- enum.add_value "BT_AND"
721
- enum.add_value "BT_OR"
722
- enum.add_value "BT_IMP"
723
- enum.add_value "BT_XOR"
724
- enum.add_value "BT_EQV"
725
- 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"
726
750
  end
727
751
  klass.add_constructor do |method|
728
752
  method.add_parameter "Gecode::MiniModel::BoolExpr", "e"
@@ -744,16 +768,24 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
744
768
  end
745
769
 
746
770
  klass.add_constructor do |method|
747
- method.add_parameter "Gecode::MiniModel::LinRel", "e"
771
+ method.add_parameter "Gecode::MiniModel::LinRel<Gecode::IntVar>", "e"
748
772
  end
749
773
 
774
+ klass.add_constructor do |method|
775
+ method.add_parameter "Gecode::MiniModel::LinRel<Gecode::BoolVar>", "e"
776
+ end
777
+
750
778
  klass.add_method "post" do |method|
751
779
  method.add_parameter "Gecode::MSpace *", "home"
780
+ method.add_parameter "Gecode::IntConLevel", "icl"
781
+ method.add_parameter "Gecode::PropKind", "pk"
752
782
  end
753
783
 
754
784
  klass.add_method "post" do |method|
755
785
  method.add_parameter "Gecode::MSpace *", "home"
756
786
  method.add_parameter "bool", "t"
787
+ method.add_parameter "Gecode::IntConLevel", "icl"
788
+ method.add_parameter "Gecode::PropKind", "pk"
757
789
  end
758
790
  end
759
791
 
@@ -764,40 +796,42 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
764
796
  end
765
797
  end
766
798
 
767
- minimodelns.add_cxx_class "LinRel" do |klass|
768
- 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
769
802
 
770
- klass.add_constructor do |method|
771
- method.add_parameter "Gecode::MiniModel::LinExpr", "l"
772
- method.add_parameter "Gecode::IntRelType", "irt"
773
- method.add_parameter "Gecode::MiniModel::LinExpr", "r"
774
- 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
775
808
 
776
- klass.add_constructor do |method|
777
- method.add_parameter "Gecode::MiniModel::LinExpr", "l"
778
- method.add_parameter "Gecode::IntRelType", "irt"
779
- method.add_parameter "int", "r"
780
- end
781
-
782
- klass.add_constructor do |method|
783
- method.add_parameter "int", "l"
784
- method.add_parameter "Gecode::IntRelType", "irt"
785
- method.add_parameter "Gecode::MiniModel::LinExpr", "r"
786
- end
787
-
788
- klass.add_method "post", "void" do |method|
789
- method.add_parameter "Gecode::MSpace*", "home"
790
- method.add_parameter "bool", "t"
791
- 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
792
834
  end
793
- klass.add_method "post", "void" do |method|
794
- method.add_parameter "Gecode::MSpace*", "home"
795
- method.add_parameter "Gecode::BoolVar", "b"
796
- end
797
-
798
- # klass.add_operator "==", "Gecode::MiniModel::LinRel", "equal" do |operator|
799
- # operator.add_parameter "int", "i"
800
- # end
801
835
  end
802
836
  end
803
837
 
@@ -809,7 +843,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
809
843
  func.add_parameter "Gecode::MSpace *", "home"
810
844
  func.add_parameter "Gecode::IntVar", "x0"
811
845
  func.add_parameter "Gecode::IntVar", "x1"
812
- func.add_parameter "Gecode::IntConLevel", "icl", true
846
+ func.add_parameter "Gecode::IntConLevel", "icl"
847
+ func.add_parameter "Gecode::PropKind", "pk"
813
848
  end
814
849
 
815
850
  ns.add_function "max" do |func|
@@ -817,7 +852,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
817
852
  func.add_parameter "Gecode::IntVar", "x0"
818
853
  func.add_parameter "Gecode::IntVar", "x1"
819
854
  func.add_parameter "Gecode::IntVar", "x2"
820
- func.add_parameter "Gecode::IntConLevel", "icl", true
855
+ func.add_parameter "Gecode::IntConLevel", "icl"
856
+ func.add_parameter "Gecode::PropKind", "pk"
821
857
  end
822
858
 
823
859
  ns.add_function "max" do |func|
@@ -826,7 +862,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
826
862
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 1)->ptr()"
827
863
  end
828
864
  func.add_parameter "Gecode::IntVar", "y"
829
- func.add_parameter "Gecode::IntConLevel", "icl", true
865
+ func.add_parameter "Gecode::IntConLevel", "icl"
866
+ func.add_parameter "Gecode::PropKind", "pk"
830
867
  end
831
868
 
832
869
  ns.add_function "min" do |func|
@@ -834,7 +871,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
834
871
  func.add_parameter "Gecode::IntVar", "x0"
835
872
  func.add_parameter "Gecode::IntVar", "x1"
836
873
  func.add_parameter "Gecode::IntVar", "x2"
837
- func.add_parameter "Gecode::IntConLevel", "icl", true
874
+ func.add_parameter "Gecode::IntConLevel", "icl"
875
+ func.add_parameter "Gecode::PropKind", "pk"
838
876
  end
839
877
 
840
878
  ns.add_function "min" do |func|
@@ -843,7 +881,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
843
881
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 1)->ptr()"
844
882
  end
845
883
  func.add_parameter "Gecode::IntVar", "y"
846
- func.add_parameter "Gecode::IntConLevel", "icl", true
884
+ func.add_parameter "Gecode::IntConLevel", "icl"
885
+ func.add_parameter "Gecode::PropKind", "pk"
847
886
  end
848
887
 
849
888
  ns.add_function "mult" do |func|
@@ -851,150 +890,17 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
851
890
  func.add_parameter "Gecode::IntVar", "x0"
852
891
  func.add_parameter "Gecode::IntVar", "x1"
853
892
  func.add_parameter "Gecode::IntVar", "x2"
854
- func.add_parameter "Gecode::IntConLevel", "icl", true
855
- end
856
-
857
- # Bool post functions
858
-
859
- ns.add_function "bool_not" do |func|
860
- func.add_parameter "Gecode::MSpace *", "home"
861
- func.add_parameter "Gecode::BoolVar", "b0"
862
- func.add_parameter "Gecode::BoolVar", "b1"
863
- func.add_parameter "Gecode::IntConLevel", "icl", true
864
- end
865
-
866
- ns.add_function "bool_eq" do |func|
867
- func.add_parameter "Gecode::MSpace *", "home"
868
- func.add_parameter "Gecode::BoolVar", "b0"
869
- func.add_parameter "Gecode::BoolVar", "b1"
870
- func.add_parameter "Gecode::IntConLevel", "icl", true
871
- end
872
-
873
- ns.add_function "bool_and" do |func|
874
- func.add_parameter "Gecode::MSpace *", "home"
875
- func.add_parameter "Gecode::BoolVar", "b0"
876
- func.add_parameter "Gecode::BoolVar", "b1"
877
- func.add_parameter "Gecode::BoolVar", "b2"
878
- func.add_parameter "Gecode::IntConLevel", "icl", true
879
- end
880
-
881
- ns.add_function "bool_and" do |func|
882
- func.add_parameter "Gecode::MSpace *", "home"
883
- func.add_parameter "Gecode::BoolVar", "b0"
884
- func.add_parameter "Gecode::BoolVar", "b1"
885
- func.add_parameter "bool", "b2"
886
- func.add_parameter "Gecode::IntConLevel", "icl", true
887
- end
888
-
889
- ns.add_function "bool_and" do |func|
890
- func.add_parameter "Gecode::MSpace *", "home"
891
- func.add_parameter "Gecode::MBoolVarArray", "b0" do |param|
892
- param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 1)->ptr())"
893
- end
894
- func.add_parameter "Gecode::BoolVar", "c"
895
- func.add_parameter "Gecode::IntConLevel", "icl", true
896
- end
897
-
898
- ns.add_function "bool_and" do |func|
899
- func.add_parameter "Gecode::MSpace *", "home"
900
- func.add_parameter "Gecode::MBoolVarArray", "b0" do |param|
901
- param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 1)->ptr())"
902
- end
903
- func.add_parameter "bool", "c"
904
- func.add_parameter "Gecode::IntConLevel", "icl", true
905
- end
906
-
907
- ns.add_function "bool_or" do |func|
908
- func.add_parameter "Gecode::MSpace *", "home"
909
- func.add_parameter "Gecode::BoolVar", "b0"
910
- func.add_parameter "Gecode::BoolVar", "b1"
911
- func.add_parameter "Gecode::BoolVar", "b2"
912
- func.add_parameter "Gecode::IntConLevel", "icl", true
913
- end
914
-
915
- ns.add_function "bool_or" do |func|
916
- func.add_parameter "Gecode::MSpace *", "home"
917
- func.add_parameter "Gecode::BoolVar", "b0"
918
- func.add_parameter "Gecode::BoolVar", "b1"
919
- func.add_parameter "bool", "b2"
920
- func.add_parameter "Gecode::IntConLevel", "icl", true
921
- end
922
-
923
- ns.add_function "bool_or" do |func|
924
- func.add_parameter "Gecode::MSpace *", "home"
925
- func.add_parameter "Gecode::MBoolVarArray", "b" do |param|
926
- param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr())"
927
- end
928
- func.add_parameter "Gecode::BoolVar", "c"
929
- func.add_parameter "Gecode::IntConLevel", "icl", true
930
- end
931
-
932
- ns.add_function "bool_or" do |func|
933
- func.add_parameter "Gecode::MSpace *", "home"
934
- func.add_parameter "Gecode::MBoolVarArray", "b" do |param|
935
- param.custom_conversion = "*reinterpret_cast<Gecode::BoolVarArgs *>(ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr())"
936
- end
937
- func.add_parameter "bool", "c"
938
- func.add_parameter "Gecode::IntConLevel", "icl", true
939
- end
940
-
941
- ns.add_function "bool_imp" do |func|
942
- func.add_parameter "Gecode::MSpace *", "home"
943
- func.add_parameter "Gecode::BoolVar", "b0"
944
- func.add_parameter "Gecode::BoolVar", "b1"
945
- func.add_parameter "Gecode::BoolVar", "b2"
946
- func.add_parameter "Gecode::IntConLevel", "icl", true
947
- end
948
-
949
- ns.add_function "bool_imp" do |func|
950
- func.add_parameter "Gecode::MSpace *", "home"
951
- func.add_parameter "Gecode::BoolVar", "b0"
952
- func.add_parameter "Gecode::BoolVar", "b1"
953
- func.add_parameter "bool", "b2"
954
- func.add_parameter "Gecode::IntConLevel", "icl", true
955
- end
956
-
957
- ns.add_function "bool_eqv" do |func|
958
- func.add_parameter "Gecode::MSpace *", "home"
959
- func.add_parameter "Gecode::BoolVar", "b0"
960
- func.add_parameter "Gecode::BoolVar", "b1"
961
- func.add_parameter "Gecode::BoolVar", "b2"
962
- func.add_parameter "Gecode::IntConLevel", "icl", true
963
- end
964
-
965
- ns.add_function "bool_eqv" do |func|
966
- func.add_parameter "Gecode::MSpace *", "home"
967
- func.add_parameter "Gecode::BoolVar", "b0"
968
- func.add_parameter "Gecode::BoolVar", "b1"
969
- func.add_parameter "bool", "b2"
970
- func.add_parameter "Gecode::IntConLevel", "icl", true
971
- end
972
-
973
- ns.add_function "bool_xor" do |func|
974
- func.add_parameter "Gecode::MSpace *", "home"
975
- func.add_parameter "Gecode::BoolVar", "b0"
976
- func.add_parameter "Gecode::BoolVar", "b1"
977
- func.add_parameter "Gecode::BoolVar", "b2"
978
- func.add_parameter "Gecode::IntConLevel", "icl", true
979
- end
980
-
981
- ns.add_function "bool_xor" do |func|
982
- func.add_parameter "Gecode::MSpace *", "home"
983
- func.add_parameter "Gecode::BoolVar", "b0"
984
- func.add_parameter "Gecode::BoolVar", "b1"
985
- func.add_parameter "bool", "b2"
986
- func.add_parameter "Gecode::IntConLevel", "icl", true
893
+ func.add_parameter "Gecode::IntConLevel", "icl"
894
+ func.add_parameter "Gecode::PropKind", "pk"
987
895
  end
988
896
 
989
- #
990
-
991
897
  ns.add_function "branch" do |func|
992
898
  func.add_parameter "Gecode::MSpace *", "home"
993
899
  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
994
900
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
995
901
  end
996
- func.add_parameter "Gecode::BvarSel", "vars"
997
- func.add_parameter "Gecode::BvalSel", "vals"
902
+ func.add_parameter "Gecode::IntVarBranch", "vars"
903
+ func.add_parameter "Gecode::IntValBranch", "vals"
998
904
  end
999
905
 
1000
906
  ns.add_function "branch" do |func|
@@ -1002,8 +908,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1002
908
  func.add_parameter "Gecode::MBoolVarArray *", "iva" do |param|
1003
909
  param.custom_conversion = "*ruby2Gecode_MBoolVarArrayPtr(argv[1], 2)->ptr()"
1004
910
  end
1005
- func.add_parameter "Gecode::BvarSel", "vars"
1006
- func.add_parameter "Gecode::BvalSel", "vals"
911
+ func.add_parameter "Gecode::IntVarBranch", "vars"
912
+ func.add_parameter "Gecode::IntValBranch", "vals"
1007
913
  end
1008
914
 
1009
915
  ns.add_function "branch" do |func|
@@ -1011,8 +917,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1011
917
  func.add_parameter "Gecode::MSetVarArray *", "sva" do |param|
1012
918
  param.custom_conversion = "*ruby2Gecode_MSetVarArrayPtr(argv[1], 2)->ptr()"
1013
919
  end
1014
- func.add_parameter "Gecode::SetBvarSel", "vars"
1015
- func.add_parameter "Gecode::SetBvalSel", "vals"
920
+ func.add_parameter "Gecode::SetVarBranch", "vars"
921
+ func.add_parameter "Gecode::SetValBranch", "vals"
1016
922
  end
1017
923
 
1018
924
  ns.add_function "assign" do |func|
@@ -1020,7 +926,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1020
926
  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
1021
927
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(iva, 1)->ptr()"
1022
928
  end
1023
- func.add_parameter "Gecode::AvalSel", "vals"
929
+ func.add_parameter "Gecode::IntAssign", "vals"
1024
930
  end
1025
931
 
1026
932
  ns.add_function "channel" do |func|
@@ -1031,7 +937,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1031
937
  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1032
938
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1033
939
  end
1034
- func.add_parameter "Gecode::IntConLevel", "icl", true
940
+ func.add_parameter "Gecode::IntConLevel", "icl"
941
+ func.add_parameter "Gecode::PropKind", "pk"
1035
942
  end
1036
943
 
1037
944
  ns.add_function "count" do |func|
@@ -1043,7 +950,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1043
950
  func.add_parameter "int", "y"
1044
951
  func.add_parameter "Gecode::IntRelType", "r"
1045
952
  func.add_parameter "int", "m"
1046
- func.add_parameter "Gecode::IntConLevel", "icl", true
953
+ func.add_parameter "Gecode::IntConLevel", "icl"
954
+ func.add_parameter "Gecode::PropKind", "pk"
1047
955
  end
1048
956
 
1049
957
  ns.add_function "count" do |func|
@@ -1055,7 +963,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1055
963
  func.add_parameter "Gecode::IntVar", "y"
1056
964
  func.add_parameter "Gecode::IntRelType", "r"
1057
965
  func.add_parameter "int", "m"
1058
- func.add_parameter "Gecode::IntConLevel", "icl", true
966
+ func.add_parameter "Gecode::IntConLevel", "icl"
967
+ func.add_parameter "Gecode::PropKind", "pk"
1059
968
  end
1060
969
 
1061
970
  ns.add_function "count" do |func|
@@ -1067,7 +976,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1067
976
  func.add_parameter "int", "y"
1068
977
  func.add_parameter "Gecode::IntRelType", "r"
1069
978
  func.add_parameter "Gecode::IntVar", "m"
1070
- func.add_parameter "Gecode::IntConLevel", "icl", true
979
+ func.add_parameter "Gecode::IntConLevel", "icl"
980
+ func.add_parameter "Gecode::PropKind", "pk"
1071
981
  end
1072
982
 
1073
983
  ns.add_function "count" do |func|
@@ -1079,140 +989,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1079
989
  func.add_parameter "Gecode::IntVar", "y"
1080
990
  func.add_parameter "Gecode::IntRelType", "r"
1081
991
  func.add_parameter "Gecode::IntVar", "m"
1082
- func.add_parameter "Gecode::IntConLevel", "icl", true
1083
- end
1084
-
1085
-
1086
- ns.add_function "cumulatives", "void" do |method|
1087
- method.add_parameter "Gecode::MSpace*", "home"
1088
- method.add_parameter "Gecode::IntArgs&", "machine" do |param|
1089
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1090
- end
1091
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1092
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1093
- end
1094
- method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
1095
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1096
- end
1097
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1098
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1099
- end
1100
- method.add_parameter "Gecode::MIntVarArray", "height" do |param|
1101
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
1102
- end
1103
- method.add_parameter "Gecode::IntArgs&", "limit"
1104
- method.add_parameter "bool", "at_most"
1105
- method.add_parameter "Gecode::IntConLevel", "icl", true
1106
- end
1107
-
1108
- ns.add_function "cumulatives", "void" do |method|
1109
- method.add_parameter "Gecode::MSpace*", "home"
1110
- method.add_parameter "Gecode::IntArgs&", "machine" do |param|
1111
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1112
- end
1113
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1114
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1115
- end
1116
- method.add_parameter "Gecode::IntArgs&", "duration"
1117
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1118
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1119
- end
1120
- method.add_parameter "Gecode::MIntVarArray", "height" do |param|
1121
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
1122
- end
1123
- method.add_parameter "Gecode::IntArgs&", "limit"
1124
- method.add_parameter "bool", "at_most"
1125
- method.add_parameter "Gecode::IntConLevel", "icl", true
1126
- end
1127
-
1128
- ns.add_function "cumulatives", "void" do |method|
1129
- method.add_parameter "Gecode::MSpace*", "home"
1130
- method.add_parameter "Gecode::IntArgs&", "machine"
1131
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1132
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1133
- end
1134
- method.add_parameter "Gecode::IntArgs&", "duration"
1135
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1136
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1137
- end
1138
- method.add_parameter "Gecode::MIntVarArray", "height" do |param|
1139
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[5], 6)->ptr()"
1140
- end
1141
- method.add_parameter "Gecode::IntArgs&", "limit"
1142
- method.add_parameter "bool", "at_most"
1143
- method.add_parameter "Gecode::IntConLevel", "icl", true
1144
- end
1145
-
1146
- ns.add_function "cumulatives", "void" do |method|
1147
- method.add_parameter "Gecode::MSpace*", "home"
1148
- method.add_parameter "Gecode::IntArgs&", "machine" do |param|
1149
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1150
- end
1151
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1152
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1153
- end
1154
- method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
1155
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1156
- end
1157
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1158
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1159
- end
1160
- method.add_parameter "Gecode::IntArgs&", "height"
1161
- method.add_parameter "Gecode::IntArgs&", "limit"
1162
- method.add_parameter "bool", "at_most"
1163
- method.add_parameter "Gecode::IntConLevel", "icl", true
1164
- end
1165
-
1166
- ns.add_function "cumulatives", "void" do |method|
1167
- method.add_parameter "Gecode::MSpace*", "home"
1168
- method.add_parameter "Gecode::IntArgs&", "machine"
1169
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1170
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1171
- end
1172
- method.add_parameter "Gecode::MIntVarArray", "duration" do |param|
1173
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1174
- end
1175
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1176
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1177
- end
1178
- method.add_parameter "Gecode::IntArgs&", "height"
1179
- method.add_parameter "Gecode::IntArgs&", "limit"
1180
- method.add_parameter "bool", "at_most"
1181
- method.add_parameter "Gecode::IntConLevel", "icl"
1182
- end
1183
-
1184
- ns.add_function "cumulatives", "void" do |method|
1185
- method.add_parameter "Gecode::MSpace*", "home"
1186
- method.add_parameter "Gecode::IntArgs&", "machine" do |param|
1187
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1188
- end
1189
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1190
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1191
- end
1192
- method.add_parameter "Gecode::IntArgs&", "duration"
1193
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1194
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1195
- end
1196
- method.add_parameter "Gecode::IntArgs&", "height"
1197
- method.add_parameter "Gecode::IntArgs&", "limit"
1198
- method.add_parameter "bool", "at_most"
1199
- method.add_parameter "Gecode::IntConLevel", "icl"
1200
- end
1201
-
1202
- ns.add_function "cumulatives", "void" do |method|
1203
- method.add_parameter "Gecode::MSpace*", "home"
1204
- method.add_parameter "Gecode::IntArgs&", "machine"
1205
- method.add_parameter "Gecode::MIntVarArray", "start" do |param|
1206
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1207
- end
1208
- method.add_parameter "Gecode::IntArgs&", "duration"
1209
- method.add_parameter "Gecode::MIntVarArray", "end" do |param|
1210
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[4], 5)->ptr()"
1211
- end
1212
- method.add_parameter "Gecode::IntArgs&", "height"
1213
- method.add_parameter "Gecode::IntArgs&", "limit"
1214
- method.add_parameter "bool", "at_most"
1215
- method.add_parameter "Gecode::IntConLevel", "icl", true
992
+ func.add_parameter "Gecode::IntConLevel", "icl"
993
+ func.add_parameter "Gecode::PropKind", "pk"
1216
994
  end
1217
995
 
1218
996
  ns.add_function "distinct" do |func|
@@ -1220,7 +998,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1220
998
  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
1221
999
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1222
1000
  end
1223
- func.add_parameter "Gecode::IntConLevel", "icl", true
1001
+ func.add_parameter "Gecode::IntConLevel", "icl"
1002
+ func.add_parameter "Gecode::PropKind", "pk"
1224
1003
  end
1225
1004
 
1226
1005
  ns.add_function "distinct" do |func|
@@ -1229,16 +1008,18 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1229
1008
  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
1230
1009
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1231
1010
  end
1232
- func.add_parameter "Gecode::IntConLevel", "icl", true
1011
+ func.add_parameter "Gecode::IntConLevel", "icl"
1012
+ func.add_parameter "Gecode::PropKind", "pk"
1233
1013
  end
1234
1014
 
1235
1015
 
1236
1016
  ns.add_function "dom" do |func|
1237
- func.add_parameter "Gecode::MSpace*", "home"
1238
- func.add_parameter "Gecode::IntVar", "x"
1239
- func.add_parameter "int", "l"
1240
- func.add_parameter "int", "m"
1241
- 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"
1242
1023
  end
1243
1024
 
1244
1025
  ns.add_function "dom" do |func|
@@ -1249,39 +1030,44 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1249
1030
  func.add_parameter "int", "l"
1250
1031
  func.add_parameter "int", "m"
1251
1032
  func.add_parameter "Gecode::IntConLevel", "icl"
1033
+ func.add_parameter "Gecode::PropKind", "pk"
1252
1034
  end
1253
1035
 
1254
1036
  ns.add_function "dom" do |func|
1255
- func.add_parameter "Gecode::MSpace*", "home"
1256
- func.add_parameter "Gecode::IntVar", "x"
1257
- func.add_parameter "Gecode::IntSet", "s"
1258
- 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"
1259
1042
  end
1260
1043
 
1261
1044
  ns.add_function "dom" do |func|
1262
- func.add_parameter "Gecode::MSpace*", "home"
1045
+ func.add_parameter "Gecode::MSpace*", "home"
1263
1046
  func.add_parameter "Gecode::MIntVarArray *", "iva" do |param|
1264
1047
  param.custom_conversion = "*reinterpret_cast<Gecode::IntVarArgs *>(ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr())"
1265
1048
  end
1266
- func.add_parameter "Gecode::IntSet", "s"
1267
- 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"
1268
1052
  end
1269
1053
 
1270
1054
  ns.add_function "dom" do |func|
1271
- func.add_parameter "Gecode::MSpace*", "home"
1272
- func.add_parameter "Gecode::IntVar", "x"
1273
- func.add_parameter "int", "l"
1274
- func.add_parameter "int", "m"
1275
- func.add_parameter "Gecode::BoolVar", "b"
1276
- 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"
1277
1062
  end
1278
1063
 
1279
1064
  ns.add_function "dom" do |func|
1280
- func.add_parameter "Gecode::MSpace*", "home"
1281
- func.add_parameter "Gecode::IntVar", "x"
1282
- func.add_parameter "Gecode::IntSet", "s"
1283
- func.add_parameter "Gecode::BoolVar", "b"
1284
- 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"
1285
1071
  end
1286
1072
 
1287
1073
  ns.add_function "element", "void" do |func|
@@ -1289,7 +1075,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1289
1075
  func.add_parameter "Gecode::IntArgs&", "x"
1290
1076
  func.add_parameter "Gecode::IntVar", "y0"
1291
1077
  func.add_parameter "Gecode::IntVar", "y1"
1292
- func.add_parameter "Gecode::IntConLevel", "icl", true
1078
+ func.add_parameter "Gecode::IntConLevel", "icl"
1079
+ func.add_parameter "Gecode::PropKind", "pk"
1293
1080
  end
1294
1081
 
1295
1082
  ns.add_function "element", "void" do |func|
@@ -1299,83 +1086,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1299
1086
  end
1300
1087
  func.add_parameter "Gecode::IntVar", "y0"
1301
1088
  func.add_parameter "Gecode::IntVar", "y1"
1302
- func.add_parameter "Gecode::IntConLevel", "icl", true
1303
- end
1304
-
1305
- ns.add_function "gcc", "void" do |func|
1306
- func.add_parameter "Gecode::MSpace*", "home"
1307
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1308
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1309
- end
1310
- func.add_parameter "Gecode::IntArgs", "c"
1311
- func.add_parameter "int", "m"
1312
- func.add_parameter "int", "unspec_low"
1313
- func.add_parameter "int", "unspec_up"
1314
- func.add_parameter "int", "min"
1315
- func.add_parameter "int", "max"
1316
- func.add_parameter "Gecode::IntConLevel", "icl", true
1317
- end
1318
-
1319
- ns.add_function "gcc", "void" do |func|
1320
- func.add_parameter "Gecode::MSpace*", "home"
1321
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1322
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1323
- end
1324
- func.add_parameter "Gecode::IntArgs", "c"
1325
- func.add_parameter "int", "m"
1326
- func.add_parameter "int", "unspec"
1327
- func.add_parameter "int", "min"
1328
- func.add_parameter "int", "max"
1329
- func.add_parameter "Gecode::IntConLevel", "icl", true
1330
- end
1331
-
1332
- ns.add_function "gcc", "void" do |func|
1333
- func.add_parameter "Gecode::MSpace*", "home"
1334
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1335
- param.custom_conversion = "*reinterpret_cast<Gecode::IntVarArgs *>(ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr())"
1336
- end
1337
- func.add_parameter "int", "lb"
1338
- func.add_parameter "int", "ub"
1339
- func.add_parameter "Gecode::IntConLevel", "icl", true
1340
- end
1341
-
1342
- ns.add_function "gcc", "void" do |func|
1343
- func.add_parameter "Gecode::MSpace*", "home"
1344
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1345
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1346
- end
1347
- func.add_parameter "int", "ub"
1348
- func.add_parameter "Gecode::IntConLevel", "icl", true
1349
- end
1350
-
1351
- ns.add_function "gcc", "void" do |func|
1352
- func.add_parameter "Gecode::MSpace*", "home"
1353
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1354
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1355
- end
1356
- func.add_parameter "Gecode::MIntVarArray *", "c" do |param|
1357
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1358
- end
1359
- func.add_parameter "int", "min"
1360
- func.add_parameter "int", "max"
1361
- func.add_parameter "Gecode::IntConLevel", "icl", true
1362
- end
1363
-
1364
- ns.add_function "gcc", "void" do |func|
1365
- func.add_parameter "Gecode::MSpace*", "home"
1366
- func.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1367
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1368
- end
1369
- func.add_parameter "Gecode::IntArgs", "v"
1370
- func.add_parameter "Gecode::MIntVarArray *", "c" do |param|
1371
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1372
- end
1373
- func.add_parameter "int", "m"
1374
- func.add_parameter "int", "unspec"
1375
- func.add_parameter "bool", "all"
1376
- func.add_parameter "int", "min"
1377
- func.add_parameter "int", "max"
1378
- func.add_parameter "Gecode::IntConLevel", "icl", true
1089
+ func.add_parameter "Gecode::IntConLevel", "icl"
1379
1090
  end
1380
1091
 
1381
1092
  ns.add_function "linear", "void" do |func|
@@ -1385,7 +1096,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1385
1096
  end
1386
1097
  func.add_parameter "Gecode::IntRelType", "r"
1387
1098
  func.add_parameter "int", "c"
1388
- func.add_parameter "Gecode::IntConLevel", "icl", true
1099
+ func.add_parameter "Gecode::IntConLevel", "icl"
1100
+ func.add_parameter "Gecode::PropKind", "pk"
1389
1101
  end
1390
1102
  ns.add_function "linear", "void" do |func|
1391
1103
  func.add_parameter "Gecode::MSpace*", "home"
@@ -1395,7 +1107,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1395
1107
  func.add_parameter "Gecode::IntRelType", "r"
1396
1108
  func.add_parameter "int", "c"
1397
1109
  func.add_parameter "Gecode::BoolVar", "b"
1398
- func.add_parameter "Gecode::IntConLevel", "icl", true
1110
+ func.add_parameter "Gecode::IntConLevel", "icl"
1111
+ func.add_parameter "Gecode::PropKind", "pk"
1399
1112
  end
1400
1113
 
1401
1114
  ns.add_function "linear", "void" do |func|
@@ -1406,7 +1119,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1406
1119
  end
1407
1120
  func.add_parameter "Gecode::IntRelType", "r"
1408
1121
  func.add_parameter "int", "c"
1409
- func.add_parameter "Gecode::IntConLevel", "icl", true
1122
+ func.add_parameter "Gecode::IntConLevel", "icl"
1123
+ func.add_parameter "Gecode::PropKind", "pk"
1410
1124
  end
1411
1125
 
1412
1126
  ns.add_function "linear", "void" do |func|
@@ -1418,7 +1132,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1418
1132
  func.add_parameter "Gecode::IntRelType", "r"
1419
1133
  func.add_parameter "int", "c"
1420
1134
  func.add_parameter "Gecode::BoolVar", "b"
1421
- func.add_parameter "Gecode::IntConLevel", "icl", true
1135
+ func.add_parameter "Gecode::IntConLevel", "icl"
1136
+ func.add_parameter "Gecode::PropKind", "pk"
1422
1137
  end
1423
1138
 
1424
1139
  ns.add_function "linear", "void" do |func|
@@ -1428,7 +1143,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1428
1143
  end
1429
1144
  func.add_parameter "Gecode::IntRelType", "r"
1430
1145
  func.add_parameter "Gecode::IntVar", "c"
1431
- func.add_parameter "Gecode::IntConLevel", "icl", true
1146
+ func.add_parameter "Gecode::IntConLevel", "icl"
1147
+ func.add_parameter "Gecode::PropKind", "pk"
1432
1148
  end
1433
1149
 
1434
1150
  ns.add_function "linear", "void" do |func|
@@ -1439,7 +1155,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1439
1155
  func.add_parameter "Gecode::IntRelType", "r"
1440
1156
  func.add_parameter "Gecode::IntVar", "c"
1441
1157
  func.add_parameter "Gecode::BoolVar", "b"
1442
- func.add_parameter "Gecode::IntConLevel", "icl", true
1158
+ func.add_parameter "Gecode::IntConLevel", "icl"
1159
+ func.add_parameter "Gecode::PropKind", "pk"
1443
1160
  end
1444
1161
 
1445
1162
 
@@ -1451,7 +1168,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1451
1168
  end
1452
1169
  func.add_parameter "Gecode::IntRelType", "r"
1453
1170
  func.add_parameter "Gecode::IntVar", "y"
1454
- func.add_parameter "Gecode::IntConLevel", "icl", true
1171
+ func.add_parameter "Gecode::IntConLevel", "icl"
1172
+ func.add_parameter "Gecode::PropKind", "pk"
1455
1173
  end
1456
1174
 
1457
1175
  ns.add_function "linear", "void" do |func|
@@ -1463,7 +1181,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1463
1181
  func.add_parameter "Gecode::IntRelType", "r"
1464
1182
  func.add_parameter "Gecode::IntVar", "y"
1465
1183
  func.add_parameter "Gecode::BoolVar", "b"
1466
- func.add_parameter "Gecode::IntConLevel", "icl", true
1184
+ func.add_parameter "Gecode::IntConLevel", "icl"
1185
+ func.add_parameter "Gecode::PropKind", "pk"
1467
1186
  end
1468
1187
 
1469
1188
  ns.add_function "linear", "void" do |func|
@@ -1473,7 +1192,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1473
1192
  end
1474
1193
  func.add_parameter "Gecode::IntRelType", "r"
1475
1194
  func.add_parameter "int", "y"
1476
- func.add_parameter "Gecode::IntConLevel", "icl", true
1195
+ func.add_parameter "Gecode::IntConLevel", "icl"
1196
+ func.add_parameter "Gecode::PropKind", "pk"
1477
1197
  end
1478
1198
 
1479
1199
  ns.add_function "linear", "void" do |func|
@@ -1483,7 +1203,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1483
1203
  end
1484
1204
  func.add_parameter "Gecode::IntRelType", "r"
1485
1205
  func.add_parameter "Gecode::IntVar", "y"
1486
- func.add_parameter "Gecode::IntConLevel", "icl", true
1206
+ func.add_parameter "Gecode::IntConLevel", "icl"
1207
+ func.add_parameter "Gecode::PropKind", "pk"
1487
1208
  end
1488
1209
 
1489
1210
  # ns.add_function "regular", "void" do |func|
@@ -1497,9 +1218,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1497
1218
 
1498
1219
  ns.add_function "bab", "Gecode::MSpace*" do |func|
1499
1220
  func.add_parameter "Gecode::MSpace*", "home"
1500
- func.add_parameter "int", "c_d"
1501
- func.add_parameter "int", "a_d"
1502
- func.add_parameter "Gecode::Search::MStop *", "st"
1221
+ func.add_parameter "Gecode::Search::Options", "o"
1503
1222
  end
1504
1223
 
1505
1224
  ns.add_function "rel" do |func|
@@ -1507,7 +1226,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1507
1226
  func.add_parameter "Gecode::IntVar", "x0"
1508
1227
  func.add_parameter "Gecode::IntRelType", "r"
1509
1228
  func.add_parameter "int", "c"
1510
- func.add_parameter "Gecode::IntConLevel", "icl", true
1229
+ func.add_parameter "Gecode::IntConLevel", "icl"
1230
+ func.add_parameter "Gecode::PropKind", "pk"
1511
1231
  end
1512
1232
 
1513
1233
  ns.add_function "rel" do |func|
@@ -1515,7 +1235,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1515
1235
  func.add_parameter "Gecode::IntVar", "x0"
1516
1236
  func.add_parameter "Gecode::IntRelType", "r"
1517
1237
  func.add_parameter "Gecode::IntVar", "x1"
1518
- func.add_parameter "Gecode::IntConLevel", "icl", true
1238
+ func.add_parameter "Gecode::IntConLevel", "icl"
1239
+ func.add_parameter "Gecode::PropKind", "pk"
1519
1240
  end
1520
1241
 
1521
1242
  ns.add_function "rel" do |func|
@@ -1524,7 +1245,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1524
1245
  func.add_parameter "Gecode::IntRelType", "r"
1525
1246
  func.add_parameter "Gecode::IntVar", "x1"
1526
1247
  func.add_parameter "Gecode::BoolVar", "b"
1527
- func.add_parameter "Gecode::IntConLevel", "icl", true
1248
+ func.add_parameter "Gecode::IntConLevel", "icl"
1249
+ func.add_parameter "Gecode::PropKind", "pk"
1528
1250
  end
1529
1251
 
1530
1252
  ns.add_function "rel" do |func|
@@ -1533,7 +1255,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1533
1255
  func.add_parameter "Gecode::IntRelType", "r"
1534
1256
  func.add_parameter "int", "c"
1535
1257
  func.add_parameter "Gecode::BoolVar", "b"
1536
- func.add_parameter "Gecode::IntConLevel", "icl", true
1258
+ func.add_parameter "Gecode::IntConLevel", "icl"
1259
+ func.add_parameter "Gecode::PropKind", "pk"
1537
1260
  end
1538
1261
 
1539
1262
  ns.add_function "rel" do |func|
@@ -1545,207 +1268,164 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1545
1268
  func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1546
1269
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1547
1270
  end
1548
- func.add_parameter "Gecode::IntConLevel", "icl", true
1271
+ func.add_parameter "Gecode::IntConLevel", "icl"
1272
+ func.add_parameter "Gecode::PropKind", "pk"
1549
1273
  end
1550
1274
 
1551
- ns.add_function "eq", "void" do |func|
1275
+ ns.add_function "rel" do |func|
1552
1276
  func.add_parameter "Gecode::MSpace*", "home"
1553
- func.add_parameter "Gecode::IntVar", "x1"
1554
- func.add_parameter "Gecode::IntVar", "x2"
1555
- 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"
1556
1282
  end
1557
1283
 
1558
- ns.add_function "eq", "void" do |func|
1284
+ ns.add_function "rel" do |func|
1559
1285
  func.add_parameter "Gecode::MSpace*", "home"
1560
- func.add_parameter "Gecode::IntVar", "x"
1561
- func.add_parameter "int", "n"
1562
- 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"
1563
1291
  end
1564
1292
 
1565
- ns.add_function "eq", "void" do |method|
1566
- method.add_parameter "Gecode::MSpace*", "home"
1567
- method.add_parameter "Gecode::IntVar", "x0"
1568
- method.add_parameter "Gecode::IntVar", "x1"
1569
- method.add_parameter "Gecode::BoolVar", "b"
1570
- 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"
1571
1301
  end
1572
1302
 
1573
- ns.add_function "eq", "void" do |method|
1574
- method.add_parameter "Gecode::MSpace*", "home"
1575
- method.add_parameter "Gecode::IntVar", "x"
1576
- method.add_parameter "int", "n"
1577
- method.add_parameter "Gecode::BoolVar", "b"
1578
- 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"
1579
1311
  end
1580
1312
 
1581
- ns.add_function "eq", "void" do |method|
1582
- method.add_parameter "Gecode::MSpace*", "home"
1583
- method.add_parameter "Gecode::MIntVarArray *", "x" do |param|
1584
- 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()"
1585
1318
  end
1586
- 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"
1587
1322
  end
1588
1323
 
1589
- ns.add_function "sortedness", "void" do |method|
1590
- method.add_parameter "Gecode::MSpace*", "home"
1591
- 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|
1592
1351
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1593
1352
  end
1594
- method.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1353
+ func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1595
1354
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1596
1355
  end
1597
- method.add_parameter "Gecode::IntConLevel", "icl", true
1356
+ func.add_parameter "Gecode::IntConLevel", "icl"
1357
+ func.add_parameter "Gecode::PropKind", "pk"
1598
1358
  end
1599
- ns.add_function "sortedness", "void" do |method|
1600
- method.add_parameter "Gecode::MSpace*", "home"
1601
- 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|
1602
1363
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1603
1364
  end
1604
- method.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1365
+ func.add_parameter "Gecode::MIntVarArray *", "y" do |param|
1605
1366
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[2], 3)->ptr()"
1606
1367
  end
1607
- method.add_parameter "Gecode::MIntVarArray *", "z" do |param|
1368
+ func.add_parameter "Gecode::MIntVarArray *", "z" do |param|
1608
1369
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1609
1370
  end
1610
- method.add_parameter "Gecode::IntConLevel", "icl", true
1371
+ func.add_parameter "Gecode::IntConLevel", "icl"
1372
+ func.add_parameter "Gecode::PropKind", "pk"
1611
1373
  end
1612
1374
 
1613
1375
  ns.add_function "post", "Gecode::BoolVar" do |func|
1614
1376
  func.add_parameter "Gecode::MSpace*", "home"
1615
1377
  func.add_parameter "Gecode::MiniModel::BoolExpr", "e"
1616
- func.add_parameter "Gecode::IntConLevel", "icl", true
1378
+ func.add_parameter "Gecode::IntConLevel", "icl"
1379
+ func.add_parameter "Gecode::PropKind", "pk"
1617
1380
  end
1618
1381
 
1619
1382
  ns.add_function "post", "Gecode::BoolVar" do |func|
1620
1383
  func.add_parameter "Gecode::MSpace*", "home"
1621
1384
  func.add_parameter "Gecode::BoolVar", "e"
1622
- func.add_parameter "Gecode::IntConLevel", "icl", true
1385
+ func.add_parameter "Gecode::IntConLevel", "icl"
1386
+ func.add_parameter "Gecode::PropKind", "pk"
1623
1387
  end
1624
1388
 
1625
1389
  ns.add_function "post" do |func|
1626
1390
  func.add_parameter "Gecode::MSpace*", "home"
1627
1391
  func.add_parameter "Gecode::MiniModel::BoolRel", "r"
1628
- func.add_parameter "Gecode::IntConLevel", "icl", true
1392
+ func.add_parameter "Gecode::IntConLevel", "icl"
1393
+ func.add_parameter "Gecode::PropKind", "pk"
1629
1394
  end
1630
1395
 
1631
1396
  ns.add_function "post", "Gecode::IntVar" do |func|
1632
1397
  func.add_parameter "Gecode::MSpace*", "home"
1633
1398
  func.add_parameter "Gecode::IntVar", "e"
1634
- func.add_parameter "Gecode::IntConLevel", "icl", true
1399
+ func.add_parameter "Gecode::IntConLevel", "icl"
1400
+ func.add_parameter "Gecode::PropKind", "pk"
1635
1401
  end
1636
1402
 
1637
1403
  ns.add_function "post", "Gecode::IntVar" do |func|
1638
1404
  func.add_parameter "Gecode::MSpace*", "home"
1639
1405
  func.add_parameter "int", "n"
1640
- func.add_parameter "Gecode::IntConLevel", "icl", true
1406
+ func.add_parameter "Gecode::IntConLevel", "icl"
1407
+ func.add_parameter "Gecode::PropKind", "pk"
1641
1408
  end
1642
1409
 
1643
1410
  ns.add_function "post", "Gecode::IntVar" do |func|
1644
1411
  func.add_parameter "Gecode::MSpace*", "home"
1645
- func.add_parameter "Gecode::MiniModel::LinExpr", "e"
1646
- 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"
1647
1415
  end
1648
1416
 
1649
1417
  ns.add_function "post" do |func|
1650
1418
  func.add_parameter "Gecode::MSpace*", "home"
1651
- func.add_parameter "Gecode::MiniModel::LinRel", "e"
1652
- 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"
1653
1422
  end
1654
1423
 
1655
1424
  ns.add_function "post" do |func|
1656
1425
  func.add_parameter "Gecode::MSpace*", "home"
1657
1426
  func.add_parameter "bool", "r"
1658
- func.add_parameter "Gecode::IntConLevel", "icl", true
1659
- end
1660
-
1661
- ns.add_function "producer_consumer" do |func|
1662
- func.add_parameter "Gecode::MSpace*", "home"
1663
- func.add_parameter "Gecode::MIntVarArray *", "produce_date" do |param|
1664
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1665
- end
1666
- func.add_parameter "Gecode::IntArgs", "produce_amount"
1667
- func.add_parameter "Gecode::MIntVarArray *", "consume_date" do |param|
1668
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1669
- end
1670
- func.add_parameter "Gecode::IntArgs", "consume_amount"
1671
- func.add_parameter "int", "initial"
1672
- func.add_parameter "Gecode::IntConLevel", "icl", true
1673
- end
1674
-
1675
- ns.add_function "cumulative" do |func|
1676
- func.add_parameter "Gecode::MSpace*", "home"
1677
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1678
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1679
- end
1680
- func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
1681
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1682
- end
1683
- func.add_parameter "Gecode::MIntVarArray *", "height" do |param|
1684
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1685
- end
1686
- func.add_parameter "int", "limit"
1687
- func.add_parameter "bool", "at_most", true
1688
- func.add_parameter "Gecode::IntConLevel", "icl", true
1689
- end
1690
-
1691
- ns.add_function "cumulative" do |func|
1692
- func.add_parameter "Gecode::MSpace*", "home"
1693
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1694
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1695
- end
1696
- func.add_parameter "Gecode::IntArgs", "duration"
1697
- func.add_parameter "Gecode::MIntVarArray *", "height" do |param|
1698
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1699
- end
1700
- func.add_parameter "int", "limit"
1701
- func.add_parameter "bool", "at_most", true
1702
- func.add_parameter "Gecode::IntConLevel", "icl", true
1703
- end
1704
-
1705
- ns.add_function "cumulative" do |func|
1706
- func.add_parameter "Gecode::MSpace*", "home"
1707
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1708
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1709
- end
1710
- func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
1711
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1712
- end
1713
- func.add_parameter "Gecode::IntArgs", "height"
1714
- func.add_parameter "int", "limit"
1715
- func.add_parameter "bool", "at_most", true
1716
- func.add_parameter "Gecode::IntConLevel", "icl", true
1717
- end
1718
-
1719
- ns.add_function "cumulative" do |func|
1720
- func.add_parameter "Gecode::MSpace*", "home"
1721
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1722
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1723
- end
1724
- func.add_parameter "Gecode::IntArgs", "duration"
1725
- func.add_parameter "Gecode::IntArgs", "height"
1726
- func.add_parameter "int", "limit"
1727
- func.add_parameter "bool", "at_most", true
1728
- func.add_parameter "Gecode::IntConLevel", "icl", true
1729
- end
1730
-
1731
- ns.add_function "serialized" do |func|
1732
- func.add_parameter "Gecode::MSpace*", "home"
1733
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1734
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1735
- end
1736
- func.add_parameter "Gecode::MIntVarArray *", "duration" do |param|
1737
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1738
- end
1739
- func.add_parameter "Gecode::IntConLevel", "icl", true
1740
- end
1741
-
1742
- ns.add_function "serialized" do |func|
1743
- func.add_parameter "Gecode::MSpace*", "home"
1744
- func.add_parameter "Gecode::MIntVarArray *", "start" do |param|
1745
- param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[1], 2)->ptr()"
1746
- end
1747
- func.add_parameter "Gecode::IntArgs", "duration"
1748
- func.add_parameter "Gecode::IntConLevel", "icl", true
1427
+ func.add_parameter "Gecode::IntConLevel", "icl"
1428
+ func.add_parameter "Gecode::PropKind", "pk"
1749
1429
  end
1750
1430
 
1751
1431
  ns.add_function "atmost" do |func|
@@ -1755,7 +1435,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1755
1435
  end
1756
1436
  func.add_parameter "int", "n"
1757
1437
  func.add_parameter "int", "m"
1758
- func.add_parameter "Gecode::IntConLevel", "icl", true
1438
+ func.add_parameter "Gecode::IntConLevel", "icl"
1439
+ func.add_parameter "Gecode::PropKind", "pk"
1759
1440
  end
1760
1441
 
1761
1442
  ns.add_function "atmost" do |func|
@@ -1765,7 +1446,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1765
1446
  end
1766
1447
  func.add_parameter "Gecode::IntVar", "n"
1767
1448
  func.add_parameter "int", "m"
1768
- func.add_parameter "Gecode::IntConLevel", "icl", true
1449
+ func.add_parameter "Gecode::IntConLevel", "icl"
1450
+ func.add_parameter "Gecode::PropKind", "pk"
1769
1451
  end
1770
1452
 
1771
1453
  ns.add_function "atmost" do |func|
@@ -1775,7 +1457,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1775
1457
  end
1776
1458
  func.add_parameter "int", "n"
1777
1459
  func.add_parameter "Gecode::IntVar", "m"
1778
- func.add_parameter "Gecode::IntConLevel", "icl", true
1460
+ func.add_parameter "Gecode::IntConLevel", "icl"
1461
+ func.add_parameter "Gecode::PropKind", "pk"
1779
1462
  end
1780
1463
 
1781
1464
  ns.add_function "atmost" do |func|
@@ -1785,7 +1468,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1785
1468
  end
1786
1469
  func.add_parameter "Gecode::IntVar", "n"
1787
1470
  func.add_parameter "Gecode::IntVar", "m"
1788
- func.add_parameter "Gecode::IntConLevel", "icl", true
1471
+ func.add_parameter "Gecode::IntConLevel", "icl"
1472
+ func.add_parameter "Gecode::PropKind", "pk"
1789
1473
  end
1790
1474
 
1791
1475
  ns.add_function "atleast" do |func|
@@ -1795,7 +1479,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1795
1479
  end
1796
1480
  func.add_parameter "int", "n"
1797
1481
  func.add_parameter "int", "m"
1798
- func.add_parameter "Gecode::IntConLevel", "icl", true
1482
+ func.add_parameter "Gecode::IntConLevel", "icl"
1483
+ func.add_parameter "Gecode::PropKind", "pk"
1799
1484
  end
1800
1485
 
1801
1486
  ns.add_function "atleast" do |func|
@@ -1805,7 +1490,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1805
1490
  end
1806
1491
  func.add_parameter "Gecode::IntVar", "n"
1807
1492
  func.add_parameter "int", "m"
1808
- func.add_parameter "Gecode::IntConLevel", "icl", true
1493
+ func.add_parameter "Gecode::IntConLevel", "icl"
1494
+ func.add_parameter "Gecode::PropKind", "pk"
1809
1495
  end
1810
1496
 
1811
1497
  ns.add_function "atleast" do |func|
@@ -1815,7 +1501,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1815
1501
  end
1816
1502
  func.add_parameter "int", "n"
1817
1503
  func.add_parameter "Gecode::IntVar", "m"
1818
- func.add_parameter "Gecode::IntConLevel", "icl", true
1504
+ func.add_parameter "Gecode::IntConLevel", "icl"
1505
+ func.add_parameter "Gecode::PropKind", "pk"
1819
1506
  end
1820
1507
 
1821
1508
  ns.add_function "atleast" do |func|
@@ -1825,7 +1512,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1825
1512
  end
1826
1513
  func.add_parameter "Gecode::IntVar", "n"
1827
1514
  func.add_parameter "Gecode::IntVar", "m"
1828
- func.add_parameter "Gecode::IntConLevel", "icl", true
1515
+ func.add_parameter "Gecode::IntConLevel", "icl"
1516
+ func.add_parameter "Gecode::PropKind", "pk"
1829
1517
  end
1830
1518
 
1831
1519
  ns.add_function "exactly" do |func|
@@ -1835,7 +1523,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1835
1523
  end
1836
1524
  func.add_parameter "int", "n"
1837
1525
  func.add_parameter "int", "m"
1838
- func.add_parameter "Gecode::IntConLevel", "icl", true
1526
+ func.add_parameter "Gecode::IntConLevel", "icl"
1527
+ func.add_parameter "Gecode::PropKind", "pk"
1839
1528
  end
1840
1529
 
1841
1530
  ns.add_function "exactly" do |func|
@@ -1845,7 +1534,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1845
1534
  end
1846
1535
  func.add_parameter "Gecode::IntVar", "n"
1847
1536
  func.add_parameter "int", "m"
1848
- func.add_parameter "Gecode::IntConLevel", "icl", true
1537
+ func.add_parameter "Gecode::IntConLevel", "icl"
1538
+ func.add_parameter "Gecode::PropKind", "pk"
1849
1539
  end
1850
1540
 
1851
1541
  ns.add_function "exactly" do |func|
@@ -1855,7 +1545,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1855
1545
  end
1856
1546
  func.add_parameter "int", "n"
1857
1547
  func.add_parameter "Gecode::IntVar", "m"
1858
- func.add_parameter "Gecode::IntConLevel", "icl", true
1548
+ func.add_parameter "Gecode::IntConLevel", "icl"
1549
+ func.add_parameter "Gecode::PropKind", "pk"
1859
1550
  end
1860
1551
 
1861
1552
  ns.add_function "exactly" do |func|
@@ -1865,7 +1556,8 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1865
1556
  end
1866
1557
  func.add_parameter "Gecode::IntVar", "n"
1867
1558
  func.add_parameter "Gecode::IntVar", "m"
1868
- func.add_parameter "Gecode::IntConLevel", "icl", true
1559
+ func.add_parameter "Gecode::IntConLevel", "icl"
1560
+ func.add_parameter "Gecode::PropKind", "pk"
1869
1561
  end
1870
1562
 
1871
1563
  ns.add_function "lex" do |func|
@@ -1878,6 +1570,7 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1878
1570
  param.custom_conversion = "*ruby2Gecode_MIntVarArrayPtr(argv[3], 4)->ptr()"
1879
1571
  end
1880
1572
  func.add_parameter "Gecode::IntConLevel", "icl", true
1573
+ func.add_parameter "Gecode::PropKind", "pk", true
1881
1574
  end
1882
1575
 
1883
1576
  ns.add_function "cardinality" do |func|
@@ -1912,14 +1605,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
1912
1605
  func.add_parameter "int", "c"
1913
1606
  end
1914
1607
 
1915
- ns.add_function "distinct" do |func|
1916
- func.add_parameter "Gecode::MSpace*", "home"
1917
- func.add_parameter "Gecode::MSetVarArray", "x" do |param|
1918
- param.custom_conversion = "*ruby2Gecode_MSetVarArrayPtr(argv[1], 2)->ptr()"
1919
- end
1920
- func.add_parameter "int", "c"
1921
- end
1922
-
1923
1608
  ns.add_function "dom" do |func|
1924
1609
  func.add_parameter "Gecode::MSpace*", "home"
1925
1610
  func.add_parameter "Gecode::SetVar", "x"
@@ -2047,15 +1732,6 @@ Rust::Bindings::create_bindings Rust::Bindings::LangCxx, "gecode" do |b|
2047
1732
  func.add_parameter "Gecode::IntSet", "z"
2048
1733
  end
2049
1734
 
2050
- ns.add_function "rel" do |func|
2051
- func.add_parameter "Gecode::MSpace*", "home"
2052
- func.add_parameter "Gecode::IntSet", "x"
2053
- func.add_parameter "Gecode::SetOpType", "op"
2054
- func.add_parameter "Gecode::IntSet", "y"
2055
- func.add_parameter "Gecode::SetRelType", "r"
2056
- func.add_parameter "Gecode::SetVar", "z"
2057
- end
2058
-
2059
1735
  ns.add_function "rel" do |func|
2060
1736
  func.add_parameter "Gecode::MSpace*", "home"
2061
1737
  func.add_parameter "Gecode::IntSet", "x"