main page
modules
namespaces
classes
files
Gecode home
Generated on Tue Mar 24 2020 14:04:04 for Gecode by
doxygen
1.8.17
gecode
minimodel
int-rel.cpp
Go to the documentation of this file.
1
/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
/*
3
* Main authors:
4
* Christian Schulte <schulte@gecode.org>
5
*
6
* Copyright:
7
* Christian Schulte, 2005
8
*
9
* This file is part of Gecode, the generic constraint
10
* development environment:
11
* http://www.gecode.org
12
*
13
* Permission is hereby granted, free of charge, to any person obtaining
14
* a copy of this software and associated documentation files (the
15
* "Software"), to deal in the Software without restriction, including
16
* without limitation the rights to use, copy, modify, merge, publish,
17
* distribute, sublicense, and/or sell copies of the Software, and to
18
* permit persons to whom the Software is furnished to do so, subject to
19
* the following conditions:
20
*
21
* The above copyright notice and this permission notice shall be
22
* included in all copies or substantial portions of the Software.
23
*
24
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
*
32
*/
33
34
#include <
gecode/minimodel.hh
>
35
36
namespace
Gecode
{
37
38
/*
39
* Construction of linear relations
40
*
41
*/
42
LinIntRel
43
operator ==
(
int
l
,
const
IntVar
&
r
) {
44
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
45
}
46
LinIntRel
47
operator ==
(
int
l
,
const
BoolVar
&
r
) {
48
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
49
}
50
LinIntRel
51
operator ==
(
int
l
,
const
LinIntExpr
&
r
) {
52
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
53
}
54
LinIntRel
55
operator ==
(
const
IntVar
&
l
,
int
r
) {
56
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
57
}
58
LinIntRel
59
operator ==
(
const
BoolVar
&
l
,
int
r
) {
60
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
61
}
62
LinIntRel
63
operator ==
(
const
LinIntExpr
&
l
,
int
r
) {
64
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
65
}
66
LinIntRel
67
operator ==
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
68
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
69
}
70
LinIntRel
71
operator ==
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
72
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
73
}
74
LinIntRel
75
operator ==
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
76
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
77
}
78
LinIntRel
79
operator ==
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
80
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
81
}
82
LinIntRel
83
operator ==
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
84
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
85
}
86
LinIntRel
87
operator ==
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
88
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
89
}
90
LinIntRel
91
operator ==
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
92
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
93
}
94
LinIntRel
95
operator ==
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
96
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
97
}
98
LinIntRel
99
operator ==
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
100
return
LinIntRel
(
l
,
IRT_EQ
,
r
);
101
}
102
103
LinIntRel
104
operator !=
(
int
l
,
const
IntVar
&
r
) {
105
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
106
}
107
LinIntRel
108
operator !=
(
int
l
,
const
BoolVar
&
r
) {
109
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
110
}
111
LinIntRel
112
operator !=
(
int
l
,
const
LinIntExpr
&
r
) {
113
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
114
}
115
LinIntRel
116
operator !=
(
const
IntVar
&
l
,
int
r
) {
117
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
118
}
119
LinIntRel
120
operator !=
(
const
BoolVar
&
l
,
int
r
) {
121
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
122
}
123
LinIntRel
124
operator !=
(
const
LinIntExpr
&
l
,
int
r
) {
125
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
126
}
127
LinIntRel
128
operator !=
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
129
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
130
}
131
LinIntRel
132
operator !=
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
133
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
134
}
135
LinIntRel
136
operator !=
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
137
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
138
}
139
LinIntRel
140
operator !=
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
141
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
142
}
143
LinIntRel
144
operator !=
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
145
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
146
}
147
LinIntRel
148
operator !=
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
149
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
150
}
151
LinIntRel
152
operator !=
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
153
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
154
}
155
LinIntRel
156
operator !=
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
157
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
158
}
159
LinIntRel
160
operator !=
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
161
return
LinIntRel
(
l
,
IRT_NQ
,
r
);
162
}
163
164
LinIntRel
165
operator <
(
int
l
,
const
IntVar
&
r
) {
166
return
LinIntRel
(
l
,
IRT_LE
,
r
);
167
}
168
LinIntRel
169
operator <
(
int
l
,
const
BoolVar
&
r
) {
170
return
LinIntRel
(
l
,
IRT_LE
,
r
);
171
}
172
LinIntRel
173
operator <
(
int
l
,
const
LinIntExpr
&
r
) {
174
return
LinIntRel
(
l
,
IRT_LE
,
r
);
175
}
176
LinIntRel
177
operator <
(
const
IntVar
&
l
,
int
r
) {
178
return
LinIntRel
(
l
,
IRT_LE
,
r
);
179
}
180
LinIntRel
181
operator <
(
const
BoolVar
&
l
,
int
r
) {
182
return
LinIntRel
(
l
,
IRT_LE
,
r
);
183
}
184
LinIntRel
185
operator <
(
const
LinIntExpr
&
l
,
int
r
) {
186
return
LinIntRel
(
l
,
IRT_LE
,
r
);
187
}
188
LinIntRel
189
operator <
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
190
return
LinIntRel
(
l
,
IRT_LE
,
r
);
191
}
192
LinIntRel
193
operator <
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
194
return
LinIntRel
(
l
,
IRT_LE
,
r
);
195
}
196
LinIntRel
197
operator <
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
198
return
LinIntRel
(
l
,
IRT_LE
,
r
);
199
}
200
LinIntRel
201
operator <
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
202
return
LinIntRel
(
l
,
IRT_LE
,
r
);
203
}
204
LinIntRel
205
operator <
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
206
return
LinIntRel
(
l
,
IRT_LE
,
r
);
207
}
208
LinIntRel
209
operator <
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
210
return
LinIntRel
(
l
,
IRT_LE
,
r
);
211
}
212
LinIntRel
213
operator <
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
214
return
LinIntRel
(
l
,
IRT_LE
,
r
);
215
}
216
LinIntRel
217
operator <
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
218
return
LinIntRel
(
l
,
IRT_LE
,
r
);
219
}
220
LinIntRel
221
operator <
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
222
return
LinIntRel
(
l
,
IRT_LE
,
r
);
223
}
224
225
LinIntRel
226
operator <=
(
int
l
,
const
IntVar
&
r
) {
227
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
228
}
229
LinIntRel
230
operator <=
(
int
l
,
const
BoolVar
&
r
) {
231
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
232
}
233
LinIntRel
234
operator <=
(
int
l
,
const
LinIntExpr
&
r
) {
235
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
236
}
237
LinIntRel
238
operator <=
(
const
IntVar
&
l
,
int
r
) {
239
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
240
}
241
LinIntRel
242
operator <=
(
const
BoolVar
&
l
,
int
r
) {
243
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
244
}
245
LinIntRel
246
operator <=
(
const
LinIntExpr
&
l
,
int
r
) {
247
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
248
}
249
LinIntRel
250
operator <=
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
251
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
252
}
253
LinIntRel
254
operator <=
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
255
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
256
}
257
LinIntRel
258
operator <=
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
259
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
260
}
261
LinIntRel
262
operator <=
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
263
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
264
}
265
LinIntRel
266
operator <=
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
267
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
268
}
269
LinIntRel
270
operator <=
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
271
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
272
}
273
LinIntRel
274
operator <=
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
275
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
276
}
277
LinIntRel
278
operator <=
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
279
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
280
}
281
LinIntRel
282
operator <=
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
283
return
LinIntRel
(
l
,
IRT_LQ
,
r
);
284
}
285
286
LinIntRel
287
operator >
(
int
l
,
const
IntVar
&
r
) {
288
return
LinIntRel
(
l
,
IRT_GR
,
r
);
289
}
290
LinIntRel
291
operator >
(
int
l
,
const
BoolVar
&
r
) {
292
return
LinIntRel
(
l
,
IRT_GR
,
r
);
293
}
294
LinIntRel
295
operator >
(
int
l
,
const
LinIntExpr
&
r
) {
296
return
LinIntRel
(
l
,
IRT_GR
,
r
);
297
}
298
LinIntRel
299
operator >
(
const
IntVar
&
l
,
int
r
) {
300
return
LinIntRel
(
l
,
IRT_GR
,
r
);
301
}
302
LinIntRel
303
operator >
(
const
BoolVar
&
l
,
int
r
) {
304
return
LinIntRel
(
l
,
IRT_GR
,
r
);
305
}
306
LinIntRel
307
operator >
(
const
LinIntExpr
&
l
,
int
r
) {
308
return
LinIntRel
(
l
,
IRT_GR
,
r
);
309
}
310
LinIntRel
311
operator >
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
312
return
LinIntRel
(
l
,
IRT_GR
,
r
);
313
}
314
LinIntRel
315
operator >
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
316
return
LinIntRel
(
l
,
IRT_GR
,
r
);
317
}
318
LinIntRel
319
operator >
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
320
return
LinIntRel
(
l
,
IRT_GR
,
r
);
321
}
322
LinIntRel
323
operator >
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
324
return
LinIntRel
(
l
,
IRT_GR
,
r
);
325
}
326
LinIntRel
327
operator >
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
328
return
LinIntRel
(
l
,
IRT_GR
,
r
);
329
}
330
LinIntRel
331
operator >
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
332
return
LinIntRel
(
l
,
IRT_GR
,
r
);
333
}
334
LinIntRel
335
operator >
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
336
return
LinIntRel
(
l
,
IRT_GR
,
r
);
337
}
338
LinIntRel
339
operator >
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
340
return
LinIntRel
(
l
,
IRT_GR
,
r
);
341
}
342
LinIntRel
343
operator >
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
344
return
LinIntRel
(
l
,
IRT_GR
,
r
);
345
}
346
347
LinIntRel
348
operator >=
(
int
l
,
const
IntVar
&
r
) {
349
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
350
}
351
LinIntRel
352
operator >=
(
int
l
,
const
BoolVar
&
r
) {
353
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
354
}
355
LinIntRel
356
operator >=
(
int
l
,
const
LinIntExpr
&
r
) {
357
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
358
}
359
LinIntRel
360
operator >=
(
const
IntVar
&
l
,
int
r
) {
361
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
362
}
363
LinIntRel
364
operator >=
(
const
BoolVar
&
l
,
int
r
) {
365
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
366
}
367
LinIntRel
368
operator >=
(
const
LinIntExpr
&
l
,
int
r
) {
369
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
370
}
371
LinIntRel
372
operator >=
(
const
IntVar
&
l
,
const
IntVar
&
r
) {
373
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
374
}
375
LinIntRel
376
operator >=
(
const
IntVar
&
l
,
const
BoolVar
&
r
) {
377
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
378
}
379
LinIntRel
380
operator >=
(
const
BoolVar
&
l
,
const
IntVar
&
r
) {
381
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
382
}
383
LinIntRel
384
operator >=
(
const
BoolVar
&
l
,
const
BoolVar
&
r
) {
385
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
386
}
387
LinIntRel
388
operator >=
(
const
IntVar
&
l
,
const
LinIntExpr
&
r
) {
389
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
390
}
391
LinIntRel
392
operator >=
(
const
BoolVar
&
l
,
const
LinIntExpr
&
r
) {
393
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
394
}
395
LinIntRel
396
operator >=
(
const
LinIntExpr
&
l
,
const
IntVar
&
r
) {
397
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
398
}
399
LinIntRel
400
operator >=
(
const
LinIntExpr
&
l
,
const
BoolVar
&
r
) {
401
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
402
}
403
LinIntRel
404
operator >=
(
const
LinIntExpr
&
l
,
const
LinIntExpr
&
r
) {
405
return
LinIntRel
(
l
,
IRT_GQ
,
r
);
406
}
407
408
}
409
410
// STATISTICS: minimodel-any
minimodel.hh
Gecode::operator<
bool operator<(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:226
Gecode::IRT_GQ
@ IRT_GQ
Greater or equal ( )
Definition:
int.hh:930
Gecode::IRT_LE
@ IRT_LE
Less ( )
Definition:
int.hh:929
Gecode::LinIntExpr
Linear expressions over integer variables.
Definition:
minimodel.hh:245
Gecode
Gecode toplevel namespace
Gecode::operator>
bool operator>(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:260
Gecode::operator>=
bool operator>=(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:277
Gecode::LinIntRel
Linear relations over integer variables.
Definition:
minimodel.hh:335
Gecode::r
Post propagator for SetVar SetOpType SetVar SetRelType r
Definition:
set.hh:767
Gecode::BoolVar
Boolean integer variables.
Definition:
int.hh:512
Gecode::IntVar
Integer variables.
Definition:
int.hh:371
Gecode::operator!=
bool operator!=(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:317
Gecode::operator<=
bool operator<=(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:243
l
NNF * l
Left subtree.
Definition:
bool-expr.cpp:240
Gecode::IRT_EQ
@ IRT_EQ
Equality ( )
Definition:
int.hh:926
Gecode::IRT_NQ
@ IRT_NQ
Disequality ( )
Definition:
int.hh:927
Gecode::IRT_GR
@ IRT_GR
Greater ( )
Definition:
int.hh:931
Gecode::IRT_LQ
@ IRT_LQ
Less or equal ( )
Definition:
int.hh:928
Gecode::operator==
bool operator==(const FloatVal &x, const FloatVal &y)
Definition:
val.hpp:294