Generated on Mon Jul 27 2020 00:00:00 for Gecode by doxygen 1.8.18
delta.hpp
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  * 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 
39  SetDelta::SetDelta(void) : _glbMin(1), _glbMax(0), _lubMin(1), _lubMax(0) {}
40 
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
48  SetDelta::glbMin(void) const {
49  return _glbMin;
50  }
51  forceinline int
52  SetDelta::glbMax(void) const {
53  return _glbMax;
54  }
55  forceinline int
56  SetDelta::lubMin(void) const {
57  return _lubMin;
58  }
59  forceinline int
60  SetDelta::lubMax(void) const {
61  return _lubMax;
62  }
63  forceinline bool
64  SetDelta::glbAny(void) const {
65  return _glbMin > _glbMax;
66  }
67  forceinline bool
68  SetDelta::lubAny(void) const {
69  return _lubMin > _lubMax;
70  }
71 
72 }}
73 
74 // STATISTICS: set-var
bool lubAny(void) const
Test whether delta represents any domain change in lub.
Definition: delta.hpp:68
Gecode toplevel namespace
SetDelta(void)
Create set delta as providing no information (if any is true)
Definition: delta.hpp:39
int glbMin(void) const
Return glb minimum.
Definition: delta.hpp:48
bool glbAny(void) const
Test whether delta represents any domain change in glb.
Definition: delta.hpp:64
int glbMax(void) const
Return glb maximum.
Definition: delta.hpp:52
int lubMin(void) const
Return lub minimum.
Definition: delta.hpp:56
#define forceinline
Definition: config.hpp:185
int lubMax(void) const
Return lub maximum.
Definition: delta.hpp:60