gecoder-with-gecode 0.8.2-mswin32 → 0.8.3-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.
- data/CHANGES +14 -0
- data/lib/gecode.dll +0 -0
- data/lib/gecoder/bindings/bindings.rb +104 -46
- data/lib/gecoder/interface/binding_changes.rb +1 -301
- data/lib/gecoder/interface/branch.rb +15 -11
- data/lib/gecoder/interface/constraints.rb +38 -0
- data/lib/gecoder/interface/constraints/bool/boolean.rb +56 -52
- data/lib/gecoder/interface/constraints/bool/channel.rb +1 -16
- data/lib/gecoder/interface/constraints/bool_enum/channel.rb +13 -8
- data/lib/gecoder/interface/constraints/bool_enum/extensional.rb +48 -0
- data/lib/gecoder/interface/constraints/extensional_regexp.rb +101 -0
- data/lib/gecoder/interface/constraints/int/channel.rb +1 -13
- data/lib/gecoder/interface/constraints/int_enum/channel.rb +15 -35
- data/lib/gecoder/interface/constraints/int_enum/extensional.rb +130 -0
- data/lib/gecoder/interface/constraints/set/channel.rb +54 -0
- data/lib/gecoder/interface/constraints/set_enum/channel.rb +37 -6
- data/lib/gecoder/interface/constraints/set_var_constraints.rb +1 -0
- data/lib/gecoder/interface/model.rb +110 -85
- data/lib/gecoder/interface/variables.rb +3 -21
- data/lib/gecoder/version.rb +1 -1
- data/specs/branch.rb +16 -1
- data/specs/constraints/bool_enum_relation.rb +6 -6
- data/specs/constraints/boolean.rb +31 -25
- data/specs/constraints/channel.rb +102 -4
- data/specs/constraints/extensional.rb +185 -2
- data/specs/constraints/reification_sugar.rb +2 -46
- data/specs/model.rb +85 -7
- data/tasks/dependencies.txt +1 -0
- data/vendor/rust/rust/class.rb +33 -35
- data/vendor/rust/rust/templates/ClassDeclarations.rusttpl +1 -1
- data/vendor/rust/rust/templates/CxxClassDefinitions.rusttpl +10 -1
- metadata +186 -185
- data/example/raw_bindings.rb +0 -44
- data/specs/binding_changes.rb +0 -76
@@ -26,28 +26,6 @@ describe Gecode::Constraints::ReifiableConstraint do
|
|
26
26
|
@model.solve!.should be_nil
|
27
27
|
end
|
28
28
|
|
29
|
-
it 'should translate disjunctions' do
|
30
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
31
|
-
an_instance_of(Gecode::Raw::Space),
|
32
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::BOT_OR,
|
33
|
-
an_instance_of(Gecode::Raw::BoolVar),
|
34
|
-
an_instance_of(Gecode::Raw::BoolVar),
|
35
|
-
Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF
|
36
|
-
)
|
37
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
38
|
-
an_instance_of(Gecode::Raw::Space),
|
39
|
-
an_instance_of(Gecode::Raw::IntVar), Gecode::Raw::IRT_GR, 0,
|
40
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::ICL_DEF,
|
41
|
-
Gecode::Raw::PK_DEF)
|
42
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
43
|
-
an_instance_of(Gecode::Raw::Space),
|
44
|
-
an_instance_of(Gecode::Raw::IntVar), Gecode::Raw::IRT_EQ, 3,
|
45
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::ICL_DEF,
|
46
|
-
Gecode::Raw::PK_DEF)
|
47
|
-
(@x.must > 0) | (@y.must == 3)
|
48
|
-
sol = @model.solve!
|
49
|
-
end
|
50
|
-
|
51
29
|
it 'should solve disjunctions' do
|
52
30
|
(@x.must > 0) | (@y.must == 3)
|
53
31
|
sol = @model.solve!
|
@@ -59,29 +37,7 @@ describe Gecode::Constraints::ReifiableConstraint do
|
|
59
37
|
(@x.must > 3) & (@y.must == 3)
|
60
38
|
@model.solve!.should be_nil
|
61
39
|
end
|
62
|
-
|
63
|
-
it 'should translate conjunctions' do
|
64
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
65
|
-
an_instance_of(Gecode::Raw::Space),
|
66
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::BOT_AND,
|
67
|
-
an_instance_of(Gecode::Raw::BoolVar),
|
68
|
-
an_instance_of(Gecode::Raw::BoolVar),
|
69
|
-
Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF
|
70
|
-
)
|
71
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
72
|
-
an_instance_of(Gecode::Raw::Space),
|
73
|
-
an_instance_of(Gecode::Raw::IntVar), Gecode::Raw::IRT_GR, 0,
|
74
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::ICL_DEF,
|
75
|
-
Gecode::Raw::PK_DEF)
|
76
|
-
Gecode::Raw.should_receive(:rel).once.with(
|
77
|
-
an_instance_of(Gecode::Raw::Space),
|
78
|
-
an_instance_of(Gecode::Raw::IntVar), Gecode::Raw::IRT_EQ, 2,
|
79
|
-
an_instance_of(Gecode::Raw::BoolVar), Gecode::Raw::ICL_DEF,
|
80
|
-
Gecode::Raw::PK_DEF)
|
81
|
-
(@x.must > 0) & (@y.must == 2)
|
82
|
-
sol = @model.solve!
|
83
|
-
end
|
84
|
-
|
40
|
+
|
85
41
|
it 'should solve conjunctions' do
|
86
42
|
(@x.must > 0) & (@y.must == 2)
|
87
43
|
sol = @model.solve!
|
@@ -111,4 +67,4 @@ describe Gecode::Constraints::ReifiableConstraint do
|
|
111
67
|
sol = @model.solve!
|
112
68
|
sol.should be_nil
|
113
69
|
end
|
114
|
-
end
|
70
|
+
end
|
data/specs/model.rb
CHANGED
@@ -9,7 +9,7 @@ describe Gecode::Model, ' (integer creation)' do
|
|
9
9
|
range = 0..3
|
10
10
|
@model.int_var(range).should have_domain(range)
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
it 'should allow the creation of int variables without specified domain' do
|
14
14
|
var = @model.int_var
|
15
15
|
var.should be_range
|
@@ -43,6 +43,17 @@ describe Gecode::Model, ' (integer creation)' do
|
|
43
43
|
vars.each{ |var| var.should have_domain(domain) }
|
44
44
|
end
|
45
45
|
|
46
|
+
it 'should allow the creation of int-var arrays without specified domain' do
|
47
|
+
count = 5
|
48
|
+
vars = @model.int_var_array(count)
|
49
|
+
vars.size.should equal(count)
|
50
|
+
vars.each do |var|
|
51
|
+
var.should be_range
|
52
|
+
var.min.should == Gecode::Raw::IntLimits::MIN
|
53
|
+
var.max.should == Gecode::Raw::IntLimits::MAX
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
46
57
|
it 'should allow the creation of int-var matrices with range domains' do
|
47
58
|
range = 0..3
|
48
59
|
rows = 5
|
@@ -62,6 +73,32 @@ describe Gecode::Model, ' (integer creation)' do
|
|
62
73
|
vars.column_size.should equal(columns)
|
63
74
|
vars.each{ |var| var.should have_domain(domain) }
|
64
75
|
end
|
76
|
+
|
77
|
+
it 'should allow the creation of int-var matrices without specified domain' do
|
78
|
+
rows = 5
|
79
|
+
columns = 4
|
80
|
+
vars = @model.int_var_matrix(rows, columns)
|
81
|
+
vars.row_size.should equal(rows)
|
82
|
+
vars.column_size.should equal(columns)
|
83
|
+
vars.each do |var|
|
84
|
+
var.should be_range
|
85
|
+
var.min.should == Gecode::Raw::IntLimits::MIN
|
86
|
+
var.max.should == Gecode::Raw::IntLimits::MAX
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'should raise error if the domain is of incorrect type' do
|
91
|
+
lambda do
|
92
|
+
@model.int_var(nil)
|
93
|
+
end.should raise_error(TypeError)
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'should gracefully GC a variable that was never accessed' do
|
97
|
+
lambda do
|
98
|
+
@model.int_var 0
|
99
|
+
GC.start
|
100
|
+
end.should_not raise_error
|
101
|
+
end
|
65
102
|
end
|
66
103
|
|
67
104
|
describe Gecode::Model, ' (bool creation)' do
|
@@ -82,6 +119,13 @@ describe Gecode::Model, ' (bool creation)' do
|
|
82
119
|
matrix.row_size.should equal(3)
|
83
120
|
matrix.column_size.should equal(4)
|
84
121
|
end
|
122
|
+
|
123
|
+
it 'should gracefully GC a variable that was never accessed' do
|
124
|
+
lambda do
|
125
|
+
@model.bool_var
|
126
|
+
GC.start
|
127
|
+
end.should_not raise_error
|
128
|
+
end
|
85
129
|
end
|
86
130
|
|
87
131
|
describe Gecode::Model, ' (set creation)' do
|
@@ -143,6 +187,15 @@ describe Gecode::Model, ' (set creation)' do
|
|
143
187
|
end
|
144
188
|
end
|
145
189
|
|
190
|
+
it 'should allow the creation of arrays of set variables without specified bounds' do
|
191
|
+
vars = @model.set_var_array(3)
|
192
|
+
vars.each do |var|
|
193
|
+
var.lower_bound.size.should == 0
|
194
|
+
var.upper_bound.min.should == Gecode::Raw::SetLimits::MIN
|
195
|
+
var.upper_bound.max.should == Gecode::Raw::SetLimits::MAX
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
146
199
|
it 'should allow the creation of matrices of set variables' do
|
147
200
|
matrix = @model.set_var_matrix(4, 5, @glb_enum, @lub_enum,
|
148
201
|
@lower_card..@upper_card)
|
@@ -154,20 +207,45 @@ describe Gecode::Model, ' (set creation)' do
|
|
154
207
|
var.cardinality.begin.should >= @lower_card
|
155
208
|
end
|
156
209
|
end
|
210
|
+
|
211
|
+
it 'should allow the creation of matrices of set variables without specified bounds' do
|
212
|
+
matrix = @model.set_var_matrix(4, 5)
|
213
|
+
matrix.each do |var|
|
214
|
+
var.lower_bound.size.should == 0
|
215
|
+
var.upper_bound.min.should == Gecode::Raw::SetLimits::MIN
|
216
|
+
var.upper_bound.max.should == Gecode::Raw::SetLimits::MAX
|
217
|
+
end
|
218
|
+
end
|
157
219
|
|
158
220
|
it 'should raise error if glb and lub are not valid when they are given as range' do
|
159
|
-
lambda
|
160
|
-
|
221
|
+
lambda do
|
222
|
+
@model.set_var(@lub_range, @glb_range)
|
223
|
+
end.should raise_error(ArgumentError)
|
161
224
|
end
|
162
225
|
|
163
226
|
it 'should raise error if glb and lub are not valid when one is given as enum' do
|
164
|
-
lambda
|
165
|
-
|
227
|
+
lambda do
|
228
|
+
@model.set_var(@lub_range, @glb_enum)
|
229
|
+
end.should raise_error(ArgumentError)
|
166
230
|
end
|
167
231
|
|
168
232
|
it 'should raise error if glb and lub are not valid when both are given as enums' do
|
169
|
-
lambda
|
170
|
-
|
233
|
+
lambda do
|
234
|
+
@model.set_var(@lub_enum, @glb_enum)
|
235
|
+
end.should raise_error(ArgumentError)
|
236
|
+
end
|
237
|
+
|
238
|
+
it 'should raise error if the glb and lub are of incorrect type' do
|
239
|
+
lambda do
|
240
|
+
@model.set_var("foo\n", "foo\ns")
|
241
|
+
end.should raise_error(TypeError)
|
242
|
+
end
|
243
|
+
|
244
|
+
it 'should gracefully GC a variable that was never accessed' do
|
245
|
+
lambda do
|
246
|
+
@model.set_var(@glb_range, @lub_range)
|
247
|
+
GC.start
|
248
|
+
end.should_not raise_error
|
171
249
|
end
|
172
250
|
end
|
173
251
|
|
data/tasks/dependencies.txt
CHANGED
data/vendor/rust/rust/class.rb
CHANGED
@@ -260,7 +260,7 @@ module Rust
|
|
260
260
|
|
261
261
|
private
|
262
262
|
def raw_call(nparam = nil)
|
263
|
-
case @
|
263
|
+
case position(@parameters.size)
|
264
264
|
when 1 # pre
|
265
265
|
"#{@name} (*tmp)"
|
266
266
|
when 2 # mid
|
@@ -272,43 +272,41 @@ module Rust
|
|
272
272
|
end
|
273
273
|
end
|
274
274
|
|
275
|
+
# 1: pre 2: mid 3: post 4: mixed
|
276
|
+
def position(nparam)
|
277
|
+
case @name
|
278
|
+
when "+": (nparam.zero? ? 1 : 3)
|
279
|
+
when "-": 3
|
280
|
+
when "*": (nparam.zero? ? 1 : 3)
|
281
|
+
when "/": 3
|
282
|
+
when /\[\s*\]=/: 4
|
283
|
+
when /\[\s*\]/: 2
|
284
|
+
when "==": 3
|
285
|
+
when "!=": 3
|
286
|
+
when "<<": 3
|
287
|
+
when ">>": 3
|
288
|
+
when "!": 1
|
289
|
+
when "()": 2
|
290
|
+
else
|
291
|
+
3
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
275
295
|
def valid_name
|
276
296
|
case @name
|
277
|
-
when "+"
|
278
|
-
|
279
|
-
|
280
|
-
when "
|
281
|
-
|
282
|
-
|
283
|
-
when "
|
284
|
-
|
285
|
-
|
286
|
-
when "
|
287
|
-
|
288
|
-
|
289
|
-
when /\[\s*\]=/
|
290
|
-
@position = 4
|
291
|
-
"ateqop"
|
292
|
-
when /\[\s*\]/
|
293
|
-
@position = 2
|
294
|
-
"atop"
|
295
|
-
when "=="
|
296
|
-
@position = 3
|
297
|
-
"equalop"
|
298
|
-
when "!="
|
299
|
-
@position = 3
|
300
|
-
"notequalop"
|
301
|
-
when "<<"
|
302
|
-
@position = 3
|
303
|
-
"outstream"
|
304
|
-
when ">>"
|
305
|
-
@position = 3
|
306
|
-
"intstream"
|
307
|
-
when "!"
|
308
|
-
@position = 1
|
309
|
-
"notop"
|
297
|
+
when "+": "plusop"
|
298
|
+
when "-": "minusop"
|
299
|
+
when "*": "multop"
|
300
|
+
when "/": "divop"
|
301
|
+
when /\[\s*\]=/: "ateqop"
|
302
|
+
when /\[\s*\]/: "atop"
|
303
|
+
when "==": "equalop"
|
304
|
+
when "!=": "notequalop"
|
305
|
+
when "<<": "outstream"
|
306
|
+
when ">>": "intstream"
|
307
|
+
when "!": "notop"
|
308
|
+
when "()": "parenthesisop"
|
310
309
|
else
|
311
|
-
@position = 3
|
312
310
|
"undefop_#{@name[0].chr.to_i}#{rand(1024)}"
|
313
311
|
end
|
314
312
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
//-*-c++-*-
|
2
2
|
|
3
3
|
extern VALUE r!class_varname!;
|
4
|
-
VALUE cxx2ruby(!c_class_name!* instance, bool free = false);
|
4
|
+
VALUE cxx2ruby(!c_class_name!* instance, bool free = false, bool create_new_if_needed = true);
|
5
5
|
bool is_!class_varname!(VALUE val);
|
6
6
|
!c_class_name!* ruby2!class_varcname!Ptr(VALUE rval, int argn = -1);
|
7
7
|
!c_class_name!& ruby2!class_varcname!(VALUE rval, int argn = -1);
|
@@ -51,17 +51,26 @@ bool is_!class_varname!(VALUE val)
|
|
51
51
|
return *ruby2!class_varcname!Ptr(rval, argn);
|
52
52
|
}
|
53
53
|
|
54
|
-
VALUE cxx2ruby(!c_class_name!* instance, bool free) {
|
54
|
+
VALUE cxx2ruby(!c_class_name!* instance, bool free, bool create_new_if_needed) {
|
55
55
|
if ( instance == NULL ) return Qnil;
|
56
56
|
|
57
57
|
T!class_ptrmap!::iterator it, eend = !class_ptrmap!.end();
|
58
58
|
|
59
|
+
#ifdef DEBUG
|
60
|
+
fprintf(stderr, "rust: searching for !c_class_name! %p\n", instance);
|
61
|
+
#endif
|
62
|
+
|
59
63
|
for(it = !class_ptrmap!.begin(); it != eend; it++)
|
60
64
|
if ( (*it).second == (!c_class_name!*)instance ) break;
|
61
65
|
|
62
66
|
if ( it != !class_ptrmap!.end() )
|
63
67
|
return (*it).first;
|
64
68
|
else {
|
69
|
+
#ifdef DEBUG
|
70
|
+
fprintf(stderr, "rust: failed to find match for %p\n", instance);
|
71
|
+
#endif
|
72
|
+
if(!create_new_if_needed) return Qnil;
|
73
|
+
|
65
74
|
VALUE klass = r!class_varname!;
|
66
75
|
|
67
76
|
!test_children!
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: gecoder-with-gecode
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.8.
|
7
|
-
date: 2008-
|
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,214 +29,213 @@ 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
|
-
-
|
38
|
-
-
|
39
|
-
-
|
40
|
-
- lib/gecoder
|
41
|
-
- lib/gecoder/
|
42
|
-
- lib/gecoder/interface/
|
43
|
-
- lib/gecoder/interface/
|
44
|
-
- lib/gecoder/interface/
|
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/
|
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/
|
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/
|
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/
|
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/
|
70
|
-
- lib/gecoder/interface/constraints/
|
71
|
-
- lib/gecoder/interface/
|
72
|
-
- lib/gecoder/interface/
|
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/
|
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/
|
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/
|
141
|
-
- vendor/rust/rust/
|
142
|
-
- vendor/rust/rust/
|
143
|
-
- vendor/rust/rust/
|
144
|
-
- vendor/rust/rust/
|
145
|
-
- vendor/rust/rust/
|
146
|
-
- vendor/rust/rust/
|
147
|
-
- vendor/rust/rust/
|
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/
|
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/
|
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/
|
169
|
-
- specs/constraints/
|
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/
|
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
|
+
- vendor/gecode/win32/lib/libgecodeset.dll
|
198
199
|
- vendor/gecode/win32/lib/libgecodeint.dll
|
200
|
+
- vendor/gecode/win32/lib/libgecodesupport.dll
|
199
201
|
- vendor/gecode/win32/lib/libgecodekernel.dll
|
200
|
-
- vendor/gecode/win32/lib/libgecodeminimodel.dll
|
201
202
|
- vendor/gecode/win32/lib/libgecodesearch.dll
|
202
|
-
- vendor/gecode/win32/lib/
|
203
|
-
- vendor/gecode/win32/lib/libgecodesupport.dll
|
203
|
+
- vendor/gecode/win32/lib/libgecodeminimodel.dll
|
204
204
|
- lib/gecode.dll
|
205
205
|
test_files:
|
206
|
-
- specs/
|
206
|
+
- specs/logging.rb
|
207
|
+
- specs/branch.rb
|
208
|
+
- specs/enum_matrix.rb
|
209
|
+
- specs/search.rb
|
210
|
+
- specs/bool_var.rb
|
211
|
+
- specs/distribution.rb
|
212
|
+
- specs/spec_helper.rb
|
213
|
+
- specs/int_var.rb
|
214
|
+
- specs/enum_wrapper.rb
|
215
|
+
- specs/model.rb
|
216
|
+
- specs/set_var.rb
|
207
217
|
- specs/constraints/channel.rb
|
208
|
-
- specs/constraints/
|
218
|
+
- specs/constraints/bool_enum_relation.rb
|
209
219
|
- specs/constraints/distinct.rb
|
220
|
+
- specs/constraints/set_operation.rb
|
221
|
+
- specs/constraints/element.rb
|
210
222
|
- specs/constraints/set_domain.rb
|
211
|
-
- specs/constraints/
|
212
|
-
- specs/constraints/
|
213
|
-
- specs/constraints/int_relation.rb
|
214
|
-
- specs/constraints/sort.rb
|
223
|
+
- specs/constraints/arithmetic.rb
|
224
|
+
- specs/constraints/constraints.rb
|
215
225
|
- specs/constraints/count.rb
|
226
|
+
- specs/constraints/cardinality.rb
|
216
227
|
- specs/constraints/set_relation.rb
|
217
|
-
- specs/constraints/
|
218
|
-
- specs/constraints/arithmetic.rb
|
219
|
-
- specs/constraints/reification_sugar.rb
|
228
|
+
- specs/constraints/extensional.rb
|
220
229
|
- specs/constraints/equality.rb
|
230
|
+
- specs/constraints/boolean.rb
|
231
|
+
- specs/constraints/int_relation.rb
|
232
|
+
- specs/constraints/sort.rb
|
233
|
+
- specs/constraints/constraint_helper.rb
|
234
|
+
- specs/constraints/int_domain.rb
|
235
|
+
- specs/constraints/reification_sugar.rb
|
236
|
+
- specs/constraints/selection.rb
|
221
237
|
- specs/constraints/connection.rb
|
222
|
-
- specs/constraints/cardinality.rb
|
223
|
-
- specs/constraints/constraints.rb
|
224
238
|
- specs/constraints/linear.rb
|
225
|
-
- specs/constraints/set_operation.rb
|
226
|
-
- specs/constraints/extensional.rb
|
227
|
-
- specs/constraints/bool_enum_relation.rb
|
228
|
-
- specs/branch.rb
|
229
|
-
- specs/model.rb
|
230
|
-
- specs/binding_changes.rb
|
231
|
-
- specs/int_var.rb
|
232
|
-
- specs/bool_var.rb
|
233
|
-
- specs/set_var.rb
|
234
|
-
- specs/enum_wrapper.rb
|
235
|
-
- specs/search.rb
|
236
|
-
- specs/logging.rb
|
237
|
-
- specs/enum_matrix.rb
|
238
|
-
- specs/spec_helper.rb
|
239
|
-
- specs/distribution.rb
|
240
239
|
- specs/examples.rb
|
241
240
|
rdoc_options:
|
242
241
|
- --title
|
@@ -251,53 +250,55 @@ extra_rdoc_files:
|
|
251
250
|
- README
|
252
251
|
- CHANGES
|
253
252
|
- LGPL-LICENSE
|
254
|
-
- lib/gecoder
|
255
|
-
- lib/gecoder/
|
256
|
-
- lib/gecoder/interface/
|
257
|
-
- lib/gecoder/interface/
|
258
|
-
- lib/gecoder/interface/
|
259
|
-
- lib/gecoder/interface/constraints
|
260
|
-
- lib/gecoder/interface/
|
261
|
-
- lib/gecoder/interface/
|
253
|
+
- lib/gecoder.rb
|
254
|
+
- lib/gecoder/bindings.rb
|
255
|
+
- lib/gecoder/interface/branch.rb
|
256
|
+
- lib/gecoder/interface/enum_matrix.rb
|
257
|
+
- lib/gecoder/interface/search.rb
|
258
|
+
- lib/gecoder/interface/constraints.rb
|
259
|
+
- lib/gecoder/interface/variables.rb
|
260
|
+
- lib/gecoder/interface/enum_wrapper.rb
|
261
|
+
- lib/gecoder/interface/model.rb
|
262
|
+
- lib/gecoder/interface/constraints/set_var_constraints.rb
|
263
|
+
- lib/gecoder/interface/constraints/extensional_regexp.rb
|
264
|
+
- lib/gecoder/interface/constraints/int_enum_constraints.rb
|
265
|
+
- lib/gecoder/interface/constraints/set/channel.rb
|
266
|
+
- lib/gecoder/interface/constraints/set/cardinality.rb
|
267
|
+
- lib/gecoder/interface/constraints/set/operation.rb
|
268
|
+
- lib/gecoder/interface/constraints/set/connection.rb
|
269
|
+
- lib/gecoder/interface/constraints/set/domain.rb
|
270
|
+
- lib/gecoder/interface/constraints/set/relation.rb
|
271
|
+
- lib/gecoder/interface/constraints/int/channel.rb
|
262
272
|
- lib/gecoder/interface/constraints/int/arithmetic.rb
|
263
273
|
- lib/gecoder/interface/constraints/int/linear.rb
|
264
|
-
- lib/gecoder/interface/constraints/int/
|
274
|
+
- lib/gecoder/interface/constraints/int/domain.rb
|
275
|
+
- lib/gecoder/interface/constraints/set_enum_constraints.rb
|
276
|
+
- lib/gecoder/interface/constraints/bool/channel.rb
|
265
277
|
- lib/gecoder/interface/constraints/bool/boolean.rb
|
266
278
|
- lib/gecoder/interface/constraints/bool/linear.rb
|
267
|
-
- lib/gecoder/interface/constraints/bool/channel.rb
|
268
|
-
- lib/gecoder/interface/constraints/set/relation.rb
|
269
|
-
- lib/gecoder/interface/constraints/set/connection.rb
|
270
|
-
- lib/gecoder/interface/constraints/set/operation.rb
|
271
|
-
- lib/gecoder/interface/constraints/set/cardinality.rb
|
272
|
-
- lib/gecoder/interface/constraints/set/domain.rb
|
273
|
-
- lib/gecoder/interface/constraints/int_enum/equality.rb
|
274
|
-
- lib/gecoder/interface/constraints/int_enum/distinct.rb
|
275
|
-
- lib/gecoder/interface/constraints/int_enum/sort.rb
|
276
279
|
- lib/gecoder/interface/constraints/int_enum/channel.rb
|
277
|
-
- lib/gecoder/interface/constraints/int_enum/
|
278
|
-
- lib/gecoder/interface/constraints/int_enum/arithmetic.rb
|
280
|
+
- lib/gecoder/interface/constraints/int_enum/distinct.rb
|
279
281
|
- lib/gecoder/interface/constraints/int_enum/element.rb
|
282
|
+
- lib/gecoder/interface/constraints/int_enum/arithmetic.rb
|
283
|
+
- lib/gecoder/interface/constraints/int_enum/count.rb
|
280
284
|
- lib/gecoder/interface/constraints/int_enum/extensional.rb
|
281
|
-
- lib/gecoder/interface/constraints/
|
285
|
+
- lib/gecoder/interface/constraints/int_enum/equality.rb
|
286
|
+
- lib/gecoder/interface/constraints/int_enum/sort.rb
|
287
|
+
- lib/gecoder/interface/constraints/bool_var_constraints.rb
|
282
288
|
- lib/gecoder/interface/constraints/bool_enum_constraints.rb
|
283
|
-
- lib/gecoder/interface/constraints/
|
289
|
+
- lib/gecoder/interface/constraints/bool_enum/channel.rb
|
290
|
+
- lib/gecoder/interface/constraints/bool_enum/extensional.rb
|
291
|
+
- lib/gecoder/interface/constraints/bool_enum/relation.rb
|
284
292
|
- lib/gecoder/interface/constraints/int_var_constraints.rb
|
285
293
|
- lib/gecoder/interface/constraints/reifiable_constraints.rb
|
286
|
-
- lib/gecoder/interface/constraints/
|
287
|
-
- lib/gecoder/interface/constraints/
|
288
|
-
- lib/gecoder/interface/
|
289
|
-
- lib/gecoder/interface/
|
294
|
+
- lib/gecoder/interface/constraints/set_enum/channel.rb
|
295
|
+
- lib/gecoder/interface/constraints/set_enum/distinct.rb
|
296
|
+
- lib/gecoder/interface/constraints/set_enum/operation.rb
|
297
|
+
- lib/gecoder/interface/constraints/set_enum/selection.rb
|
290
298
|
- lib/gecoder/interface/binding_changes.rb
|
291
|
-
- lib/gecoder/interface/enum_wrapper.rb
|
292
|
-
- lib/gecoder/interface/search.rb
|
293
|
-
- lib/gecoder/interface/constraints.rb
|
294
|
-
- lib/gecoder/interface/enum_matrix.rb
|
295
|
-
- lib/gecoder/interface/variables.rb
|
296
|
-
- lib/gecoder/bindings/bindings.rb
|
297
|
-
- lib/gecoder/bindings.rb
|
298
|
-
- lib/gecoder/interface.rb
|
299
299
|
- lib/gecoder/version.rb
|
300
|
-
- lib/gecoder.rb
|
300
|
+
- lib/gecoder/interface.rb
|
301
|
+
- lib/gecoder/bindings/bindings.rb
|
301
302
|
executables: []
|
302
303
|
|
303
304
|
extensions: []
|