42 namespace Gecode {
namespace Float {
namespace Arithmetic {
48 template<
class VA,
class VB>
53 template<
class VA,
class VB>
68 template<
class VA,
class VB>
73 template<
class VA,
class VB>
79 template<
class VA,
class VB>
90 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
135 return new (home)
Sqr<View>(home,share,*
this);
141 assert(x1.min() >= 0);
151 if (x0.min() > -r.sqrt_up(x1.min()))
153 else if (x0.max() < r.sqrt_down(x1.min()))
167 template<
class A,
class B>
172 template<
class A,
class B>
188 template<
class A,
class B>
193 template<
class A,
class B>
196 return new (home)
Sqrt<A,B>(home,share,*
this);
199 template<
class A,
class B>
210 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
221 template<
class A,
class B>
226 template<
class A,
class B>
229 (void)
new (home)
Abs<A,B>(home,x0,x1);
233 template<
class A,
class B>
238 template<
class A,
class B>
241 return new (home)
Abs<A,B>(home,share,*
this);
244 template<
class A,
class B>
250 else if (x0.max() <= 0)