Beispiel #1
0
 // Create propagator and initialize
 NoOverlap(Home home, 
           ViewArray<IntView>& x0, int w0[], 
           ViewArray<IntView>& y0, int h0[])
   : Propagator(home), x(x0), w(w0), y(y0), h(h0) {
   x.subscribe(home,*this,PC_INT_BND);
   y.subscribe(home,*this,PC_INT_BND);
 }
 forceinline
 LinkMulti::LinkMulti(Home home, ViewArray<BoolView>& x, IntView y, int o0)
   : MixNaryOnePropagator<BoolView,PC_BOOL_NONE,IntView,PC_INT_DOM>
 (home,x,y), c(home), status(S_NONE), o(o0) {
   x.subscribe(home,*new (home) Advisor(home,*this,c));
   // Propagator is scheduled because of the dependency subscription
 }
 NonLinearity(Home home, ViewArray<IntView>& x0, int s[], bool a[], int n0, int m0, int t0, int sz) : 
     Propagator(home), x(x0), scores(s), assigned(a), n(n0), m(m0), threshold(t0), size(sz),
     pow2n(1U << n), pow2m(1U << m) {
         // only do something when a vector becomes assigned
         x.subscribe(home, *this, PC_INT_VAL);
     }