38 namespace Int {
namespace NoOverlap {
42 for (
int i=m.
size();
i--; )
56 using namespace NoOverlap;
60 for (
int i=x.
size();
i--; ) {
71 =
static_cast<Space&
>(home).alloc<ManBox<FixDim,2> >(x.
size());
72 for (
int i=x.
size();
i--; ) {
73 b[
i][0] = FixDim(x[
i],w[i]);
74 b[
i][1] = FixDim(y[i],h[i]);
88 using namespace NoOverlap;
92 for (
int i=x.
size();
i--; ) {
104 =
static_cast<Space&
>(home).alloc<OptBox<FixDim,2> >(x.
size());
105 for (
int i=x.
size();
i--; ) {
106 b[
i][0] = FixDim(x[
i],w[i]);
107 b[
i][1] = FixDim(y[i],h[i]);
114 =
static_cast<Space&
>(home).alloc<ManBox<FixDim,2> >(x.
size());
118 b[
n][0] = FixDim(x[
i],w[i]);
119 b[
n][1] = FixDim(y[i],h[i]);
132 using namespace NoOverlap;
139 for (
int i=x0.
size();
i--; ) {
146 for (
int i=x0.
size();
i--; ) {
153 =
static_cast<Space&
>(home).alloc<ManBox<FlexDim,2> >(x0.
size());
154 for (
int i=x0.
size();
i--; ) {
155 b[
i][0] = FlexDim(x0[
i],w[i],x1[i]);
156 b[
i][1] = FlexDim(y0[i],h[i],y1[i]);
170 using namespace NoOverlap;
177 for (
int i=x0.
size();
i--; ) {
184 for (
int i=x0.
size();
i--; ) {
191 =
static_cast<Space&
>(home).alloc<OptBox<FlexDim,2> >(x0.
size());
192 for (
int i=x0.
size();
i--; ) {
193 b[
i][0] = FlexDim(x0[
i],w[i],x1[i]);
194 b[
i][1] = FlexDim(y0[i],h[i],y1[i]);
201 =
static_cast<Space&
>(home).alloc<ManBox<FlexDim,2> >(x0.
size());
203 for (
int i=0;
i<x0.
size();
i++)
205 b[
n][0] = FlexDim(x0[
i],w[i],x1[i]);
206 b[
n][1] = FlexDim(y0[i],h[i],y1[i]);
int size(void) const
Return size of array (number of elements)
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void nonnegative(int n, const char *l)
Check whether n is in range and nonnegative, otherwise throw out of limits with information l...
No-overlap propagator for mandatory boxes.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
bool assigned(void) const
Test if all variables are assigned.
Passing integer variables.
Passing integer arguments.
Passing Boolean variables.
No-overlap propagator for optional boxes.
void nooverlap(Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel)
Post propagator for rectangle packing.
IntPropLevel
Propagation levels for integer propagators.
struct Gecode::@585::NNF::@62::@63 b
For binary nodes (and, or, eqv)
Integer view for integer variables.
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
Gecode toplevel namespace
bool optional(const BoolVarArgs &m)
#define GECODE_POST
Check for failure in a constraint post function.
void check(int n, const char *l)
Check whether n is in range, otherwise throw out of limits with information l.
Home class for posting propagators
Exception: Arguments are of different size
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.