1 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 /*
3  *  Main authors:
4  *     Christian Schulte <schulte@gecode.org>
5  *     Guido Tack <tack@gecode.org>
6  *
7  *  Copyright:
8  *     Christian Schulte, 2007
9  *     Guido Tack, 2007
10  *
11  *  This file is part of Gecode, the generic constraint
12  *  development environment:
13  *     http://www.gecode.org
14  *
15  *  Permission is hereby granted, free of charge, to any person obtaining
16  *  a copy of this software and associated documentation files (the
17  *  "Software"), to deal in the Software without restriction, including
18  *  without limitation the rights to use, copy, modify, merge, publish,
19  *  distribute, sublicense, and/or sell copies of the Software, and to
20  *  permit persons to whom the Software is furnished to do so, subject to
21  *  the following conditions:
22  *
23  *  The above copyright notice and this permission notice shall be
24  *  included in all copies or substantial portions of the Software.
25  *
26  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
27  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
28  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
30  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
31  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
32  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33  *
34  */
35 
36 namespace Gecode { namespace Set {
37 
38   forceinline
SetDelta(void)39   SetDelta::SetDelta(void) : _glbMin(1), _glbMax(0), _lubMin(1), _lubMax(0) {}
40 
41   forceinline
SetDelta(int glbMin,int glbMax,int lubMin,int lubMax)42   SetDelta::SetDelta(int glbMin, int glbMax,
43                      int lubMin, int lubMax)
44     : _glbMin(glbMin), _glbMax(glbMax),
45       _lubMin(lubMin), _lubMax(lubMax) {}
46 
47   forceinline int
glbMin(void) const48   SetDelta::glbMin(void) const {
49     return _glbMin;
50   }
51   forceinline int
glbMax(void) const52   SetDelta::glbMax(void) const {
53     return _glbMax;
54   }
55   forceinline int
lubMin(void) const56   SetDelta::lubMin(void) const {
57     return _lubMin;
58   }
59   forceinline int
lubMax(void) const60   SetDelta::lubMax(void) const {
61     return _lubMax;
62   }
63   forceinline bool
glbAny(void) const64   SetDelta::glbAny(void) const {
65     return _glbMin > _glbMax;
66   }
67   forceinline bool
lubAny(void) const68   SetDelta::lubAny(void) const {
69     return _lubMin > _lubMax;
70   }
71 
72 }}
73 
74 // STATISTICS: set-var
75