gecoder 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/CHANGES +14 -0
  2. data/ext/gecoder.cpp +181 -0
  3. data/ext/gecoder.h +94 -0
  4. data/ext/vararray.cpp +3 -3
  5. data/lib/gecoder/bindings/bindings.rb +104 -46
  6. data/lib/gecoder/interface/binding_changes.rb +1 -301
  7. data/lib/gecoder/interface/branch.rb +15 -11
  8. data/lib/gecoder/interface/constraints/bool/boolean.rb +56 -52
  9. data/lib/gecoder/interface/constraints/bool/channel.rb +1 -16
  10. data/lib/gecoder/interface/constraints/bool_enum/channel.rb +13 -8
  11. data/lib/gecoder/interface/constraints/bool_enum/extensional.rb +48 -0
  12. data/lib/gecoder/interface/constraints/extensional_regexp.rb +101 -0
  13. data/lib/gecoder/interface/constraints/int/channel.rb +1 -13
  14. data/lib/gecoder/interface/constraints/int_enum/channel.rb +15 -35
  15. data/lib/gecoder/interface/constraints/int_enum/extensional.rb +130 -0
  16. data/lib/gecoder/interface/constraints/set/channel.rb +54 -0
  17. data/lib/gecoder/interface/constraints/set_enum/channel.rb +37 -6
  18. data/lib/gecoder/interface/constraints/set_var_constraints.rb +1 -0
  19. data/lib/gecoder/interface/constraints.rb +38 -0
  20. data/lib/gecoder/interface/model.rb +110 -85
  21. data/lib/gecoder/interface/variables.rb +3 -21
  22. data/lib/gecoder/version.rb +1 -1
  23. data/specs/branch.rb +16 -1
  24. data/specs/constraints/bool_enum_relation.rb +6 -6
  25. data/specs/constraints/boolean.rb +31 -25
  26. data/specs/constraints/channel.rb +102 -4
  27. data/specs/constraints/extensional.rb +185 -2
  28. data/specs/constraints/reification_sugar.rb +2 -46
  29. data/specs/model.rb +85 -7
  30. data/tasks/dependencies.txt +1 -0
  31. data/vendor/rust/rust/class.rb +33 -35
  32. data/vendor/rust/rust/templates/ClassDeclarations.rusttpl +1 -1
  33. data/vendor/rust/rust/templates/CxxClassDefinitions.rusttpl +10 -1
  34. metadata +185 -184
  35. data/example/raw_bindings.rb +0 -44
  36. data/ext/missing.cpp +0 -328
  37. data/ext/missing.h +0 -120
  38. data/specs/binding_changes.rb +0 -76
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: gecoder
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.8.2
7
- date: 2008-05-08 00:00:00 +02:00
6
+ version: 0.8.3
7
+ date: 2008-07-28 00:00:00 +02:00
8
8
  summary: Ruby interface to Gecode, an environment for constraint programming.
9
9
  require_paths:
10
10
  - lib
@@ -29,212 +29,211 @@ post_install_message:
29
29
  authors:
30
30
  - - Gecode/R Development Team
31
31
  files:
32
- - Rakefile
33
- - CHANGES
34
- - COPYING
35
32
  - README
36
33
  - LGPL-LICENSE
37
- - lib/gecoder/interface/constraints/bool_enum/channel.rb
38
- - lib/gecoder/interface/constraints/bool_enum/extensional.rb
39
- - lib/gecoder/interface/constraints/bool_enum/relation.rb
40
- - lib/gecoder/interface/constraints/set_enum/operation.rb
41
- - lib/gecoder/interface/constraints/set_enum/distinct.rb
42
- - lib/gecoder/interface/constraints/set_enum/selection.rb
43
- - lib/gecoder/interface/constraints/set_enum/channel.rb
44
- - lib/gecoder/interface/constraints/int/domain.rb
34
+ - CHANGES
35
+ - COPYING
36
+ - Rakefile
37
+ - lib/gecoder.rb
38
+ - lib/gecoder/bindings.rb
39
+ - lib/gecoder/interface/branch.rb
40
+ - lib/gecoder/interface/enum_matrix.rb
41
+ - lib/gecoder/interface/search.rb
42
+ - lib/gecoder/interface/constraints.rb
43
+ - lib/gecoder/interface/variables.rb
44
+ - lib/gecoder/interface/enum_wrapper.rb
45
+ - lib/gecoder/interface/model.rb
46
+ - lib/gecoder/interface/constraints/set_var_constraints.rb
47
+ - lib/gecoder/interface/constraints/extensional_regexp.rb
48
+ - lib/gecoder/interface/constraints/int_enum_constraints.rb
49
+ - lib/gecoder/interface/constraints/set/channel.rb
50
+ - lib/gecoder/interface/constraints/set/cardinality.rb
51
+ - lib/gecoder/interface/constraints/set/operation.rb
52
+ - lib/gecoder/interface/constraints/set/connection.rb
53
+ - lib/gecoder/interface/constraints/set/domain.rb
54
+ - lib/gecoder/interface/constraints/set/relation.rb
55
+ - lib/gecoder/interface/constraints/int/channel.rb
45
56
  - lib/gecoder/interface/constraints/int/arithmetic.rb
46
57
  - lib/gecoder/interface/constraints/int/linear.rb
47
- - lib/gecoder/interface/constraints/int/channel.rb
58
+ - lib/gecoder/interface/constraints/int/domain.rb
59
+ - lib/gecoder/interface/constraints/set_enum_constraints.rb
60
+ - lib/gecoder/interface/constraints/bool/channel.rb
48
61
  - lib/gecoder/interface/constraints/bool/boolean.rb
49
62
  - lib/gecoder/interface/constraints/bool/linear.rb
50
- - lib/gecoder/interface/constraints/bool/channel.rb
51
- - lib/gecoder/interface/constraints/set/relation.rb
52
- - lib/gecoder/interface/constraints/set/connection.rb
53
- - lib/gecoder/interface/constraints/set/operation.rb
54
- - lib/gecoder/interface/constraints/set/cardinality.rb
55
- - lib/gecoder/interface/constraints/set/domain.rb
56
- - lib/gecoder/interface/constraints/int_enum/equality.rb
57
- - lib/gecoder/interface/constraints/int_enum/distinct.rb
58
- - lib/gecoder/interface/constraints/int_enum/sort.rb
59
63
  - lib/gecoder/interface/constraints/int_enum/channel.rb
60
- - lib/gecoder/interface/constraints/int_enum/count.rb
61
- - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
64
+ - lib/gecoder/interface/constraints/int_enum/distinct.rb
62
65
  - lib/gecoder/interface/constraints/int_enum/element.rb
66
+ - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
67
+ - lib/gecoder/interface/constraints/int_enum/count.rb
63
68
  - lib/gecoder/interface/constraints/int_enum/extensional.rb
64
- - lib/gecoder/interface/constraints/int_enum_constraints.rb
69
+ - lib/gecoder/interface/constraints/int_enum/equality.rb
70
+ - lib/gecoder/interface/constraints/int_enum/sort.rb
71
+ - lib/gecoder/interface/constraints/bool_var_constraints.rb
65
72
  - lib/gecoder/interface/constraints/bool_enum_constraints.rb
66
- - lib/gecoder/interface/constraints/set_enum_constraints.rb
73
+ - lib/gecoder/interface/constraints/bool_enum/channel.rb
74
+ - lib/gecoder/interface/constraints/bool_enum/extensional.rb
75
+ - lib/gecoder/interface/constraints/bool_enum/relation.rb
67
76
  - lib/gecoder/interface/constraints/int_var_constraints.rb
68
77
  - lib/gecoder/interface/constraints/reifiable_constraints.rb
69
- - lib/gecoder/interface/constraints/bool_var_constraints.rb
70
- - lib/gecoder/interface/constraints/set_var_constraints.rb
71
- - lib/gecoder/interface/branch.rb
72
- - lib/gecoder/interface/model.rb
78
+ - lib/gecoder/interface/constraints/set_enum/channel.rb
79
+ - lib/gecoder/interface/constraints/set_enum/distinct.rb
80
+ - lib/gecoder/interface/constraints/set_enum/operation.rb
81
+ - lib/gecoder/interface/constraints/set_enum/selection.rb
73
82
  - lib/gecoder/interface/binding_changes.rb
74
- - lib/gecoder/interface/enum_wrapper.rb
75
- - lib/gecoder/interface/search.rb
76
- - lib/gecoder/interface/constraints.rb
77
- - lib/gecoder/interface/enum_matrix.rb
78
- - lib/gecoder/interface/variables.rb
79
- - lib/gecoder/bindings/bindings.rb
80
- - lib/gecoder/bindings.rb
81
- - lib/gecoder/interface.rb
82
83
  - lib/gecoder/version.rb
83
- - lib/gecoder.rb
84
+ - lib/gecoder/interface.rb
85
+ - lib/gecoder/bindings/bindings.rb
84
86
  - example/queens.rb
85
- - example/send_more_money.rb
86
87
  - example/send_most_money.rb
88
+ - example/magic_sequence.rb
89
+ - example/send_more_money.rb
87
90
  - example/sudoku-set.rb
88
- - example/raw_bindings.rb
91
+ - example/sudoku.rb
89
92
  - example/square_tiling.rb
90
- - example/magic_sequence.rb
91
93
  - example/example_helper.rb
92
- - example/sudoku.rb
93
- - vendor/rust/test
94
- - vendor/rust/test/lib
95
- - vendor/rust/test/lib/extension-test.rb
96
- - vendor/rust/test/dummyclass.hh
97
- - vendor/rust/test/operators.rb
98
- - vendor/rust/test/cwrapper.rb
99
- - vendor/rust/test/test-cppclass.rb
100
- - vendor/rust/test/test-constants.rb
101
- - vendor/rust/test/cppclass.cc
102
- - vendor/rust/test/test-operators.rb
103
- - vendor/rust/test/operators.cc
104
- - vendor/rust/test/test-cwrapper.rb
105
- - vendor/rust/test/cwrapper.c
106
- - vendor/rust/test/cppclass.hh
107
- - vendor/rust/test/cwrapper.h
108
- - vendor/rust/test/cppclass.rb
109
- - vendor/rust/test/operators.hh
110
- - vendor/rust/test/Makefile
111
- - vendor/rust/test/constants.rb
112
- - vendor/rust/include
113
- - vendor/rust/include/rust_conversions.hh
114
- - vendor/rust/include/rust_checks.hh
115
94
  - vendor/rust/bin
116
95
  - vendor/rust/bin/cxxgenerator.rb
96
+ - vendor/rust/README
117
97
  - vendor/rust/rust
98
+ - vendor/rust/rust/cwrapper.rb
99
+ - vendor/rust/rust/bindings.rb
100
+ - vendor/rust/rust/element.rb
101
+ - vendor/rust/rust/cxxclass.rb
102
+ - vendor/rust/rust/type.rb
103
+ - vendor/rust/rust/class.rb
104
+ - vendor/rust/rust/container.rb
118
105
  - vendor/rust/rust/templates
106
+ - vendor/rust/rust/templates/ModuleDeclarations.rusttpl
107
+ - vendor/rust/rust/templates/EnumDeclarations.rusttpl
108
+ - vendor/rust/rust/templates/BindingsUnit.rusttpl
109
+ - vendor/rust/rust/templates/ConstructorStub.rusttpl
110
+ - vendor/rust/rust/templates/EnumDefinitions.rusttpl
119
111
  - vendor/rust/rust/templates/FunctionInitBinding.rusttpl
120
112
  - vendor/rust/rust/templates/CWrapperClassDefinitions.rusttpl
121
- - vendor/rust/rust/templates/BindingsHeader.rusttpl
122
- - vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl
123
- - vendor/rust/rust/templates/AttributeDefinition.rusttpl
124
- - vendor/rust/rust/templates/ModuleDeclarations.rusttpl
125
- - vendor/rust/rust/templates/ModuleDefinitions.rusttpl
126
- - vendor/rust/rust/templates/AttributeInitBinding.rusttpl
127
113
  - vendor/rust/rust/templates/FunctionInitAlias.rusttpl
128
- - vendor/rust/rust/templates/ConstructorStub.rusttpl
129
- - vendor/rust/rust/templates/CxxClassDefinitions.rusttpl
130
114
  - vendor/rust/rust/templates/ClassInitialize.rusttpl
131
- - vendor/rust/rust/templates/VariableFunctionCall.rusttpl
132
- - vendor/rust/rust/templates/EnumDeclarations.rusttpl
133
- - vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl
134
- - vendor/rust/rust/templates/BindingsUnit.rusttpl
135
- - vendor/rust/rust/templates/FunctionDefinition.rusttpl
136
115
  - vendor/rust/rust/templates/ClassDeclarations.rusttpl
137
- - vendor/rust/rust/templates/MethodInitBinding.rusttpl
138
- - vendor/rust/rust/templates/EnumDefinitions.rusttpl
116
+ - vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl
139
117
  - vendor/rust/rust/templates/CxxMethodStub.rusttpl
140
- - vendor/rust/rust/bindings.rb
141
- - vendor/rust/rust/type.rb
142
- - vendor/rust/rust/container.rb
143
- - vendor/rust/rust/attribute.rb
144
- - vendor/rust/rust/cwrapper.rb
145
- - vendor/rust/rust/enum.rb
146
- - vendor/rust/rust/class.rb
147
- - vendor/rust/rust/function.rb
118
+ - vendor/rust/rust/templates/MethodInitBinding.rusttpl
119
+ - vendor/rust/rust/templates/ModuleDefinitions.rusttpl
120
+ - vendor/rust/rust/templates/VariableFunctionCall.rusttpl
121
+ - vendor/rust/rust/templates/AttributeInitBinding.rusttpl
122
+ - vendor/rust/rust/templates/BindingsHeader.rusttpl
123
+ - vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl
124
+ - vendor/rust/rust/templates/FunctionDefinition.rusttpl
125
+ - vendor/rust/rust/templates/AttributeDefinition.rusttpl
126
+ - vendor/rust/rust/templates/CxxClassDefinitions.rusttpl
148
127
  - vendor/rust/rust/cppifaceparser.rb
149
- - vendor/rust/rust/cxxclass.rb
150
- - vendor/rust/rust/element.rb
151
128
  - vendor/rust/rust/constants.rb
129
+ - vendor/rust/rust/attribute.rb
152
130
  - vendor/rust/rust/namespace.rb
131
+ - vendor/rust/rust/enum.rb
132
+ - vendor/rust/rust/function.rb
133
+ - vendor/rust/test
134
+ - vendor/rust/test/cppclass.rb
135
+ - vendor/rust/test/cwrapper.h
136
+ - vendor/rust/test/test-constants.rb
137
+ - vendor/rust/test/cwrapper.rb
138
+ - vendor/rust/test/operators.hh
139
+ - vendor/rust/test/cppclass.cc
140
+ - vendor/rust/test/Makefile
141
+ - vendor/rust/test/test-cppclass.rb
142
+ - vendor/rust/test/operators.rb
143
+ - vendor/rust/test/cppclass.hh
144
+ - vendor/rust/test/dummyclass.hh
145
+ - vendor/rust/test/operators.cc
146
+ - vendor/rust/test/constants.rb
147
+ - vendor/rust/test/test-cwrapper.rb
148
+ - vendor/rust/test/cwrapper.c
149
+ - vendor/rust/test/lib
150
+ - vendor/rust/test/lib/extension-test.rb
151
+ - vendor/rust/test/test-operators.rb
152
+ - vendor/rust/include
153
+ - vendor/rust/include/rust_checks.hh
154
+ - vendor/rust/include/rust_conversions.hh
153
155
  - vendor/rust/rust.rb
154
- - vendor/rust/README
155
- - tasks/all_tasks.rb
156
- - tasks/distribution.rake
157
156
  - tasks/website.rake
157
+ - tasks/specs.rake
158
158
  - tasks/svn.rake
159
159
  - tasks/rcov.rake
160
- - tasks/specs.rake
160
+ - tasks/all_tasks.rb
161
161
  - tasks/dependencies.txt
162
+ - tasks/distribution.rake
163
+ - specs/logging.rb
164
+ - specs/branch.rb
165
+ - specs/enum_matrix.rb
166
+ - specs/search.rb
167
+ - specs/bool_var.rb
168
+ - specs/distribution.rb
169
+ - specs/spec_helper.rb
170
+ - specs/int_var.rb
171
+ - specs/enum_wrapper.rb
172
+ - specs/model.rb
173
+ - specs/set_var.rb
162
174
  - specs/constraints
163
- - specs/constraints/boolean.rb
164
175
  - specs/constraints/channel.rb
165
- - specs/constraints/int_domain.rb
176
+ - specs/constraints/bool_enum_relation.rb
166
177
  - specs/constraints/distinct.rb
178
+ - specs/constraints/set_operation.rb
179
+ - specs/constraints/element.rb
167
180
  - specs/constraints/set_domain.rb
168
- - specs/constraints/constraint_helper.rb
169
- - specs/constraints/selection.rb
170
- - specs/constraints/int_relation.rb
171
- - specs/constraints/sort.rb
181
+ - specs/constraints/arithmetic.rb
182
+ - specs/constraints/constraints.rb
172
183
  - specs/constraints/count.rb
184
+ - specs/constraints/cardinality.rb
173
185
  - specs/constraints/set_relation.rb
174
- - specs/constraints/element.rb
175
- - specs/constraints/arithmetic.rb
176
- - specs/constraints/reification_sugar.rb
186
+ - specs/constraints/extensional.rb
177
187
  - specs/constraints/equality.rb
188
+ - specs/constraints/boolean.rb
189
+ - specs/constraints/int_relation.rb
190
+ - specs/constraints/sort.rb
191
+ - specs/constraints/constraint_helper.rb
192
+ - specs/constraints/int_domain.rb
193
+ - specs/constraints/reification_sugar.rb
194
+ - specs/constraints/selection.rb
178
195
  - specs/constraints/connection.rb
179
- - specs/constraints/cardinality.rb
180
- - specs/constraints/constraints.rb
181
196
  - specs/constraints/linear.rb
182
- - specs/constraints/set_operation.rb
183
- - specs/constraints/extensional.rb
184
- - specs/constraints/bool_enum_relation.rb
185
- - specs/branch.rb
186
- - specs/model.rb
187
- - specs/binding_changes.rb
188
- - specs/int_var.rb
189
- - specs/bool_var.rb
190
- - specs/set_var.rb
191
- - specs/enum_wrapper.rb
192
- - specs/search.rb
193
- - specs/logging.rb
194
- - specs/enum_matrix.rb
195
- - specs/spec_helper.rb
196
- - specs/distribution.rb
197
197
  - specs/examples.rb
198
- - ext/missing.cpp
198
+ - ext/gecoder.cpp
199
199
  - ext/vararray.cpp
200
- - ext/missing.h
200
+ - ext/gecoder.h
201
201
  - ext/vararray.h
202
202
  - ext/extconf.rb
203
203
  test_files:
204
- - specs/constraints/boolean.rb
204
+ - specs/logging.rb
205
+ - specs/branch.rb
206
+ - specs/enum_matrix.rb
207
+ - specs/search.rb
208
+ - specs/bool_var.rb
209
+ - specs/distribution.rb
210
+ - specs/spec_helper.rb
211
+ - specs/int_var.rb
212
+ - specs/enum_wrapper.rb
213
+ - specs/model.rb
214
+ - specs/set_var.rb
205
215
  - specs/constraints/channel.rb
206
- - specs/constraints/int_domain.rb
216
+ - specs/constraints/bool_enum_relation.rb
207
217
  - specs/constraints/distinct.rb
218
+ - specs/constraints/set_operation.rb
219
+ - specs/constraints/element.rb
208
220
  - specs/constraints/set_domain.rb
209
- - specs/constraints/constraint_helper.rb
210
- - specs/constraints/selection.rb
211
- - specs/constraints/int_relation.rb
212
- - specs/constraints/sort.rb
221
+ - specs/constraints/arithmetic.rb
222
+ - specs/constraints/constraints.rb
213
223
  - specs/constraints/count.rb
224
+ - specs/constraints/cardinality.rb
214
225
  - specs/constraints/set_relation.rb
215
- - specs/constraints/element.rb
216
- - specs/constraints/arithmetic.rb
217
- - specs/constraints/reification_sugar.rb
226
+ - specs/constraints/extensional.rb
218
227
  - specs/constraints/equality.rb
228
+ - specs/constraints/boolean.rb
229
+ - specs/constraints/int_relation.rb
230
+ - specs/constraints/sort.rb
231
+ - specs/constraints/constraint_helper.rb
232
+ - specs/constraints/int_domain.rb
233
+ - specs/constraints/reification_sugar.rb
234
+ - specs/constraints/selection.rb
219
235
  - specs/constraints/connection.rb
220
- - specs/constraints/cardinality.rb
221
- - specs/constraints/constraints.rb
222
236
  - specs/constraints/linear.rb
223
- - specs/constraints/set_operation.rb
224
- - specs/constraints/extensional.rb
225
- - specs/constraints/bool_enum_relation.rb
226
- - specs/branch.rb
227
- - specs/model.rb
228
- - specs/binding_changes.rb
229
- - specs/int_var.rb
230
- - specs/bool_var.rb
231
- - specs/set_var.rb
232
- - specs/enum_wrapper.rb
233
- - specs/search.rb
234
- - specs/logging.rb
235
- - specs/enum_matrix.rb
236
- - specs/spec_helper.rb
237
- - specs/distribution.rb
238
237
  - specs/examples.rb
239
238
  rdoc_options:
240
239
  - --title
@@ -249,53 +248,55 @@ extra_rdoc_files:
249
248
  - README
250
249
  - CHANGES
251
250
  - LGPL-LICENSE
252
- - lib/gecoder/interface/constraints/bool_enum/channel.rb
253
- - lib/gecoder/interface/constraints/bool_enum/extensional.rb
254
- - lib/gecoder/interface/constraints/bool_enum/relation.rb
255
- - lib/gecoder/interface/constraints/set_enum/operation.rb
256
- - lib/gecoder/interface/constraints/set_enum/distinct.rb
257
- - lib/gecoder/interface/constraints/set_enum/selection.rb
258
- - lib/gecoder/interface/constraints/set_enum/channel.rb
259
- - lib/gecoder/interface/constraints/int/domain.rb
251
+ - lib/gecoder.rb
252
+ - lib/gecoder/bindings.rb
253
+ - lib/gecoder/interface/branch.rb
254
+ - lib/gecoder/interface/enum_matrix.rb
255
+ - lib/gecoder/interface/search.rb
256
+ - lib/gecoder/interface/constraints.rb
257
+ - lib/gecoder/interface/variables.rb
258
+ - lib/gecoder/interface/enum_wrapper.rb
259
+ - lib/gecoder/interface/model.rb
260
+ - lib/gecoder/interface/constraints/set_var_constraints.rb
261
+ - lib/gecoder/interface/constraints/extensional_regexp.rb
262
+ - lib/gecoder/interface/constraints/int_enum_constraints.rb
263
+ - lib/gecoder/interface/constraints/set/channel.rb
264
+ - lib/gecoder/interface/constraints/set/cardinality.rb
265
+ - lib/gecoder/interface/constraints/set/operation.rb
266
+ - lib/gecoder/interface/constraints/set/connection.rb
267
+ - lib/gecoder/interface/constraints/set/domain.rb
268
+ - lib/gecoder/interface/constraints/set/relation.rb
269
+ - lib/gecoder/interface/constraints/int/channel.rb
260
270
  - lib/gecoder/interface/constraints/int/arithmetic.rb
261
271
  - lib/gecoder/interface/constraints/int/linear.rb
262
- - lib/gecoder/interface/constraints/int/channel.rb
272
+ - lib/gecoder/interface/constraints/int/domain.rb
273
+ - lib/gecoder/interface/constraints/set_enum_constraints.rb
274
+ - lib/gecoder/interface/constraints/bool/channel.rb
263
275
  - lib/gecoder/interface/constraints/bool/boolean.rb
264
276
  - lib/gecoder/interface/constraints/bool/linear.rb
265
- - lib/gecoder/interface/constraints/bool/channel.rb
266
- - lib/gecoder/interface/constraints/set/relation.rb
267
- - lib/gecoder/interface/constraints/set/connection.rb
268
- - lib/gecoder/interface/constraints/set/operation.rb
269
- - lib/gecoder/interface/constraints/set/cardinality.rb
270
- - lib/gecoder/interface/constraints/set/domain.rb
271
- - lib/gecoder/interface/constraints/int_enum/equality.rb
272
- - lib/gecoder/interface/constraints/int_enum/distinct.rb
273
- - lib/gecoder/interface/constraints/int_enum/sort.rb
274
277
  - lib/gecoder/interface/constraints/int_enum/channel.rb
275
- - lib/gecoder/interface/constraints/int_enum/count.rb
276
- - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
278
+ - lib/gecoder/interface/constraints/int_enum/distinct.rb
277
279
  - lib/gecoder/interface/constraints/int_enum/element.rb
280
+ - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
281
+ - lib/gecoder/interface/constraints/int_enum/count.rb
278
282
  - lib/gecoder/interface/constraints/int_enum/extensional.rb
279
- - lib/gecoder/interface/constraints/int_enum_constraints.rb
283
+ - lib/gecoder/interface/constraints/int_enum/equality.rb
284
+ - lib/gecoder/interface/constraints/int_enum/sort.rb
285
+ - lib/gecoder/interface/constraints/bool_var_constraints.rb
280
286
  - lib/gecoder/interface/constraints/bool_enum_constraints.rb
281
- - lib/gecoder/interface/constraints/set_enum_constraints.rb
287
+ - lib/gecoder/interface/constraints/bool_enum/channel.rb
288
+ - lib/gecoder/interface/constraints/bool_enum/extensional.rb
289
+ - lib/gecoder/interface/constraints/bool_enum/relation.rb
282
290
  - lib/gecoder/interface/constraints/int_var_constraints.rb
283
291
  - lib/gecoder/interface/constraints/reifiable_constraints.rb
284
- - lib/gecoder/interface/constraints/bool_var_constraints.rb
285
- - lib/gecoder/interface/constraints/set_var_constraints.rb
286
- - lib/gecoder/interface/branch.rb
287
- - lib/gecoder/interface/model.rb
292
+ - lib/gecoder/interface/constraints/set_enum/channel.rb
293
+ - lib/gecoder/interface/constraints/set_enum/distinct.rb
294
+ - lib/gecoder/interface/constraints/set_enum/operation.rb
295
+ - lib/gecoder/interface/constraints/set_enum/selection.rb
288
296
  - lib/gecoder/interface/binding_changes.rb
289
- - lib/gecoder/interface/enum_wrapper.rb
290
- - lib/gecoder/interface/search.rb
291
- - lib/gecoder/interface/constraints.rb
292
- - lib/gecoder/interface/enum_matrix.rb
293
- - lib/gecoder/interface/variables.rb
294
- - lib/gecoder/bindings/bindings.rb
295
- - lib/gecoder/bindings.rb
296
- - lib/gecoder/interface.rb
297
297
  - lib/gecoder/version.rb
298
- - lib/gecoder.rb
298
+ - lib/gecoder/interface.rb
299
+ - lib/gecoder/bindings/bindings.rb
299
300
  executables: []
300
301
 
301
302
  extensions:
@@ -1,44 +0,0 @@
1
- require File.dirname(__FILE__) + '/example_helper'
2
-
3
- # An example of using the raw bindings. Solves the send+more=money problem.
4
-
5
- # Variables
6
- space = Gecode::Raw::Space.new
7
- letters = Gecode::Raw::IntVarArray.new(space, 8, 0, 9)
8
- space.own(letters, 'letters')
9
- s, e, n, d, m, o, r, y = (0..7).to_a.map{ |i| letters.at(i) }
10
-
11
- # Constraints
12
- Gecode::Raw::post(space, (s * 1000 + e * 100 + n * 10 + d +
13
- m * 1000 + o * 100 + r * 10 + e).
14
- equal(m * 10000 + o * 1000 + n * 100 + e * 10 + y ),
15
- Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF)
16
- Gecode::Raw::rel(space, s, Gecode::Raw::IRT_NQ, 0, Gecode::Raw::ICL_DEF,
17
- Gecode::Raw::PK_DEF)
18
- Gecode::Raw::rel(space, m, Gecode::Raw::IRT_NQ, 0, Gecode::Raw::ICL_DEF,
19
- Gecode::Raw::PK_DEF)
20
- Gecode::Raw::distinct(space, letters, Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF)
21
-
22
- # Branching.
23
- Gecode::Raw::branch(space, letters,
24
- Gecode::Raw::INT_VAR_SIZE_MIN, Gecode::Raw::INT_VAL_MIN)
25
-
26
- # Search
27
- COPY_DIST = 16
28
- ADAPTATION_DIST = 4
29
- dfs = Gecode::Raw::DFS.new(space, COPY_DIST, ADAPTATION_DIST,
30
- Gecode::Raw::Search::Stop.new)
31
-
32
- space = dfs.next
33
- if space.nil?
34
- puts 'Failed'
35
- else
36
- puts 'Solution:'
37
- correct_letters = space.intVarArray('letters')
38
- arr = []
39
- correct_letters.size.times do |i|
40
- arr << correct_letters.at(i).val
41
- end
42
- puts arr.join(' ')
43
- end
44
-