1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Jip J. Dekker 35a3110598 Squashed 'software/chuffed/' content from commit 2ed0c015
git-subtree-dir: software/chuffed
git-subtree-split: 2ed0c01558d2a5c49c1ce57e048d32c17adf92d3
2021-06-18 09:36:35 +10:00

48 lines
996 B
C++

#include <chuffed/vars/modelling.h>
void createVar(IntVar*& x, int min, int max, bool el) {
x = newIntVar(min, max);
if (el) x->specialiseToEL();
}
void createVars(vec<IntVar*>& x, int n, int min, int max, bool el) {
assert(x.size() == 0);
x.growTo(n);
for (int i = 0; i < n; i++) {
x[i] = newIntVar(min, max);
if (el) x[i]->specialiseToEL();
}
}
void createVars(vec<vec<IntVar*> >& x, int n, int m, int min, int max, bool el) {
assert(x.size() == 0);
x.growTo(n);
for (int i = 0; i < n; i++) {
x[i].growTo(m);
for (int j = 0; j < m; j++) {
x[i][j] = newIntVar(min, max);
if (el) x[i][j]->specialiseToEL();
}
}
}
void createVars(vec<BoolView>& x, int n) {
assert(x.size() == 0);
x.growTo(n);
for (int i = 0; i < n; i++) {
x[i] = newBoolVar();
}
}
void createVars(vec<vec<BoolView> >& x, int n, int m) {
assert(x.size() == 0);
x.growTo(n);
for (int i = 0; i < n; i++) {
x[i].growTo(m);
for (int j = 0; j < m; j++) {
x[i][j] = newBoolVar();
}
}
}