/// 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; } }
/// 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; } }
/// 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; } }