fork
Configure Feed
Select the types of activity you want to include in your feed.
this repo has no description
fork
Configure Feed
Select the types of activity you want to include in your feed.
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, 2012
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
34namespace Gecode {
35
36 forceinline
37 IntValBranch::IntValBranch(Select s0)
38 : s(s0) {}
39
40 forceinline
41 IntValBranch::IntValBranch(Rnd r)
42 : ValBranch<IntVar>(r), s(SEL_RND) {}
43
44 forceinline
45 IntValBranch::IntValBranch(IntBranchVal v, IntBranchCommit c)
46 : ValBranch<IntVar>(v,c), s(SEL_VAL_COMMIT) {}
47
48 forceinline IntValBranch::Select
49 IntValBranch::select(void) const {
50 return s;
51 }
52
53
54 inline IntValBranch
55 INT_VAL_MIN(void) {
56 return IntValBranch(IntValBranch::SEL_MIN);
57 }
58
59 inline IntValBranch
60 INT_VAL_MED(void) {
61 return IntValBranch(IntValBranch::SEL_MED);
62 }
63
64 inline IntValBranch
65 INT_VAL_MAX(void) {
66 return IntValBranch(IntValBranch::SEL_MAX);
67 }
68
69 inline IntValBranch
70 INT_VAL_RND(Rnd r) {
71 return IntValBranch(r);
72 }
73
74 inline IntValBranch
75 INT_VAL_SPLIT_MIN(void) {
76 return IntValBranch(IntValBranch::SEL_SPLIT_MIN);
77 }
78
79 inline IntValBranch
80 INT_VAL_SPLIT_MAX(void) {
81 return IntValBranch(IntValBranch::SEL_SPLIT_MAX);
82 }
83
84 inline IntValBranch
85 INT_VAL_RANGE_MIN(void) {
86 return IntValBranch(IntValBranch::SEL_RANGE_MIN);
87 }
88
89 inline IntValBranch
90 INT_VAL_RANGE_MAX(void) {
91 return IntValBranch(IntValBranch::SEL_RANGE_MAX);
92 }
93
94 inline IntValBranch
95 INT_VAL(IntBranchVal v, IntBranchCommit c) {
96 return IntValBranch(v,c);
97 }
98
99 inline IntValBranch
100 INT_VALUES_MIN(void) {
101 return IntValBranch(IntValBranch::SEL_VALUES_MIN);
102 }
103
104 inline IntValBranch
105 INT_VALUES_MAX(void) {
106 return IntValBranch(IntValBranch::SEL_VALUES_MAX);
107 }
108
109
110
111 forceinline
112 BoolValBranch::BoolValBranch(Select s0)
113 : s(s0) {}
114
115 forceinline
116 BoolValBranch::BoolValBranch(Rnd r)
117 : ValBranch<BoolVar>(r), s(SEL_RND) {}
118
119 forceinline
120 BoolValBranch::BoolValBranch(BoolBranchVal v, BoolBranchCommit c)
121 : ValBranch<BoolVar>(v,c), s(SEL_VAL_COMMIT) {}
122
123 forceinline BoolValBranch::Select
124 BoolValBranch::select(void) const {
125 return s;
126 }
127
128
129 inline BoolValBranch
130 BOOL_VAL_MIN(void) {
131 return BoolValBranch(BoolValBranch::SEL_MIN);
132 }
133
134 inline BoolValBranch
135 BOOL_VAL_MAX(void) {
136 return BoolValBranch(BoolValBranch::SEL_MAX);
137 }
138
139 inline BoolValBranch
140 BOOL_VAL_RND(Rnd r) {
141 return BoolValBranch(r);
142 }
143
144 inline BoolValBranch
145 BOOL_VAL(BoolBranchVal v, BoolBranchCommit c) {
146 return BoolValBranch(v,c);
147 }
148
149}
150
151// STATISTICS: int-branch