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