Beispiel #1
0
 /// Extend assignment \a x
 virtual bool extendAssignement(Assignment& x) const {
   Gecode::FloatVal d = exp(x[0]);
   if (Gecode::Float::subset(d, dom)) {
     x.set(1, d);
     return true;
   } else {
     return false;
   }
 }
Beispiel #2
0
 /// Extend assignment \a x
 virtual bool extendAssignement(Assignment& x) const {
   if (x[0].max() < 0.0) return false;
   Gecode::FloatVal d = log(x[0]);
   if (Gecode::Float::subset(d, dom)) {
     x.set(1, d);
     return true;
   } else {
     return false;
   }
 }
Beispiel #3
0
 /// Extend assignment \a x
 virtual bool extendAssignement(Assignment& x) const {
   if ((x[0].min() > 1.0) || (x[0].max() < -1.0))
     return false;
   Gecode::FloatVal d = acos(x[0]);
   if (Gecode::Float::subset(d, dom)) {
     x.set(1, d);
     return true;
   } else {
     return false;
   }
 }