big update
Annotate for file glue.cpp
2006-12-07 kilian.sprot 1 // arch-tag: DB2FEBED-DE12-4185-B2F1-225EC7A49C12
21:06:18 ' 2
' 3 // Copyright (c) 2006, Kilian Sprotte. All rights reserved.
' 4
' 5 // Redistribution and use in source and binary forms, with or without
' 6 // modification, are permitted provided that the following conditions
' 7 // are met:
' 8
' 9 // * Redistributions of source code must retain the above copyright
' 10 // notice, this list of conditions and the following disclaimer.
' 11
' 12 // * Redistributions in binary form must reproduce the above
' 13 // copyright notice, this list of conditions and the following
' 14 // disclaimer in the documentation and/or other materials
' 15 // provided with the distribution.
' 16
' 17 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
' 18 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
' 19 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
' 20 // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
' 21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
' 22 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
' 23 // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
' 24 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
' 25 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
' 26 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
' 27 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
' 28
' 29 #include "gecode/int.hh"
2006-12-21 kilian.sprot 30 #include "gecode/set.hh"
2006-12-07 kilian.sprot 31 #include "gecode/search.hh"
21:06:18 ' 32 #include "gecode/minimodel.hh"
' 33
' 34 using namespace Gecode;
' 35
2007-01-08 kilian.sprot 36 class GecolSpace : public Space {
2006-12-21 kilian.sprot 37 protected:
2007-01-08 kilian.sprot 38 IntVarArray ints;
2006-12-21 kilian.sprot 39 BoolVarArray bools;
15:40:43 ' 40 SetVarArray sets;
2007-01-08 kilian.sprot 41 int bab_intvar_ind;
01:49:57 ' 42 IntRelType bab_intreltype;
2006-12-21 kilian.sprot 43 public:
2007-01-08 kilian.sprot 44 GecolSpace(int intnum, int intmin, int intmax,
01:49:57 ' 45 int boolnum,
' 46 int setnum,
' 47 int arg_bab_intvar_ind, IntRelType arg_bab_intreltype)
' 48 : ints(this, intnum, intmin, intmax),
' 49 bools(this, boolnum, 0, 1),
' 50 sets(this,setnum),
' 51 bab_intvar_ind(arg_bab_intvar_ind),
' 52 bab_intreltype(arg_bab_intreltype)
2006-12-21 kilian.sprot 53 {
15:40:43 ' 54 }
2007-01-08 kilian.sprot 55 // Constructor for cloning a s
01:49:57 ' 56 GecolSpace(bool share, GecolSpace &s) : Space(share,s) {
' 57 ints.update(this, share, s.ints);
2006-12-21 kilian.sprot 58 bools.update(this, share, s.bools);
15:40:43 ' 59 sets.update(this, share, s.sets);
2007-01-08 kilian.sprot 60 // TODO maybe specialize GecolBABSpace
01:49:57 ' 61 // so we dont always copy these
' 62 bab_intvar_ind = s.bab_intvar_ind;
' 63 bab_intreltype = s.bab_intreltype;
2006-12-21 kilian.sprot 64 }
2007-01-08 kilian.sprot 65 // Copy during cloning
2006-12-21 kilian.sprot 66 virtual Space*
15:40:43 ' 67 copy(bool share) {
2007-01-08 kilian.sprot 68 return new GecolSpace(share,*this);
2006-12-21 kilian.sprot 69 }
2007-01-08 kilian.sprot 70 IntVarArray getInts () {
01:49:57 ' 71 return ints;
2006-12-21 kilian.sprot 72 }
2007-01-08 kilian.sprot 73 BoolVarArray getBools () {
2006-12-21 kilian.sprot 74 return bools;
15:40:43 ' 75 }
2007-01-08 kilian.sprot 76 SetVarArray getSets () {
2006-12-21 kilian.sprot 77 return sets;
15:40:43 ' 78 }
2007-01-08 kilian.sprot 79 // TODO use here the 'more complicated' version
01:49:57 ' 80 // like in gecode examples?
' 81 void constrain(GecolSpace* latest) {
' 82 rel(this, this->getInts()[bab_intvar_ind], bab_intreltype, latest->getInts()[bab_intvar_ind]);
' 83 }
' 84 };
' 85
' 86 struct lisp_SetVarArgs
' 87 {
' 88 int size;
' 89 SetVar** array[];
' 90 };
' 91
' 92 struct lisp_IntVarArgs
' 93 {
' 94 int size;
' 95 IntVar** array[];
' 96 };
' 97
' 98 struct lisp_BoolVarArgs
' 99 {
' 100 int size;
' 101 BoolVar** array[];
' 102 };
' 103
' 104 struct lisp_IntArgs
' 105 {
' 106 int size;
' 107 int* array[];
2006-12-21 kilian.sprot 108 };
15:40:43 ' 109
2006-12-07 kilian.sprot 110 extern "C" {
2007-01-08 kilian.sprot 111 // IntSet
01:49:57 ' 112 IntSet *make_IntSet_int_int(int n, int m);
' 113 IntSet *make_IntSet_intarray_int(const int r[], int n);
' 114 int IntSet_size(IntSet *intset);
' 115 int IntSet_min_int(IntSet *intset, int i);
' 116 int IntSet_max_int(IntSet *intset, int i);
' 117 unsigned int IntSet_width_int(IntSet *intset, int i);
' 118 int IntSet_min(IntSet *intset);
' 119 int IntSet_max(IntSet *intset);
' 120 void delete_IntSet(IntSet *intset);
' 121 // IntVar
' 122 IntVar *make_IntVar_Space_int_int(Space* home, int min, int max);
' 123 bool IntVar_assigned(IntVar* intvar);
' 124 int IntVar_val(IntVar* intvar);
' 125 void delete_IntVar(IntVar *v);
' 126 // GecolSpace
' 127 GecolSpace* make_GecolSpace(int intnum, int intmin, int intmax, int boolnum, int setnum,
' 128 int bab_intvar_ind, IntRelType bab_intreltype);
' 129 void delete_GecolSpace(GecolSpace* space);
' 130 IntVar* GecolSpace_getInt_int(GecolSpace* space, int ind);
' 131 BoolVar* GecolSpace_getBool_int(GecolSpace* space, int ind);
' 132 SetVar* GecolSpace_getSet_int(GecolSpace* space, int ind);
' 133 void GecolSpace_putSet_int_SetVar(GecolSpace* space, int ind, SetVar* set);
' 134 // DFS
' 135 DFS<GecolSpace>* make_DFS_Space_int_int_Stop(GecolSpace* space, int c_d, int a_d, Search::Stop* st);
' 136 void delete_DFS(DFS<GecolSpace>* dfs);
' 137 GecolSpace* DFS_next(DFS<GecolSpace>* dfs);
' 138 // BAB
' 139 BAB<GecolSpace>* make_BAB_Space_int_int_Stop(GecolSpace* space, int c_d, int a_d, Search::Stop* st);
' 140 void delete_BAB(BAB<GecolSpace>* bab);
' 141 GecolSpace* BAB_next(BAB<GecolSpace>* bab);
' 142
' 143 ////////////
' 144
' 145 void branch_intvarargs_bvarsel_bvalsel(Space *home, const lisp_IntVarArgs *x, BvarSel vars, BvalSel vals);
' 146 void linear_intvarargs_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, int c, IntConLevel icl);
' 147 void linear_intvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl);
' 148 void linear_intvarargs_intreltype_int_boolvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, int c, BoolVar *b, IntConLevel icl);
' 149 void linear_intvarargs_intreltype_intvar_boolvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, BoolVar *b, IntConLevel icl);
' 150 void linear_intargs_intvarargs_intreltype_int_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, int c, IntConLevel icl);
' 151 void linear_intargs_intvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl);
' 152 void linear_intargs_intvarargs_intreltype_int_boolvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, int c, BoolVar *b, IntConLevel icl);
' 153 void linear_intargs_intvarargs_intreltype_intvar_boolvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, BoolVar *b, IntConLevel icl);
' 154 void linear_boolvarargs_intreltype_int_intconlevel(Space *home, const lisp_BoolVarArgs *x, IntRelType r, int c, IntConLevel icl);
' 155 void linear_boolvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_BoolVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl);
' 156 void cumulatives_intvarargs_intvarargs_intvarargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 157 void cumulatives_intargs_intvarargs_intvarargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 158 void cumulatives_intvarargs_intvarargs_intargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 159 void cumulatives_intargs_intvarargs_intargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 160 void cumulatives_intvarargs_intvarargs_intvarargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 161 void cumulatives_intargs_intvarargs_intvarargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 162 void cumulatives_intvarargs_intvarargs_intargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 163 void cumulatives_intargs_intvarargs_intargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl);
' 164 void eq_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntConLevel icl);
' 165 void eq_intvar_int_intconlevel(Space *home, IntVar *x, int n, IntConLevel icl);
' 166 void eq_intvar_intvar_boolvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, BoolVar *b, IntConLevel icl);
' 167 void eq_intvar_int_boolvar_intconlevel(Space *home, IntVar *x, int n, BoolVar *b, IntConLevel icl);
' 168 void eq_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntConLevel icl);
' 169 void count_intvarargs_int_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int n, IntRelType r, int m, IntConLevel icl);
' 170 void count_intvarargs_intvar_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntRelType r, int m, IntConLevel icl);
' 171 void count_intvarargs_int_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, int n, IntRelType r, IntVar *z, IntConLevel icl);
' 172 void count_intvarargs_intvar_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntRelType r, IntVar *z, IntConLevel icl);
' 173 void gcc_intvarargs_intargs_int_int_int_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *c, int m, int unspec_low, int unspec_up, int min, int max, IntConLevel icl);
' 174 void gcc_intvarargs_intargs_int_int_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *c, int m, int unspec, int min, int max, IntConLevel icl);
' 175 void gcc_intvarargs_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int lb, int ub, IntConLevel icl);
' 176 void gcc_intvarargs_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int ub, IntConLevel icl);
' 177 void gcc_intvarargs_intvarargs_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *c, int min, int max, IntConLevel icl);
' 178 void gcc_intvarargs_intargs_intvarargs_int_int_int_bool_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *v, const lisp_IntVarArgs *c, int m, int unspec_low, int unspec_up, bool all, int min, int max, IntConLevel icl);
' 179 void gcc_intvarargs_intargs_intvarargs_int_int_bool_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *v, const lisp_IntVarArgs *c, int m, int unspec, bool all, int min, int max, IntConLevel icl);
' 180 void channel_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, IntConLevel icl);
' 181 void dom_intvar_int_int_intconlevel(Space *home, IntVar *x, int l, int m, IntConLevel icl);
' 182 void dom_intvarargs_int_int_intconlevel(Space *home, lisp_IntVarArgs *x, int l, int m, IntConLevel icl);
' 183 void dom_intvar_intset_intconlevel(Space *home, IntVar *x, const IntSet *s, IntConLevel icl);
' 184 void dom_intvarargs_intset_intconlevel(Space *home, lisp_IntVarArgs *x, const IntSet *s, IntConLevel icl);
' 185 void dom_intvar_int_int_boolvar_intconlevel(Space *home, IntVar *x, int l, int m, BoolVar *b, IntConLevel icl);
' 186 void dom_intvar_intset_boolvar_intconlevel(Space *home, IntVar *x, const IntSet *s, BoolVar *b, IntConLevel icl);
' 187 void bool_not_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, IntConLevel icl);
' 188 void bool_eq_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, IntConLevel icl);
' 189 void bool_and_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl);
' 190 void bool_and_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl);
' 191 void bool_and_boolvarargs_boolvar_intconlevel(Space *home, const lisp_BoolVarArgs *b, BoolVar *c, IntConLevel icl);
' 192 void bool_and_boolvarargs_bool_intconlevel(Space *home, const lisp_BoolVarArgs *b, bool c, IntConLevel icl);
' 193 void bool_or_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl);
' 194 void bool_or_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl);
' 195 void bool_or_boolvarargs_boolvar_intconlevel(Space *home, const lisp_BoolVarArgs *b, BoolVar *c, IntConLevel icl);
' 196 void bool_or_boolvarargs_bool_intconlevel(Space *home, const lisp_BoolVarArgs *b, bool c, IntConLevel icl);
' 197 void bool_imp_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl);
' 198 void bool_imp_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl);
' 199 void bool_eqv_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl);
' 200 void bool_eqv_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl);
' 201 void bool_xor_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl);
' 202 void bool_xor_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl);
' 203 void sortedness_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, IntConLevel icl);
' 204 void sortedness_intvarargs_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, const lisp_IntVarArgs *z, IntConLevel icl);
' 205 void distinct_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntConLevel icl);
' 206 void distinct_intargs_intvarargs_intconlevel(Space *home, const lisp_IntArgs *n, const lisp_IntVarArgs *x, IntConLevel icl);
' 207 void element_intargs_intvar_intvar_intconlevel(Space *home, const lisp_IntArgs *n, IntVar *x0, IntVar *x1, IntConLevel icl);
' 208 void element_intvarargs_intvar_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y0, IntVar *y1, IntConLevel icl);
' 209 void rel_intvar_intreltype_intvar_intconlevel(Space *home, IntVar *x0, IntRelType r, IntVar *x1, IntConLevel icl);
' 210 void rel_intvar_intreltype_int_intconlevel(Space *home, IntVar *x, IntRelType r, int c, IntConLevel icl);
' 211 void rel_intvar_intreltype_intvar_boolvar_intconlevel(Space *home, IntVar *x0, IntRelType r, IntVar *x1, BoolVar *b, IntConLevel icl);
' 212 void rel_intvar_intreltype_int_boolvar_intconlevel(Space *home, IntVar *x, IntRelType r, int c, BoolVar *b, IntConLevel icl);
' 213 void rel_intvarargs_intreltype_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, const lisp_IntVarArgs *y, IntConLevel icl);
' 214 void min_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl);
' 215 void min_intvarargs_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntConLevel icl);
' 216 void max_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl);
' 217 void max_intvarargs_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntConLevel icl);
' 218 void abs_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntConLevel icl);
' 219 void mult_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl);
' 220
2006-12-07 kilian.sprot 221
21:06:18 ' 222
2006-12-21 kilian.sprot 223 // Sets
2007-01-08 kilian.sprot 224 SetVar* gec_fs_make_const(GecolSpace* space, int card, int *dom);
01:49:57 ' 225 SetVar* gec_fs_make_bounds(GecolSpace* space,
2007-02-06 kilian.sprot 226 int lower_card, int *lower_dom,
19:14:21 ' 227 int upper_card, int *upper_dom);
2007-01-08 kilian.sprot 228 SetVar* gec_fs_make_lower_bound(GecolSpace* space, int lower_card, int *lower_dom);
01:49:57 ' 229 SetVar* gec_fs_make_upper_bound(GecolSpace* space, int upper_card, int *upper_dom);
2006-12-21 kilian.sprot 230 unsigned int gec_fs_glb_size(SetVar* set);
15:40:43 ' 231 unsigned int gec_fs_lub_size(SetVar* set);
' 232 unsigned int gec_fs_unknown_size(SetVar* set);
' 233 unsigned int gec_fs_card_min(SetVar* set);
' 234 unsigned int gec_fs_card_max(SetVar* set);
' 235 int gec_fs_lub_min(SetVar* set);
' 236 int gec_fs_lub_max(SetVar* set);
' 237 int gec_fs_glb_min(SetVar* set);
' 238 int gec_fs_glb_max(SetVar* set);
' 239 bool gec_fs_contains(SetVar* set, int x);
' 240 bool gec_fs_not_contains(SetVar* set, int x);
' 241 bool gec_fs_assigned(SetVar* set);
2007-01-08 kilian.sprot 242
01:49:57 ' 243 void atmostOne_setvarargs_unsigned_int(Space *home, const lisp_SetVarArgs *x, unsigned int c);
' 244 void distinct_setvarargs_unsigned_int(Space *home, const lisp_SetVarArgs *x, unsigned int c);
' 245 void min_setvar_intvar(Space *home, SetVar *s, IntVar *x);
' 246 void max_setvar_intvar(Space *home, SetVar *s, IntVar *x);
' 247 void match_setvar_intvarargs(Space *home, SetVar *s, const lisp_IntVarArgs *x);
' 248 void channel_intvarargs_setvarargs(Space *home, const lisp_IntVarArgs *x, const lisp_SetVarArgs *y);
' 249 void cardinality_setvar_intvar(Space *home, SetVar *s, IntVar *x);
' 250 void weights_intargs_intargs_setvar_intvar(Space *home, const lisp_IntArgs *elements, const lisp_IntArgs *weights, SetVar *x, IntVar *y);
' 251 void convex_setvar(Space *home, SetVar *x);
' 252 void convexHull_setvar_setvar(Space *home, SetVar *x, SetVar *y);
' 253 void selectUnion_setvarargs_setvar_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z);
' 254 void selectInter_setvarargs_setvar_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z);
' 255 void selectInterIn_setvarargs_setvar_setvar_intset(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z, const IntSet *universe);
' 256 void selectDisjoint_setvarargs_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y);
' 257 void selectSet_setvarargs_intvar_setvar(Space *home, const lisp_SetVarArgs *x, IntVar *y, SetVar *z);
' 258 void rel_setvar_setreltype_setvar(Space *home, SetVar *x, SetRelType r, SetVar *y);
' 259 void rel_setvar_setreltype_setvar_boolvar(Space *home, SetVar *x, SetRelType r, SetVar *y, BoolVar *b);
' 260 void rel_setvar_setreltype_intvar(Space *home, SetVar *s, SetRelType r, IntVar *x);
' 261 void rel_intvar_setreltype_setvar(Space *home, IntVar *x, SetRelType r, SetVar *s);
' 262 void rel_setvar_setreltype_intvar_boolvar(Space *home, SetVar *s, SetRelType r, IntVar *x, BoolVar *b);
' 263 void rel_intvar_setreltype_setvar_boolvar(Space *home, IntVar *x, SetRelType r, SetVar *s, BoolVar *b);
' 264 void rel_setvar_intreltype_intvar(Space *home, SetVar *s, IntRelType r, IntVar *x);
' 265 void rel_intvar_intreltype_setvar(Space *home, IntVar *x, IntRelType r, SetVar *s);
' 266 void rel_setvar_setoptype_setvar_setreltype_setvar(Space *home, SetVar *x, SetOpType op, SetVar *y, SetRelType r, SetVar *z);
' 267 void rel_setoptype_setvarargs_setvar(Space *home, SetOpType op, const lisp_SetVarArgs *x, SetVar *y);
' 268 void rel_setoptype_intvarargs_setvar(Space *home, SetOpType op, const lisp_IntVarArgs *x, SetVar *y);
' 269 void rel_intset_setoptype_setvar_setreltype_setvar(Space *home, const IntSet *x, SetOpType op, SetVar *y, SetRelType r, SetVar *z);
' 270 void rel_setvar_setoptype_intset_setreltype_setvar(Space *home, SetVar *x, SetOpType op, const IntSet *y, SetRelType r, SetVar *z);
' 271 void rel_setvar_setoptype_setvar_setreltype_intset(Space *home, SetVar *x, SetOpType op, SetVar *y, SetRelType r, const IntSet *z);
' 272 void rel_intset_setoptype_intset_setreltype_setvar(Space *home, const IntSet *x, SetOpType op, const IntSet *y, SetRelType r, SetVar *z);
' 273 void rel_intset_setoptype_setvar_setreltype_intset(Space *home, const IntSet *x, SetOpType op, SetVar *y, SetRelType r, const IntSet *z);
' 274 void rel_setvar_setoptype_intset_setreltype_intset(Space *home, SetVar *x, SetOpType op, const IntSet *y, SetRelType r, const IntSet *z);
' 275 void sequence_setvarargs(Space *home, const lisp_SetVarArgs *x);
' 276 void sequentialUnion_setvarargs_setvar(Space *home, const lisp_SetVarArgs *y, SetVar *x);
' 277 void dom_setvar_setreltype_int(Space *home, SetVar *x, SetRelType r, int i);
' 278 void dom_setvar_setreltype_int_int(Space *home, SetVar *x, SetRelType r, int i, int j);
' 279 void dom_setvar_setreltype_intset(Space *home, SetVar *x, SetRelType r, const IntSet *s);
' 280 void dom_setvar_setreltype_int_boolvar(Space *home, SetVar *x, SetRelType r, int i, BoolVar *b);
' 281 void dom_setvar_setreltype_int_int_boolvar(Space *home, SetVar *x, SetRelType r, int i, int j, BoolVar *b);
' 282 void dom_setvar_setreltype_intset_boolvar(Space *home, SetVar *x, SetRelType r, const IntSet *s, BoolVar *b);
' 283 void cardinality_setvar_unsigned_int_unsigned_int(Space *home, SetVar *x, unsigned int i, unsigned int j);
' 284
' 285
2006-12-07 kilian.sprot 286 }
21:06:18 ' 287
2007-01-08 kilian.sprot 288 // IntSet
01:49:57 ' 289
' 290 IntSet *make_IntSet_int_int(int n, int m)
2006-12-07 kilian.sprot 291 {
2007-01-08 kilian.sprot 292 return new IntSet(n,m);
2006-12-07 kilian.sprot 293 }
21:06:18 ' 294
2007-01-08 kilian.sprot 295 IntSet *make_IntSet_intarray_int(const int r[], int n)
2006-12-07 kilian.sprot 296 {
2007-01-08 kilian.sprot 297 return new IntSet(r,n);
2006-12-07 kilian.sprot 298 }
21:06:18 ' 299
2007-01-08 kilian.sprot 300 int IntSet_size(IntSet *intset)
2006-12-07 kilian.sprot 301 {
2007-01-08 kilian.sprot 302 return intset->size();
2006-12-07 kilian.sprot 303 }
21:06:18 ' 304
2007-01-08 kilian.sprot 305 int IntSet_min_int(IntSet *intset, int i)
2006-12-07 kilian.sprot 306 {
2007-01-08 kilian.sprot 307 return intset->min(i);
2006-12-07 kilian.sprot 308 }
21:06:18 ' 309
2007-01-08 kilian.sprot 310 int IntSet_max_int(IntSet *intset, int i)
2006-12-07 kilian.sprot 311 {
2007-01-08 kilian.sprot 312 return intset->max(i);
2006-12-07 kilian.sprot 313 }
21:06:18 ' 314
2007-01-08 kilian.sprot 315 unsigned int IntSet_width_int(IntSet *intset, int i)
2006-12-07 kilian.sprot 316 {
2007-01-08 kilian.sprot 317 return intset->width(i);
2006-12-07 kilian.sprot 318 }
21:06:18 ' 319
2007-01-08 kilian.sprot 320 int IntSet_min(IntSet *intset)
2006-12-07 kilian.sprot 321 {
2007-01-08 kilian.sprot 322 return intset->min();
2006-12-07 kilian.sprot 323 }
21:06:18 ' 324
2007-01-08 kilian.sprot 325 int IntSet_max(IntSet *intset)
2006-12-07 kilian.sprot 326 {
2007-01-08 kilian.sprot 327 return intset->max();
2006-12-07 kilian.sprot 328 }
21:06:18 ' 329
2007-01-08 kilian.sprot 330 void delete_IntSet(IntSet *intset)
2006-12-07 kilian.sprot 331 {
2007-01-08 kilian.sprot 332 delete intset;
2006-12-07 kilian.sprot 333 }
21:06:18 ' 334
2007-01-08 kilian.sprot 335 // IntVar
01:49:57 ' 336 IntVar *make_IntVar_Space_int_int(Space* home, int min, int max)
2006-12-07 kilian.sprot 337 {
2007-01-08 kilian.sprot 338 return new IntVar(home, min, max);
2006-12-07 kilian.sprot 339 }
21:06:18 ' 340
2007-01-08 kilian.sprot 341 bool IntVar_assigned(IntVar* intvar)
2006-12-07 kilian.sprot 342 {
2007-01-08 kilian.sprot 343 return intvar->assigned();
2006-12-07 kilian.sprot 344 }
21:06:18 ' 345
2007-01-08 kilian.sprot 346 int IntVar_val(IntVar* intvar)
2006-12-07 kilian.sprot 347 {
2007-01-08 kilian.sprot 348 return intvar->val();
2006-12-07 kilian.sprot 349 }
21:06:18 ' 350
2007-01-08 kilian.sprot 351 void delete_IntVar(IntVar *v)
2006-12-07 kilian.sprot 352 {
2007-01-08 kilian.sprot 353 delete v;
2006-12-07 kilian.sprot 354 }
21:06:18 ' 355
2007-01-08 kilian.sprot 356 // GecolSpace
01:49:57 ' 357 GecolSpace* make_GecolSpace(int intnum, int intmin, int intmax, int boolnum, int setnum,
' 358 int bab_intvar_ind, IntRelType bab_intreltype)
2006-12-07 kilian.sprot 359 {
2007-01-08 kilian.sprot 360 return new GecolSpace(intnum, intmin, intmax, boolnum, setnum,
01:49:57 ' 361 bab_intvar_ind, bab_intreltype);
2006-12-07 kilian.sprot 362 }
21:06:18 ' 363
2007-01-08 kilian.sprot 364 void delete_GecolSpace(GecolSpace* space)
2006-12-07 kilian.sprot 365 {
2007-01-08 kilian.sprot 366 delete space;
2006-12-07 kilian.sprot 367 }
21:06:18 ' 368
2007-01-08 kilian.sprot 369 // Providing these as if they were GecolSpace methods
01:49:57 ' 370 IntVar* GecolSpace_getInt_int(GecolSpace* space, int ind)
2006-12-07 kilian.sprot 371 {
2007-01-08 kilian.sprot 372 IntVarArray ints = space->getInts();
01:49:57 ' 373 return &(ints[ind]);
2006-12-07 kilian.sprot 374 }
21:06:18 ' 375
2007-01-08 kilian.sprot 376 BoolVar* GecolSpace_getBool_int(GecolSpace* space, int ind)
2006-12-07 kilian.sprot 377 {
2007-01-08 kilian.sprot 378 BoolVarArray bools = space->getBools();
01:49:57 ' 379 return &(bools[ind]);
2006-12-07 kilian.sprot 380 }
21:06:18 ' 381
2007-01-08 kilian.sprot 382 SetVar* GecolSpace_getSet_int(GecolSpace* space, int ind)
2006-12-07 kilian.sprot 383 {
2007-01-08 kilian.sprot 384 SetVarArray sets = space->getSets();
01:49:57 ' 385 return &(sets[ind]);
2006-12-07 kilian.sprot 386 }
21:06:18 ' 387
2007-01-08 kilian.sprot 388 void GecolSpace_putSet_int_SetVar(GecolSpace* space, int ind, SetVar* set)
2006-12-07 kilian.sprot 389 {
2007-01-08 kilian.sprot 390 SetVarArray sets = space->getSets();
01:49:57 ' 391 sets[ind] = *set;
2006-12-07 kilian.sprot 392 }
21:06:18 ' 393
2007-01-08 kilian.sprot 394 // DFS
01:49:57 ' 395 DFS<GecolSpace>* make_DFS_Space_int_int_Stop(GecolSpace* space, int c_d, int a_d, Search::Stop* st)
2006-12-07 kilian.sprot 396 {
2007-01-08 kilian.sprot 397 return new DFS<GecolSpace>(space, c_d, a_d, st);
2006-12-07 kilian.sprot 398 }
21:06:18 ' 399
2007-01-08 kilian.sprot 400 void delete_DFS(DFS<GecolSpace>* dfs)
01:49:57 ' 401 {
' 402 delete dfs;
' 403 }
2006-12-07 kilian.sprot 404
2007-01-08 kilian.sprot 405 GecolSpace* DFS_next(DFS<GecolSpace>* dfs)
2006-12-07 kilian.sprot 406 {
2007-01-08 kilian.sprot 407 return dfs->next();
2006-12-07 kilian.sprot 408 }
21:06:18 ' 409
2007-01-08 kilian.sprot 410 // BAB
01:49:57 ' 411 BAB<GecolSpace>* make_BAB_Space_int_int_Stop(GecolSpace* space, int c_d, int a_d, Search::Stop* st)
2006-12-07 kilian.sprot 412 {
2007-01-08 kilian.sprot 413 return new BAB<GecolSpace>(space, c_d, a_d, st);
2006-12-07 kilian.sprot 414 }
21:06:18 ' 415
2007-01-08 kilian.sprot 416 void delete_BAB(BAB<GecolSpace>* bab)
2006-12-07 kilian.sprot 417 {
2007-01-08 kilian.sprot 418 delete bab;
2006-12-07 kilian.sprot 419 }
21:06:18 ' 420
2007-01-08 kilian.sprot 421 GecolSpace* BAB_next(BAB<GecolSpace>* bab)
01:49:57 ' 422 {
' 423 return bab->next();
2006-12-07 kilian.sprot 424 }
21:06:18 ' 425
2007-01-08 kilian.sprot 426 ////////
01:49:57 ' 427
' 428 void branch_intvarargs_bvarsel_bvalsel(Space *home, const lisp_IntVarArgs *x, BvarSel vars, BvalSel vals)
2006-12-07 kilian.sprot 429 {
2007-01-08 kilian.sprot 430 IntVarArgs x_IntVarArgs(x->size);
01:49:57 ' 431 for(int i=0;i<x->size;i++)
' 432 x_IntVarArgs[i] = *((*(x->array))[i]);
' 433 Gecode::branch(home, x_IntVarArgs, vars, vals);
2006-12-07 kilian.sprot 434 }
21:06:18 ' 435
2007-01-08 kilian.sprot 436 void linear_intvarargs_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, int c, IntConLevel icl)
2006-12-07 kilian.sprot 437 {
2007-01-08 kilian.sprot 438 IntVarArgs x_IntVarArgs(x->size);
01:49:57 ' 439 for(int i=0;i<x->size;i++)
' 440 x_IntVarArgs[i] = *((*(x->array))[i]);
' 441 Gecode::linear(home, x_IntVarArgs, r, c, icl);
2006-12-07 kilian.sprot 442 }
21:06:18 ' 443
2007-01-08 kilian.sprot 444 void linear_intvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl)
2006-12-07 kilian.sprot 445 {
2007-01-08 kilian.sprot 446 IntVarArgs x_IntVarArgs(x->size);
01:49:57 ' 447 for(int i=0;i<x->size;i++)
' 448 x_IntVarArgs[i] = *((*(x->array))[i]);
' 449 Gecode::linear(home, x_IntVarArgs, r, *y, icl);
2006-12-07 kilian.sprot 450 }
21:06:18 ' 451
2007-01-08 kilian.sprot 452 void linear_intvarargs_intreltype_int_boolvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, int c, BoolVar *b, IntConLevel icl)
2006-12-07 kilian.sprot 453 {
2007-01-08 kilian.sprot 454 IntVarArgs x_IntVarArgs(x->size);
01:49:57 ' 455 for(int i=0;i<x->size;i++)
' 456 x_IntVarArgs[i] = *((*(x->array))[i]);
' 457 Gecode::linear(home, x_IntVarArgs, r, c, *b, icl);
2006-12-07 kilian.sprot 458 }
21:06:18 ' 459
2007-01-08 kilian.sprot 460 void linear_intvarargs_intreltype_intvar_boolvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, BoolVar *b, IntConLevel icl)
2006-12-07 kilian.sprot 461 {
2007-01-08 kilian.sprot 462 IntVarArgs x_IntVarArgs(x->size);
01:49:57 ' 463 for(int i=0;i<x->size;i++)
' 464 x_IntVarArgs[i] = *((*(x->array))[i]);
' 465 Gecode::linear(home, x_IntVarArgs, r, *y, *b, icl);
2006-12-07 kilian.sprot 466 }
21:06:18 ' 467
2007-01-08 kilian.sprot 468 void linear_intargs_intvarargs_intreltype_int_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, int c, IntConLevel icl)
2006-12-07 kilian.sprot 469 {
2007-01-08 kilian.sprot 470 IntArgs a_IntArgs(a->size);
01:49:57 ' 471 for(int i=0;i<a->size;i++)
' 472 a_IntArgs[i] = (*(a->array))[i];
' 473 IntVarArgs x_IntVarArgs(x->size);
' 474 for(int i=0;i<x->size;i++)
' 475 x_IntVarArgs[i] = *((*(x->array))[i]);
' 476 Gecode::linear(home, a_IntArgs, x_IntVarArgs, r, c, icl);
2006-12-07 kilian.sprot 477 }
21:06:18 ' 478
2007-01-08 kilian.sprot 479 void linear_intargs_intvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl)
2006-12-07 kilian.sprot 480 {
2007-01-08 kilian.sprot 481 IntArgs a_IntArgs(a->size);
01:49:57 ' 482 for(int i=0;i<a->size;i++)
' 483 a_IntArgs[i] = (*(a->array))[i];
' 484 IntVarArgs x_IntVarArgs(x->size);
' 485 for(int i=0;i<x->size;i++)
' 486 x_IntVarArgs[i] = *((*(x->array))[i]);
' 487 Gecode::linear(home, a_IntArgs, x_IntVarArgs, r, *y, icl);
2006-12-07 kilian.sprot 488 }
21:06:18 ' 489
2007-01-08 kilian.sprot 490 void linear_intargs_intvarargs_intreltype_int_boolvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, int c, BoolVar *b, IntConLevel icl)
2006-12-07 kilian.sprot 491 {
2007-01-08 kilian.sprot 492 IntArgs a_IntArgs(a->size);
01:49:57 ' 493 for(int i=0;i<a->size;i++)
' 494 a_IntArgs[i] = (*(a->array))[i];
' 495 IntVarArgs x_IntVarArgs(x->size);
' 496 for(int i=0;i<x->size;i++)
' 497 x_IntVarArgs[i] = *((*(x->array))[i]);
' 498 Gecode::linear(home, a_IntArgs, x_IntVarArgs, r, c, *b, icl);
2006-12-07 kilian.sprot 499 }
21:06:18 ' 500
2007-01-08 kilian.sprot 501 void linear_intargs_intvarargs_intreltype_intvar_boolvar_intconlevel(Space *home, const lisp_IntArgs *a, const lisp_IntVarArgs *x, IntRelType r, IntVar *y, BoolVar *b, IntConLevel icl)
2006-12-07 kilian.sprot 502 {
2007-01-08 kilian.sprot 503 IntArgs a_IntArgs(a->size);
01:49:57 ' 504 for(int i=0;i<a->size;i++)
' 505 a_IntArgs[i] = (*(a->array))[i];
' 506 IntVarArgs x_IntVarArgs(x->size);
' 507 for(int i=0;i<x->size;i++)
' 508 x_IntVarArgs[i] = *((*(x->array))[i]);
' 509 Gecode::linear(home, a_IntArgs, x_IntVarArgs, r, *y, *b, icl);
2006-12-07 kilian.sprot 510 }
21:06:18 ' 511
2007-01-08 kilian.sprot 512 void linear_boolvarargs_intreltype_int_intconlevel(Space *home, const lisp_BoolVarArgs *x, IntRelType r, int c, IntConLevel icl)
2006-12-07 kilian.sprot 513 {
2007-01-08 kilian.sprot 514 BoolVarArgs x_BoolVarArgs(x->size);
01:49:57 ' 515 for(int i=0;i<x->size;i++)
' 516 x_BoolVarArgs[i] = *((*(x->array))[i]);
' 517 Gecode::linear(home, x_BoolVarArgs, r, c, icl);
2006-12-07 kilian.sprot 518 }
21:06:18 ' 519
2007-01-08 kilian.sprot 520 void linear_boolvarargs_intreltype_intvar_intconlevel(Space *home, const lisp_BoolVarArgs *x, IntRelType r, IntVar *y, IntConLevel icl)
2006-12-07 kilian.sprot 521 {
2007-01-08 kilian.sprot 522 BoolVarArgs x_BoolVarArgs(x->size);
01:49:57 ' 523 for(int i=0;i<x->size;i++)
' 524 x_BoolVarArgs[i] = *((*(x->array))[i]);
' 525 Gecode::linear(home, x_BoolVarArgs, r, *y, icl);
2006-12-07 kilian.sprot 526 }
21:06:18 ' 527
2007-01-08 kilian.sprot 528 void cumulatives_intvarargs_intvarargs_intvarargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 529 {
2007-01-08 kilian.sprot 530 IntVarArgs machine_IntVarArgs(machine->size);
01:49:57 ' 531 for(int i=0;i<machine->size;i++)
' 532 machine_IntVarArgs[i] = *((*(machine->array))[i]);
' 533 IntVarArgs start_IntVarArgs(start->size);
' 534 for(int i=0;i<start->size;i++)
' 535 start_IntVarArgs[i] = *((*(start->array))[i]);
' 536 IntVarArgs duration_IntVarArgs(duration->size);
' 537 for(int i=0;i<duration->size;i++)
' 538 duration_IntVarArgs[i] = *((*(duration->array))[i]);
' 539 IntVarArgs end_IntVarArgs(end->size);
' 540 for(int i=0;i<end->size;i++)
' 541 end_IntVarArgs[i] = *((*(end->array))[i]);
' 542 IntVarArgs height_IntVarArgs(height->size);
' 543 for(int i=0;i<height->size;i++)
' 544 height_IntVarArgs[i] = *((*(height->array))[i]);
' 545 IntArgs limit_IntArgs(limit->size);
' 546 for(int i=0;i<limit->size;i++)
' 547 limit_IntArgs[i] = (*(limit->array))[i];
' 548 Gecode::cumulatives(home, machine_IntVarArgs, start_IntVarArgs, duration_IntVarArgs, end_IntVarArgs, height_IntVarArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 549 }
21:06:18 ' 550
2007-01-08 kilian.sprot 551 void cumulatives_intargs_intvarargs_intvarargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 552 {
2007-01-08 kilian.sprot 553 IntArgs machine_IntArgs(machine->size);
01:49:57 ' 554 for(int i=0;i<machine->size;i++)
' 555 machine_IntArgs[i] = (*(machine->array))[i];
' 556 IntVarArgs start_IntVarArgs(start->size);
' 557 for(int i=0;i<start->size;i++)
' 558 start_IntVarArgs[i] = *((*(start->array))[i]);
' 559 IntVarArgs duration_IntVarArgs(duration->size);
' 560 for(int i=0;i<duration->size;i++)
' 561 duration_IntVarArgs[i] = *((*(duration->array))[i]);
' 562 IntVarArgs end_IntVarArgs(end->size);
' 563 for(int i=0;i<end->size;i++)
' 564 end_IntVarArgs[i] = *((*(end->array))[i]);
' 565 IntVarArgs height_IntVarArgs(height->size);
' 566 for(int i=0;i<height->size;i++)
' 567 height_IntVarArgs[i] = *((*(height->array))[i]);
' 568 IntArgs limit_IntArgs(limit->size);
' 569 for(int i=0;i<limit->size;i++)
' 570 limit_IntArgs[i] = (*(limit->array))[i];
' 571 Gecode::cumulatives(home, machine_IntArgs, start_IntVarArgs, duration_IntVarArgs, end_IntVarArgs, height_IntVarArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 572 }
21:06:18 ' 573
2007-01-08 kilian.sprot 574 void cumulatives_intvarargs_intvarargs_intargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 575 {
2007-01-08 kilian.sprot 576 IntVarArgs machine_IntVarArgs(machine->size);
01:49:57 ' 577 for(int i=0;i<machine->size;i++)
' 578 machine_IntVarArgs[i] = *((*(machine->array))[i]);
' 579 IntVarArgs start_IntVarArgs(start->size);
' 580 for(int i=0;i<start->size;i++)
' 581 start_IntVarArgs[i] = *((*(start->array))[i]);
' 582 IntArgs duration_IntArgs(duration->size);
' 583 for(int i=0;i<duration->size;i++)
' 584 duration_IntArgs[i] = (*(duration->array))[i];
' 585 IntVarArgs end_IntVarArgs(end->size);
' 586 for(int i=0;i<end->size;i++)
' 587 end_IntVarArgs[i] = *((*(end->array))[i]);
' 588 IntVarArgs height_IntVarArgs(height->size);
' 589 for(int i=0;i<height->size;i++)
' 590 height_IntVarArgs[i] = *((*(height->array))[i]);
' 591 IntArgs limit_IntArgs(limit->size);
' 592 for(int i=0;i<limit->size;i++)
' 593 limit_IntArgs[i] = (*(limit->array))[i];
' 594 Gecode::cumulatives(home, machine_IntVarArgs, start_IntVarArgs, duration_IntArgs, end_IntVarArgs, height_IntVarArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 595 }
21:06:18 ' 596
2007-01-08 kilian.sprot 597 void cumulatives_intargs_intvarargs_intargs_intvarargs_intvarargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntVarArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 598 {
2007-01-08 kilian.sprot 599 IntArgs machine_IntArgs(machine->size);
01:49:57 ' 600 for(int i=0;i<machine->size;i++)
' 601 machine_IntArgs[i] = (*(machine->array))[i];
' 602 IntVarArgs start_IntVarArgs(start->size);
' 603 for(int i=0;i<start->size;i++)
' 604 start_IntVarArgs[i] = *((*(start->array))[i]);
' 605 IntArgs duration_IntArgs(duration->size);
' 606 for(int i=0;i<duration->size;i++)
' 607 duration_IntArgs[i] = (*(duration->array))[i];
' 608 IntVarArgs end_IntVarArgs(end->size);
' 609 for(int i=0;i<end->size;i++)
' 610 end_IntVarArgs[i] = *((*(end->array))[i]);
' 611 IntVarArgs height_IntVarArgs(height->size);
' 612 for(int i=0;i<height->size;i++)
' 613 height_IntVarArgs[i] = *((*(height->array))[i]);
' 614 IntArgs limit_IntArgs(limit->size);
' 615 for(int i=0;i<limit->size;i++)
' 616 limit_IntArgs[i] = (*(limit->array))[i];
' 617 Gecode::cumulatives(home, machine_IntArgs, start_IntVarArgs, duration_IntArgs, end_IntVarArgs, height_IntVarArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 618 }
21:06:18 ' 619
2007-01-08 kilian.sprot 620 void cumulatives_intvarargs_intvarargs_intvarargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 621 {
2007-01-08 kilian.sprot 622 IntVarArgs machine_IntVarArgs(machine->size);
01:49:57 ' 623 for(int i=0;i<machine->size;i++)
' 624 machine_IntVarArgs[i] = *((*(machine->array))[i]);
' 625 IntVarArgs start_IntVarArgs(start->size);
' 626 for(int i=0;i<start->size;i++)
' 627 start_IntVarArgs[i] = *((*(start->array))[i]);
' 628 IntVarArgs duration_IntVarArgs(duration->size);
' 629 for(int i=0;i<duration->size;i++)
' 630 duration_IntVarArgs[i] = *((*(duration->array))[i]);
' 631 IntVarArgs end_IntVarArgs(end->size);
' 632 for(int i=0;i<end->size;i++)
' 633 end_IntVarArgs[i] = *((*(end->array))[i]);
' 634 IntArgs height_IntArgs(height->size);
' 635 for(int i=0;i<height->size;i++)
' 636 height_IntArgs[i] = (*(height->array))[i];
' 637 IntArgs limit_IntArgs(limit->size);
' 638 for(int i=0;i<limit->size;i++)
' 639 limit_IntArgs[i] = (*(limit->array))[i];
' 640 Gecode::cumulatives(home, machine_IntVarArgs, start_IntVarArgs, duration_IntVarArgs, end_IntVarArgs, height_IntArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 641 }
21:06:18 ' 642
2007-01-08 kilian.sprot 643 void cumulatives_intargs_intvarargs_intvarargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntVarArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 644 {
2007-01-08 kilian.sprot 645 IntArgs machine_IntArgs(machine->size);
01:49:57 ' 646 for(int i=0;i<machine->size;i++)
' 647 machine_IntArgs[i] = (*(machine->array))[i];
' 648 IntVarArgs start_IntVarArgs(start->size);
' 649 for(int i=0;i<start->size;i++)
' 650 start_IntVarArgs[i] = *((*(start->array))[i]);
' 651 IntVarArgs duration_IntVarArgs(duration->size);
' 652 for(int i=0;i<duration->size;i++)
' 653 duration_IntVarArgs[i] = *((*(duration->array))[i]);
' 654 IntVarArgs end_IntVarArgs(end->size);
' 655 for(int i=0;i<end->size;i++)
' 656 end_IntVarArgs[i] = *((*(end->array))[i]);
' 657 IntArgs height_IntArgs(height->size);
' 658 for(int i=0;i<height->size;i++)
' 659 height_IntArgs[i] = (*(height->array))[i];
' 660 IntArgs limit_IntArgs(limit->size);
' 661 for(int i=0;i<limit->size;i++)
' 662 limit_IntArgs[i] = (*(limit->array))[i];
' 663 Gecode::cumulatives(home, machine_IntArgs, start_IntVarArgs, duration_IntVarArgs, end_IntVarArgs, height_IntArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 664 }
21:06:18 ' 665
2007-01-08 kilian.sprot 666 void cumulatives_intvarargs_intvarargs_intargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntVarArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-07 kilian.sprot 667 {
2007-01-08 kilian.sprot 668 IntVarArgs machine_IntVarArgs(machine->size);
01:49:57 ' 669 for(int i=0;i<machine->size;i++)
' 670 machine_IntVarArgs[i] = *((*(machine->array))[i]);
' 671 IntVarArgs start_IntVarArgs(start->size);
' 672 for(int i=0;i<start->size;i++)
' 673 start_IntVarArgs[i] = *((*(start->array))[i]);
' 674 IntArgs duration_IntArgs(duration->size);
' 675 for(int i=0;i<duration->size;i++)
' 676 duration_IntArgs[i] = (*(duration->array))[i];
' 677 IntVarArgs end_IntVarArgs(end->size);
' 678 for(int i=0;i<end->size;i++)
' 679 end_IntVarArgs[i] = *((*(end->array))[i]);
' 680 IntArgs height_IntArgs(height->size);
' 681 for(int i=0;i<height->size;i++)
' 682 height_IntArgs[i] = (*(height->array))[i];
' 683 IntArgs limit_IntArgs(limit->size);
' 684 for(int i=0;i<limit->size;i++)
' 685 limit_IntArgs[i] = (*(limit->array))[i];
' 686 Gecode::cumulatives(home, machine_IntVarArgs, start_IntVarArgs, duration_IntArgs, end_IntVarArgs, height_IntArgs, limit_IntArgs, at_most, icl);
2006-12-07 kilian.sprot 687 }
2006-12-21 kilian.sprot 688
2007-01-08 kilian.sprot 689 void cumulatives_intargs_intvarargs_intargs_intvarargs_intargs_intargs_bool_intconlevel(Space *home, const lisp_IntArgs *machine, const lisp_IntVarArgs *start, const lisp_IntArgs *duration, const lisp_IntVarArgs *end, const lisp_IntArgs *height, const lisp_IntArgs *limit, bool at_most, IntConLevel icl)
2006-12-21 kilian.sprot 690 {
2007-01-08 kilian.sprot 691 IntArgs machine_IntArgs(machine->size);
01:49:57 ' 692 for(int i=0;i<machine->size;i++)
' 693 machine_IntArgs[i] = (*(machine->array))[i];
' 694 IntVarArgs start_IntVarArgs(start->size);
' 695 for(int i=0;i<start->size;i++)
' 696 start_IntVarArgs[i] = *((*(start->array))[i]);
' 697 IntArgs duration_IntArgs(duration->size);
' 698 for(int i=0;i<duration->size;i++)
' 699 duration_IntArgs[i] = (*(duration->array))[i];
' 700 IntVarArgs end_IntVarArgs(end->size);
' 701 for(int i=0;i<end->size;i++)
' 702 end_IntVarArgs[i] = *((*(end->array))[i]);
' 703 IntArgs height_IntArgs(height->size);
' 704 for(int i=0;i<height->size;i++)
' 705 height_IntArgs[i] = (*(height->array))[i];
' 706 IntArgs limit_IntArgs(limit->size);
' 707 for(int i=0;i<limit->size;i++)
' 708 limit_IntArgs[i] = (*(limit->array))[i];
' 709 Gecode::cumulatives(home, machine_IntArgs, start_IntVarArgs, duration_IntArgs, end_IntVarArgs, height_IntArgs, limit_IntArgs, at_most, icl);
2006-12-21 kilian.sprot 710 }
15:40:43 ' 711
2007-01-08 kilian.sprot 712 void eq_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntConLevel icl)
2006-12-21 kilian.sprot 713 {
2007-01-08 kilian.sprot 714 Gecode::eq(home, *x0, *x1, icl);
01:49:57 ' 715 }
' 716
' 717 void eq_intvar_int_intconlevel(Space *home, IntVar *x, int n, IntConLevel icl)
' 718 {
' 719 Gecode::eq(home, *x, n, icl);
' 720 }
' 721
' 722 void eq_intvar_intvar_boolvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, BoolVar *b, IntConLevel icl)
' 723 {
' 724 Gecode::eq(home, *x0, *x1, *b, icl);
' 725 }
' 726
' 727 void eq_intvar_int_boolvar_intconlevel(Space *home, IntVar *x, int n, BoolVar *b, IntConLevel icl)
' 728 {
' 729 Gecode::eq(home, *x, n, *b, icl);
' 730 }
' 731
' 732 void eq_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntConLevel icl)
' 733 {
' 734 IntVarArgs x_IntVarArgs(x->size);
' 735 for(int i=0;i<x->size;i++)
' 736 x_IntVarArgs[i] = *((*(x->array))[i]);
' 737 Gecode::eq(home, x_IntVarArgs, icl);
' 738 }
' 739
' 740 void count_intvarargs_int_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int n, IntRelType r, int m, IntConLevel icl)
' 741 {
' 742 IntVarArgs x_IntVarArgs(x->size);
' 743 for(int i=0;i<x->size;i++)
' 744 x_IntVarArgs[i] = *((*(x->array))[i]);
' 745 Gecode::count(home, x_IntVarArgs, n, r, m, icl);
' 746 }
' 747
' 748 void count_intvarargs_intvar_intreltype_int_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntRelType r, int m, IntConLevel icl)
' 749 {
' 750 IntVarArgs x_IntVarArgs(x->size);
' 751 for(int i=0;i<x->size;i++)
' 752 x_IntVarArgs[i] = *((*(x->array))[i]);
' 753 Gecode::count(home, x_IntVarArgs, *y, r, m, icl);
' 754 }
' 755
' 756 void count_intvarargs_int_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, int n, IntRelType r, IntVar *z, IntConLevel icl)
' 757 {
' 758 IntVarArgs x_IntVarArgs(x->size);
' 759 for(int i=0;i<x->size;i++)
' 760 x_IntVarArgs[i] = *((*(x->array))[i]);
' 761 Gecode::count(home, x_IntVarArgs, n, r, *z, icl);
' 762 }
' 763
' 764 void count_intvarargs_intvar_intreltype_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntRelType r, IntVar *z, IntConLevel icl)
' 765 {
' 766 IntVarArgs x_IntVarArgs(x->size);
' 767 for(int i=0;i<x->size;i++)
' 768 x_IntVarArgs[i] = *((*(x->array))[i]);
' 769 Gecode::count(home, x_IntVarArgs, *y, r, *z, icl);
' 770 }
' 771
' 772 void gcc_intvarargs_intargs_int_int_int_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *c, int m, int unspec_low, int unspec_up, int min, int max, IntConLevel icl)
' 773 {
' 774 IntVarArgs x_IntVarArgs(x->size);
' 775 for(int i=0;i<x->size;i++)
' 776 x_IntVarArgs[i] = *((*(x->array))[i]);
' 777 IntArgs c_IntArgs(c->size);
' 778 for(int i=0;i<c->size;i++)
' 779 c_IntArgs[i] = (*(c->array))[i];
' 780 Gecode::gcc(home, x_IntVarArgs, c_IntArgs, m, unspec_low, unspec_up, min, max, icl);
' 781 }
' 782
' 783 void gcc_intvarargs_intargs_int_int_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *c, int m, int unspec, int min, int max, IntConLevel icl)
' 784 {
' 785 IntVarArgs x_IntVarArgs(x->size);
' 786 for(int i=0;i<x->size;i++)
' 787 x_IntVarArgs[i] = *((*(x->array))[i]);
' 788 IntArgs c_IntArgs(c->size);
' 789 for(int i=0;i<c->size;i++)
' 790 c_IntArgs[i] = (*(c->array))[i];
' 791 Gecode::gcc(home, x_IntVarArgs, c_IntArgs, m, unspec, min, max, icl);
' 792 }
' 793
' 794 void gcc_intvarargs_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int lb, int ub, IntConLevel icl)
' 795 {
' 796 IntVarArgs x_IntVarArgs(x->size);
' 797 for(int i=0;i<x->size;i++)
' 798 x_IntVarArgs[i] = *((*(x->array))[i]);
' 799 Gecode::gcc(home, x_IntVarArgs, lb, ub, icl);
' 800 }
' 801
' 802 void gcc_intvarargs_int_intconlevel(Space *home, const lisp_IntVarArgs *x, int ub, IntConLevel icl)
' 803 {
' 804 IntVarArgs x_IntVarArgs(x->size);
' 805 for(int i=0;i<x->size;i++)
' 806 x_IntVarArgs[i] = *((*(x->array))[i]);
' 807 Gecode::gcc(home, x_IntVarArgs, ub, icl);
' 808 }
' 809
' 810 void gcc_intvarargs_intvarargs_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *c, int min, int max, IntConLevel icl)
' 811 {
' 812 IntVarArgs x_IntVarArgs(x->size);
' 813 for(int i=0;i<x->size;i++)
' 814 x_IntVarArgs[i] = *((*(x->array))[i]);
' 815 IntVarArgs c_IntVarArgs(c->size);
' 816 for(int i=0;i<c->size;i++)
' 817 c_IntVarArgs[i] = *((*(c->array))[i]);
' 818 Gecode::gcc(home, x_IntVarArgs, c_IntVarArgs, min, max, icl);
' 819 }
' 820
' 821 void gcc_intvarargs_intargs_intvarargs_int_int_int_bool_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *v, const lisp_IntVarArgs *c, int m, int unspec_low, int unspec_up, bool all, int min, int max, IntConLevel icl)
' 822 {
' 823 IntVarArgs x_IntVarArgs(x->size);
' 824 for(int i=0;i<x->size;i++)
' 825 x_IntVarArgs[i] = *((*(x->array))[i]);
' 826 IntArgs v_IntArgs(v->size);
' 827 for(int i=0;i<v->size;i++)
' 828 v_IntArgs[i] = (*(v->array))[i];
' 829 IntVarArgs c_IntVarArgs(c->size);
' 830 for(int i=0;i<c->size;i++)
' 831 c_IntVarArgs[i] = *((*(c->array))[i]);
' 832 Gecode::gcc(home, x_IntVarArgs, v_IntArgs, c_IntVarArgs, m, unspec_low, unspec_up, all, min, max, icl);
' 833 }
' 834
' 835 void gcc_intvarargs_intargs_intvarargs_int_int_bool_int_int_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntArgs *v, const lisp_IntVarArgs *c, int m, int unspec, bool all, int min, int max, IntConLevel icl)
' 836 {
' 837 IntVarArgs x_IntVarArgs(x->size);
' 838 for(int i=0;i<x->size;i++)
' 839 x_IntVarArgs[i] = *((*(x->array))[i]);
' 840 IntArgs v_IntArgs(v->size);
' 841 for(int i=0;i<v->size;i++)
' 842 v_IntArgs[i] = (*(v->array))[i];
' 843 IntVarArgs c_IntVarArgs(c->size);
' 844 for(int i=0;i<c->size;i++)
' 845 c_IntVarArgs[i] = *((*(c->array))[i]);
' 846 Gecode::gcc(home, x_IntVarArgs, v_IntArgs, c_IntVarArgs, m, unspec, all, min, max, icl);
' 847 }
' 848
' 849 void channel_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, IntConLevel icl)
' 850 {
' 851 IntVarArgs x_IntVarArgs(x->size);
' 852 for(int i=0;i<x->size;i++)
' 853 x_IntVarArgs[i] = *((*(x->array))[i]);
' 854 IntVarArgs y_IntVarArgs(y->size);
' 855 for(int i=0;i<y->size;i++)
' 856 y_IntVarArgs[i] = *((*(y->array))[i]);
' 857 Gecode::channel(home, x_IntVarArgs, y_IntVarArgs, icl);
' 858 }
' 859
' 860 void dom_intvar_int_int_intconlevel(Space *home, IntVar *x, int l, int m, IntConLevel icl)
' 861 {
' 862 Gecode::dom(home, *x, l, m, icl);
' 863 }
' 864
' 865 void dom_intvarargs_int_int_intconlevel(Space *home, lisp_IntVarArgs *x, int l, int m, IntConLevel icl)
' 866 {
' 867 IntVarArgs x_IntVarArgs(x->size);
' 868 for(int i=0;i<x->size;i++)
' 869 x_IntVarArgs[i] = *((*(x->array))[i]);
' 870 Gecode::dom(home, x_IntVarArgs, l, m, icl);
' 871 }
' 872
' 873 void dom_intvar_intset_intconlevel(Space *home, IntVar *x, const IntSet *s, IntConLevel icl)
' 874 {
' 875 Gecode::dom(home, *x, *s, icl);
' 876 }
' 877
' 878 void dom_intvarargs_intset_intconlevel(Space *home, lisp_IntVarArgs *x, const IntSet *s, IntConLevel icl)
' 879 {
' 880 IntVarArgs x_IntVarArgs(x->size);
' 881 for(int i=0;i<x->size;i++)
' 882 x_IntVarArgs[i] = *((*(x->array))[i]);
' 883 Gecode::dom(home, x_IntVarArgs, *s, icl);
' 884 }
' 885
' 886 void dom_intvar_int_int_boolvar_intconlevel(Space *home, IntVar *x, int l, int m, BoolVar *b, IntConLevel icl)
' 887 {
' 888 Gecode::dom(home, *x, l, m, *b, icl);
' 889 }
' 890
' 891 void dom_intvar_intset_boolvar_intconlevel(Space *home, IntVar *x, const IntSet *s, BoolVar *b, IntConLevel icl)
' 892 {
' 893 Gecode::dom(home, *x, *s, *b, icl);
' 894 }
' 895
' 896 void bool_not_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, IntConLevel icl)
' 897 {
' 898 Gecode::bool_not(home, *b0, *b1, icl);
' 899 }
' 900
' 901 void bool_eq_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, IntConLevel icl)
' 902 {
' 903 Gecode::bool_eq(home, *b0, *b1, icl);
' 904 }
' 905
' 906 void bool_and_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl)
' 907 {
' 908 Gecode::bool_and(home, *b0, *b1, *b2, icl);
' 909 }
' 910
' 911 void bool_and_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl)
' 912 {
' 913 Gecode::bool_and(home, *b0, *b1, b2, icl);
' 914 }
' 915
' 916 void bool_and_boolvarargs_boolvar_intconlevel(Space *home, const lisp_BoolVarArgs *b, BoolVar *c, IntConLevel icl)
' 917 {
' 918 BoolVarArgs b_BoolVarArgs(b->size);
' 919 for(int i=0;i<b->size;i++)
' 920 b_BoolVarArgs[i] = *((*(b->array))[i]);
' 921 Gecode::bool_and(home, b_BoolVarArgs, *c, icl);
' 922 }
' 923
' 924 void bool_and_boolvarargs_bool_intconlevel(Space *home, const lisp_BoolVarArgs *b, bool c, IntConLevel icl)
' 925 {
' 926 BoolVarArgs b_BoolVarArgs(b->size);
' 927 for(int i=0;i<b->size;i++)
' 928 b_BoolVarArgs[i] = *((*(b->array))[i]);
' 929 Gecode::bool_and(home, b_BoolVarArgs, c, icl);
' 930 }
' 931
' 932 void bool_or_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl)
' 933 {
' 934 Gecode::bool_or(home, *b0, *b1, *b2, icl);
' 935 }
' 936
' 937 void bool_or_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl)
' 938 {
' 939 Gecode::bool_or(home, *b0, *b1, b2, icl);
' 940 }
' 941
' 942 void bool_or_boolvarargs_boolvar_intconlevel(Space *home, const lisp_BoolVarArgs *b, BoolVar *c, IntConLevel icl)
' 943 {
' 944 BoolVarArgs b_BoolVarArgs(b->size);
' 945 for(int i=0;i<b->size;i++)
' 946 b_BoolVarArgs[i] = *((*(b->array))[i]);
' 947 Gecode::bool_or(home, b_BoolVarArgs, *c, icl);
' 948 }
' 949
' 950 void bool_or_boolvarargs_bool_intconlevel(Space *home, const lisp_BoolVarArgs *b, bool c, IntConLevel icl)
' 951 {
' 952 BoolVarArgs b_BoolVarArgs(b->size);
' 953 for(int i=0;i<b->size;i++)
' 954 b_BoolVarArgs[i] = *((*(b->array))[i]);
' 955 Gecode::bool_or(home, b_BoolVarArgs, c, icl);
' 956 }
' 957
' 958 void bool_imp_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl)
' 959 {
' 960 Gecode::bool_imp(home, *b0, *b1, *b2, icl);
' 961 }
' 962
' 963 void bool_imp_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl)
' 964 {
' 965 Gecode::bool_imp(home, *b0, *b1, b2, icl);
' 966 }
' 967
' 968 void bool_eqv_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl)
' 969 {
' 970 Gecode::bool_eqv(home, *b0, *b1, *b2, icl);
' 971 }
' 972
' 973 void bool_eqv_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl)
' 974 {
' 975 Gecode::bool_eqv(home, *b0, *b1, b2, icl);
' 976 }
' 977
' 978 void bool_xor_boolvar_boolvar_boolvar_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, BoolVar *b2, IntConLevel icl)
' 979 {
' 980 Gecode::bool_xor(home, *b0, *b1, *b2, icl);
' 981 }
' 982
' 983 void bool_xor_boolvar_boolvar_bool_intconlevel(Space *home, BoolVar *b0, BoolVar *b1, bool b2, IntConLevel icl)
' 984 {
' 985 Gecode::bool_xor(home, *b0, *b1, b2, icl);
' 986 }
' 987
' 988 void sortedness_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, IntConLevel icl)
' 989 {
' 990 IntVarArgs x_IntVarArgs(x->size);
' 991 for(int i=0;i<x->size;i++)
' 992 x_IntVarArgs[i] = *((*(x->array))[i]);
' 993 IntVarArgs y_IntVarArgs(y->size);
' 994 for(int i=0;i<y->size;i++)
' 995 y_IntVarArgs[i] = *((*(y->array))[i]);
' 996 Gecode::sortedness(home, x_IntVarArgs, y_IntVarArgs, icl);
' 997 }
' 998
' 999 void sortedness_intvarargs_intvarargs_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, const lisp_IntVarArgs *y, const lisp_IntVarArgs *z, IntConLevel icl)
' 1000 {
' 1001 IntVarArgs x_IntVarArgs(x->size);
' 1002 for(int i=0;i<x->size;i++)
' 1003 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1004 IntVarArgs y_IntVarArgs(y->size);
' 1005 for(int i=0;i<y->size;i++)
' 1006 y_IntVarArgs[i] = *((*(y->array))[i]);
' 1007 IntVarArgs z_IntVarArgs(z->size);
' 1008 for(int i=0;i<z->size;i++)
' 1009 z_IntVarArgs[i] = *((*(z->array))[i]);
' 1010 Gecode::sortedness(home, x_IntVarArgs, y_IntVarArgs, z_IntVarArgs, icl);
' 1011 }
' 1012
' 1013 void distinct_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntConLevel icl)
' 1014 {
' 1015 IntVarArgs x_IntVarArgs(x->size);
' 1016 for(int i=0;i<x->size;i++)
' 1017 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1018 Gecode::distinct(home, x_IntVarArgs, icl);
' 1019 }
' 1020
' 1021 void distinct_intargs_intvarargs_intconlevel(Space *home, const lisp_IntArgs *n, const lisp_IntVarArgs *x, IntConLevel icl)
' 1022 {
' 1023 IntArgs n_IntArgs(n->size);
' 1024 for(int i=0;i<n->size;i++)
' 1025 n_IntArgs[i] = (*(n->array))[i];
' 1026 IntVarArgs x_IntVarArgs(x->size);
' 1027 for(int i=0;i<x->size;i++)
' 1028 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1029 Gecode::distinct(home, n_IntArgs, x_IntVarArgs, icl);
2006-12-21 kilian.sprot 1030 }
15:40:43 ' 1031
2007-01-08 kilian.sprot 1032 void element_intargs_intvar_intvar_intconlevel(Space *home, const lisp_IntArgs *n, IntVar *x0, IntVar *x1, IntConLevel icl)
01:49:57 ' 1033 {
' 1034 IntArgs n_IntArgs(n->size);
' 1035 for(int i=0;i<n->size;i++)
' 1036 n_IntArgs[i] = (*(n->array))[i];
' 1037 Gecode::element(home, n_IntArgs, *x0, *x1, icl);
' 1038 }
' 1039
' 1040 void element_intvarargs_intvar_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y0, IntVar *y1, IntConLevel icl)
' 1041 {
' 1042 IntVarArgs x_IntVarArgs(x->size);
' 1043 for(int i=0;i<x->size;i++)
' 1044 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1045 Gecode::element(home, x_IntVarArgs, *y0, *y1, icl);
' 1046 }
' 1047
' 1048 void rel_intvar_intreltype_intvar_intconlevel(Space *home, IntVar *x0, IntRelType r, IntVar *x1, IntConLevel icl)
' 1049 {
' 1050 Gecode::rel(home, *x0, r, *x1, icl);
' 1051 }
' 1052
' 1053 void rel_intvar_intreltype_int_intconlevel(Space *home, IntVar *x, IntRelType r, int c, IntConLevel icl)
' 1054 {
' 1055 Gecode::rel(home, *x, r, c, icl);
' 1056 }
' 1057
' 1058 void rel_intvar_intreltype_intvar_boolvar_intconlevel(Space *home, IntVar *x0, IntRelType r, IntVar *x1, BoolVar *b, IntConLevel icl)
' 1059 {
' 1060 Gecode::rel(home, *x0, r, *x1, *b, icl);
' 1061 }
' 1062
' 1063 void rel_intvar_intreltype_int_boolvar_intconlevel(Space *home, IntVar *x, IntRelType r, int c, BoolVar *b, IntConLevel icl)
' 1064 {
' 1065 Gecode::rel(home, *x, r, c, *b, icl);
' 1066 }
' 1067
' 1068 void rel_intvarargs_intreltype_intvarargs_intconlevel(Space *home, const lisp_IntVarArgs *x, IntRelType r, const lisp_IntVarArgs *y, IntConLevel icl)
' 1069 {
' 1070 IntVarArgs x_IntVarArgs(x->size);
' 1071 for(int i=0;i<x->size;i++)
' 1072 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1073 IntVarArgs y_IntVarArgs(y->size);
' 1074 for(int i=0;i<y->size;i++)
' 1075 y_IntVarArgs[i] = *((*(y->array))[i]);
' 1076 Gecode::rel(home, x_IntVarArgs, r, y_IntVarArgs, icl);
' 1077 }
' 1078
' 1079 void min_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl)
' 1080 {
' 1081 Gecode::min(home, *x0, *x1, *x2, icl);
' 1082 }
' 1083
' 1084 void min_intvarargs_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntConLevel icl)
' 1085 {
' 1086 IntVarArgs x_IntVarArgs(x->size);
' 1087 for(int i=0;i<x->size;i++)
' 1088 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1089 Gecode::min(home, x_IntVarArgs, *y, icl);
' 1090 }
' 1091
' 1092 void max_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl)
' 1093 {
' 1094 Gecode::max(home, *x0, *x1, *x2, icl);
' 1095 }
' 1096
' 1097 void max_intvarargs_intvar_intconlevel(Space *home, const lisp_IntVarArgs *x, IntVar *y, IntConLevel icl)
' 1098 {
' 1099 IntVarArgs x_IntVarArgs(x->size);
' 1100 for(int i=0;i<x->size;i++)
' 1101 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1102 Gecode::max(home, x_IntVarArgs, *y, icl);
' 1103 }
' 1104
' 1105 void abs_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntConLevel icl)
' 1106 {
' 1107 Gecode::abs(home, *x0, *x1, icl);
' 1108 }
' 1109
' 1110 void mult_intvar_intvar_intvar_intconlevel(Space *home, IntVar *x0, IntVar *x1, IntVar *x2, IntConLevel icl)
' 1111 {
' 1112 Gecode::mult(home, *x0, *x1, *x2, icl);
' 1113 }
' 1114
' 1115
' 1116
' 1117 // Sets
' 1118 SetVar* gec_fs_make_const(GecolSpace* space, int card, int *dom)
2006-12-21 kilian.sprot 1119 {
2007-02-06 kilian.sprot 1120 IntSet d(dom, card);
2006-12-21 kilian.sprot 1121 return new SetVar(space, d, d);
15:40:43 ' 1122 }
' 1123
2007-01-08 kilian.sprot 1124 SetVar* gec_fs_make_bounds(GecolSpace* space,
2007-02-06 kilian.sprot 1125 int lower_card, int *lower_dom,
19:14:21 ' 1126 int upper_card, int *upper_dom)
2006-12-21 kilian.sprot 1127 {
2007-02-06 kilian.sprot 1128 IntSet ld(lower_dom, lower_card);
19:14:21 ' 1129 IntSet ud(upper_dom, upper_card);
2006-12-21 kilian.sprot 1130 return new SetVar(space, ld, ud);
15:40:43 ' 1131 }
' 1132
2007-01-08 kilian.sprot 1133 SetVar* gec_fs_make_lower_bound(GecolSpace* space,
2007-02-06 kilian.sprot 1134 int lower_card, int *lower_dom)
2006-12-21 kilian.sprot 1135 {
2007-02-06 kilian.sprot 1136 IntSet ld(lower_dom, lower_card);
2006-12-21 kilian.sprot 1137 return new SetVar(space, ld, IntSet::empty);
15:40:43 ' 1138 }
' 1139
2007-01-08 kilian.sprot 1140 SetVar* gec_fs_make_upper_bound(GecolSpace* space,
2007-02-06 kilian.sprot 1141 int upper_card, int *upper_dom)
2006-12-21 kilian.sprot 1142 {
2007-02-06 kilian.sprot 1143 IntSet ud(upper_dom, upper_card);
2006-12-21 kilian.sprot 1144 return new SetVar(space, IntSet::empty, ud);
15:40:43 ' 1145 }
' 1146
' 1147 unsigned int gec_fs_glb_size(SetVar* set)
' 1148 {
' 1149 return set->glbSize();
' 1150 }
' 1151
' 1152 unsigned int gec_fs_lub_size(SetVar* set)
' 1153 {
' 1154 return set->lubSize();
' 1155 }
' 1156
' 1157 unsigned int gec_fs_unknown_size(SetVar* set)
' 1158 {
' 1159 return set->unknownSize();
' 1160 }
' 1161
' 1162 unsigned int gec_fs_card_min(SetVar* set)
' 1163 {
' 1164 return set->cardMin();
' 1165 }
' 1166
' 1167 unsigned int gec_fs_card_max(SetVar* set)
' 1168 {
' 1169 return set->cardMax();
' 1170 }
' 1171
' 1172 int gec_fs_lub_min(SetVar* set)
' 1173 {
' 1174 return set->lubMin();
' 1175 }
' 1176
' 1177 int gec_fs_lub_max(SetVar* set)
' 1178 {
' 1179 return set->lubMax();
' 1180 }
' 1181
' 1182 int gec_fs_glb_min(SetVar* set)
' 1183 {
' 1184 return set->glbMin();
' 1185 }
' 1186
' 1187 int gec_fs_glb_max(SetVar* set)
' 1188 {
' 1189 return set->glbMax();
' 1190 }
' 1191
' 1192 bool gec_fs_contains(SetVar* set, int x)
' 1193 {
' 1194 return set->contains(x);
' 1195 }
' 1196
' 1197 bool gec_fs_not_contains(SetVar* set, int x)
' 1198 {
' 1199 return set->notContains(x);
' 1200 }
' 1201
' 1202 bool gec_fs_assigned(SetVar* set)
' 1203 {
' 1204 return set->assigned();
' 1205 }
' 1206
2007-01-08 kilian.sprot 1207 //////
01:49:57 ' 1208
' 1209 void atmostOne_setvarargs_unsigned_int(Space *home, const lisp_SetVarArgs *x, unsigned int c)
' 1210 {
' 1211 SetVarArgs x_SetVarArgs(x->size);
' 1212 for(int i=0;i<x->size;i++)
' 1213 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1214 Gecode::atmostOne(home, x_SetVarArgs, c);
' 1215 }
' 1216
' 1217 void distinct_setvarargs_unsigned_int(Space *home, const lisp_SetVarArgs *x, unsigned int c)
' 1218 {
' 1219 SetVarArgs x_SetVarArgs(x->size);
' 1220 for(int i=0;i<x->size;i++)
' 1221 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1222 Gecode::distinct(home, x_SetVarArgs, c);
' 1223 }
' 1224
' 1225 void min_setvar_intvar(Space *home, SetVar *s, IntVar *x)
' 1226 {
' 1227 Gecode::min(home, *s, *x);
' 1228 }
' 1229
' 1230 void max_setvar_intvar(Space *home, SetVar *s, IntVar *x)
' 1231 {
' 1232 Gecode::max(home, *s, *x);
' 1233 }
' 1234
' 1235 void match_setvar_intvarargs(Space *home, SetVar *s, const lisp_IntVarArgs *x)
' 1236 {
' 1237 IntVarArgs x_IntVarArgs(x->size);
' 1238 for(int i=0;i<x->size;i++)
' 1239 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1240 Gecode::match(home, *s, x_IntVarArgs);
' 1241 }
' 1242
' 1243 void channel_intvarargs_setvarargs(Space *home, const lisp_IntVarArgs *x, const lisp_SetVarArgs *y)
' 1244 {
' 1245 IntVarArgs x_IntVarArgs(x->size);
' 1246 for(int i=0;i<x->size;i++)
' 1247 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1248 SetVarArgs y_SetVarArgs(y->size);
' 1249 for(int i=0;i<y->size;i++)
' 1250 y_SetVarArgs[i] = *((*(y->array))[i]);
' 1251 Gecode::channel(home, x_IntVarArgs, y_SetVarArgs);
' 1252 }
' 1253
' 1254 void cardinality_setvar_intvar(Space *home, SetVar *s, IntVar *x)
' 1255 {
' 1256 Gecode::cardinality(home, *s, *x);
' 1257 }
' 1258
' 1259 void weights_intargs_intargs_setvar_intvar(Space *home, const lisp_IntArgs *elements, const lisp_IntArgs *weights, SetVar *x, IntVar *y)
' 1260 {
' 1261 IntArgs elements_IntArgs(elements->size);
' 1262 for(int i=0;i<elements->size;i++)
' 1263 elements_IntArgs[i] = (*(elements->array))[i];
' 1264 IntArgs weights_IntArgs(weights->size);
' 1265 for(int i=0;i<weights->size;i++)
' 1266 weights_IntArgs[i] = (*(weights->array))[i];
' 1267 Gecode::weights(home, elements_IntArgs, weights_IntArgs, *x, *y);
' 1268 }
' 1269
' 1270 void convex_setvar(Space *home, SetVar *x)
2006-12-21 kilian.sprot 1271 {
2007-01-08 kilian.sprot 1272 Gecode::convex(home, *x);
2006-12-21 kilian.sprot 1273 }
15:40:43 ' 1274
2007-01-08 kilian.sprot 1275 void convexHull_setvar_setvar(Space *home, SetVar *x, SetVar *y)
2006-12-21 kilian.sprot 1276 {
2007-01-08 kilian.sprot 1277 Gecode::convexHull(home, *x, *y);
2006-12-21 kilian.sprot 1278 }
15:40:43 ' 1279
2007-01-08 kilian.sprot 1280 void selectUnion_setvarargs_setvar_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z)
2006-12-21 kilian.sprot 1281 {
2007-01-08 kilian.sprot 1282 SetVarArgs x_SetVarArgs(x->size);
01:49:57 ' 1283 for(int i=0;i<x->size;i++)
' 1284 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1285 Gecode::selectUnion(home, x_SetVarArgs, *y, *z);
2006-12-21 kilian.sprot 1286 }
15:40:43 ' 1287
2007-01-08 kilian.sprot 1288 void selectInter_setvarargs_setvar_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z)
2006-12-21 kilian.sprot 1289 {
2007-01-08 kilian.sprot 1290 SetVarArgs x_SetVarArgs(x->size);
01:49:57 ' 1291 for(int i=0;i<x->size;i++)
' 1292 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1293 Gecode::selectInter(home, x_SetVarArgs, *y, *z);
2006-12-21 kilian.sprot 1294 }
15:40:43 ' 1295
2007-01-08 kilian.sprot 1296 void selectInterIn_setvarargs_setvar_setvar_intset(Space *home, const lisp_SetVarArgs *x, SetVar *y, SetVar *z, const IntSet *universe)
01:49:57 ' 1297 {
' 1298 SetVarArgs x_SetVarArgs(x->size);
' 1299 for(int i=0;i<x->size;i++)
' 1300 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1301 Gecode::selectInterIn(home, x_SetVarArgs, *y, *z, *universe);
' 1302 }
' 1303
' 1304 void selectDisjoint_setvarargs_setvar(Space *home, const lisp_SetVarArgs *x, SetVar *y)
' 1305 {
' 1306 SetVarArgs x_SetVarArgs(x->size);
' 1307 for(int i=0;i<x->size;i++)
' 1308 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1309 Gecode::selectDisjoint(home, x_SetVarArgs, *y);
' 1310 }
' 1311
' 1312 void selectSet_setvarargs_intvar_setvar(Space *home, const lisp_SetVarArgs *x, IntVar *y, SetVar *z)
' 1313 {
' 1314 SetVarArgs x_SetVarArgs(x->size);
' 1315 for(int i=0;i<x->size;i++)
' 1316 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1317 Gecode::selectSet(home, x_SetVarArgs, *y, *z);
' 1318 }
' 1319
' 1320 void rel_setvar_setreltype_setvar(Space *home, SetVar *x, SetRelType r, SetVar *y)
' 1321 {
' 1322 Gecode::rel(home, *x, r, *y);
' 1323 }
' 1324
' 1325 void rel_setvar_setreltype_setvar_boolvar(Space *home, SetVar *x, SetRelType r, SetVar *y, BoolVar *b)
' 1326 {
' 1327 Gecode::rel(home, *x, r, *y, *b);
' 1328 }
' 1329
' 1330 void rel_setvar_setreltype_intvar(Space *home, SetVar *s, SetRelType r, IntVar *x)
' 1331 {
' 1332 Gecode::rel(home, *s, r, *x);
' 1333 }
2006-12-21 kilian.sprot 1334
2007-01-08 kilian.sprot 1335 void rel_intvar_setreltype_setvar(Space *home, IntVar *x, SetRelType r, SetVar *s)
2006-12-21 kilian.sprot 1336 {
2007-01-08 kilian.sprot 1337 Gecode::rel(home, *x, r, *s);
2006-12-21 kilian.sprot 1338 }
15:40:43 ' 1339
2007-01-08 kilian.sprot 1340 void rel_setvar_setreltype_intvar_boolvar(Space *home, SetVar *s, SetRelType r, IntVar *x, BoolVar *b)
01:49:57 ' 1341 {
' 1342 Gecode::rel(home, *s, r, *x, *b);
' 1343 }
2006-12-21 kilian.sprot 1344
2007-01-08 kilian.sprot 1345 void rel_intvar_setreltype_setvar_boolvar(Space *home, IntVar *x, SetRelType r, SetVar *s, BoolVar *b)
2006-12-21 kilian.sprot 1346 {
2007-01-08 kilian.sprot 1347 Gecode::rel(home, *x, r, *s, *b);
2006-12-21 kilian.sprot 1348 }
15:40:43 ' 1349
2007-01-08 kilian.sprot 1350 void rel_setvar_intreltype_intvar(Space *home, SetVar *s, IntRelType r, IntVar *x)
2006-12-21 kilian.sprot 1351 {
2007-01-08 kilian.sprot 1352 Gecode::rel(home, *s, r, *x);
2006-12-21 kilian.sprot 1353 }
2007-01-08 kilian.sprot 1354 void rel_intvar_intreltype_setvar(Space *home, IntVar *x, IntRelType r, SetVar *s)
01:49:57 ' 1355 {
' 1356 Gecode::rel(home, *x, r, *s);
' 1357 }
' 1358
' 1359 void rel_setvar_setoptype_setvar_setreltype_setvar(Space *home, SetVar *x, SetOpType op, SetVar *y, SetRelType r, SetVar *z)
' 1360 {
' 1361 Gecode::rel(home, *x, op, *y, r, *z);
' 1362 }
' 1363
' 1364 void rel_setoptype_setvarargs_setvar(Space *home, SetOpType op, const lisp_SetVarArgs *x, SetVar *y)
' 1365 {
' 1366 SetVarArgs x_SetVarArgs(x->size);
' 1367 for(int i=0;i<x->size;i++)
' 1368 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1369 Gecode::rel(home, op, x_SetVarArgs, *y);
' 1370 }
' 1371
' 1372 void rel_setoptype_intvarargs_setvar(Space *home, SetOpType op, const lisp_IntVarArgs *x, SetVar *y)
' 1373 {
' 1374 IntVarArgs x_IntVarArgs(x->size);
' 1375 for(int i=0;i<x->size;i++)
' 1376 x_IntVarArgs[i] = *((*(x->array))[i]);
' 1377 Gecode::rel(home, op, x_IntVarArgs, *y);
' 1378 }
' 1379
' 1380 void rel_intset_setoptype_setvar_setreltype_setvar(Space *home, const IntSet *x, SetOpType op, SetVar *y, SetRelType r, SetVar *z)
' 1381 {
' 1382 Gecode::rel(home, *x, op, *y, r, *z);
' 1383 }
' 1384
' 1385 void rel_setvar_setoptype_intset_setreltype_setvar(Space *home, SetVar *x, SetOpType op, const IntSet *y, SetRelType r, SetVar *z)
' 1386 {
' 1387 Gecode::rel(home, *x, op, *y, r, *z);
' 1388 }
' 1389
' 1390 void rel_setvar_setoptype_setvar_setreltype_intset(Space *home, SetVar *x, SetOpType op, SetVar *y, SetRelType r, const IntSet *z)
' 1391 {
' 1392 Gecode::rel(home, *x, op, *y, r, *z);
' 1393 }
' 1394
' 1395 void rel_intset_setoptype_intset_setreltype_setvar(Space *home, const IntSet *x, SetOpType op, const IntSet *y, SetRelType r, SetVar *z)
' 1396 {
' 1397 Gecode::rel(home, *x, op, *y, r, *z);
' 1398 }
' 1399
' 1400 void rel_intset_setoptype_setvar_setreltype_intset(Space *home, const IntSet *x, SetOpType op, SetVar *y, SetRelType r, const IntSet *z)
' 1401 {
' 1402 Gecode::rel(home, *x, op, *y, r, *z);
' 1403 }
' 1404
' 1405 void rel_setvar_setoptype_intset_setreltype_intset(Space *home, SetVar *x, SetOpType op, const IntSet *y, SetRelType r, const IntSet *z)
' 1406 {
' 1407 Gecode::rel(home, *x, op, *y, r, *z);
' 1408 }
' 1409
' 1410 void sequence_setvarargs(Space *home, const lisp_SetVarArgs *x)
' 1411 {
' 1412 SetVarArgs x_SetVarArgs(x->size);
' 1413 for(int i=0;i<x->size;i++)
' 1414 x_SetVarArgs[i] = *((*(x->array))[i]);
' 1415 Gecode::sequence(home, x_SetVarArgs);
' 1416 }
' 1417
' 1418 void sequentialUnion_setvarargs_setvar(Space *home, const lisp_SetVarArgs *y, SetVar *x)
' 1419 {
' 1420 SetVarArgs y_SetVarArgs(y->size);
' 1421 for(int i=0;i<y->size;i++)
' 1422 y_SetVarArgs[i] = *((*(y->array))[i]);
' 1423 Gecode::sequentialUnion(home, y_SetVarArgs, *x);
' 1424 }
' 1425
' 1426 void dom_setvar_setreltype_int(Space *home, SetVar *x, SetRelType r, int i)
' 1427 {
' 1428 Gecode::dom(home, *x, r, i);
' 1429 }
' 1430
' 1431 void dom_setvar_setreltype_int_int(Space *home, SetVar *x, SetRelType r, int i, int j)
' 1432 {
' 1433 Gecode::dom(home, *x, r, i, j);
' 1434 }
' 1435
' 1436 void dom_setvar_setreltype_intset(Space *home, SetVar *x, SetRelType r, const IntSet *s)
' 1437 {
' 1438 Gecode::dom(home, *x, r, *s);
' 1439 }
' 1440
' 1441 void dom_setvar_setreltype_int_boolvar(Space *home, SetVar *x, SetRelType r, int i, BoolVar *b)
' 1442 {
' 1443 Gecode::dom(home, *x, r, i, *b);
' 1444 }
' 1445
' 1446 void dom_setvar_setreltype_int_int_boolvar(Space *home, SetVar *x, SetRelType r, int i, int j, BoolVar *b)
' 1447 {
' 1448 Gecode::dom(home, *x, r, i, j, *b);
' 1449 }
' 1450
' 1451 void dom_setvar_setreltype_intset_boolvar(Space *home, SetVar *x, SetRelType r, const IntSet *s, BoolVar *b)
' 1452 {
' 1453 Gecode::dom(home, *x, r, *s, *b);
' 1454 }
' 1455
' 1456 void cardinality_setvar_unsigned_int_unsigned_int(Space *home, SetVar *x, unsigned int i, unsigned int j)
' 1457 {
' 1458 Gecode::cardinality(home, *x, i, j);
' 1459 }
' 1460
' 1461