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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"