46 namespace Test {
namespace Assign {
58 : Gecode::
Space(share,s) {
74 :
x(*this, n, 0, 1) {}
77 : Gecode::
Space(share,s) {
86 #ifdef GECODE_HAS_SET_VARS
95 :
x(*this, n, Gecode::IntSet::empty, d) {}
98 : Gecode::
Space(share,s) {
109 #ifdef GECODE_HAS_FLOAT_VARS
118 :
x(*this, n, d.
min(), d.
max()) {}
121 : Gecode::
Space(share,s) {
138 const char* int_assign_name[] = {
146 const int n_int_assign =
147 sizeof(int_assign_name)/
sizeof(
const char*);
159 :
Base(
"Int::Assign::"+s), arity(a),
dom(d) {
164 using namespace Gecode;
166 post(*root, root->x);
167 (void) root->status();
169 for (
int val = 0; val<n_int_assign; val++) {
192 delete s; solutions++;
194 if (solutions != 1) {
195 std::cout <<
"FAILURE" << std::endl
196 <<
"\tc_d=" << o.
c_d <<
", a_d=" << o.
a_d << std::endl
197 <<
"\t" << int_assign_name[val] << std::endl;
212 using namespace Gecode;
214 post(*root, root->x);
215 (void) root->status();
217 for (
int val = n_int_assign; val--; ) {
239 delete s; solutions++;
241 if (solutions != 1) {
242 std::cout <<
"FAILURE" << std::endl
243 <<
"\tc_d=" << o.
c_d <<
", a_d=" << o.
a_d << std::endl
244 <<
"\t" << int_assign_name[val] << std::endl;
253 #ifdef GECODE_HAS_SET_VARS
261 const char* set_assign_name[] = {
262 "SET_ASSIGN_MIN_INC",
263 "SET_ASSIGN_MIN_EXC",
264 "SET_ASSIGN_MED_INC",
265 "SET_ASSIGN_MED_EXC",
266 "SET_ASSIGN_MAX_INC",
267 "SET_ASSIGN_MAX_EXC",
268 "SET_ASSIGN_RND_INC",
269 "SET_ASSIGN_RND_EXC",
273 const int n_set_assign =
274 sizeof(set_assign_name)/
sizeof(
const char*);
288 using namespace Gecode;
290 post(*root, root->x);
291 (void) root->status();
293 for (
int val = n_int_assign; val--; ) {
321 delete s; solutions++;
323 if (solutions != 1) {
324 std::cout <<
"FAILURE" << std::endl
325 <<
"\tc_d=" << o.
c_d <<
", a_d=" << o.
a_d << std::endl
326 <<
"\t" << set_assign_name[val] << std::endl;
337 #ifdef GECODE_HAS_FLOAT_VARS
345 const char* float_assign_name[] = {
352 const int n_float_assign =
353 sizeof(float_assign_name)/
sizeof(
const char*);
366 using namespace Gecode;
368 post(*root, root->x);
369 (void) root->status();
371 for (
int val = n_float_assign; val--; ) {
394 delete s; solutions++;
396 if (solutions != 1) {
397 std::cout <<
"FAILURE" << std::endl
398 <<
"\tc_d=" << o.
c_d <<
", a_d=" << o.
a_d << std::endl
399 <<
"\t" << float_assign_name[val] << std::endl;