Implementing Propagation for AddProp
OZ_Return AddProp::propagate(void)
OZ_FDIntVar x(_x), y(_y), z(_z);
OZ_FiniteDomain x_aux(fd_empty),
// actual propagation code goes here
if ((*x &= x_aux)==0) goto failure;
if ((*y &= y_aux)==0) goto failure;
if ((*z &= z_aux)==0) goto failure;
return (x.leave() | y.leave() | z.leave())
? OZ_SLEEP : OZ_ENTAILED;
failure: x.fail(); y.fail(); z.fail();