38 namespace Gecode {
namespace Float {
namespace Arithmetic {
46 template<
class A,
class B>
51 template<
class A,
class B>
55 if ((x0.min() == 0.0) && (x0.max() == 0.0))
return ES_FAILED;
61 if ((x1.min() == 0.0) && (x1.max() == 0.0)) {
70 else if (x0.max() <= 0)
82 if (!x0.assigned()) (
void)
new (home)
Pow<A,B>(home,x0,x1,n);
86 template<
class A,
class B>
91 template<
class A,
class B>
94 return new (home)
Pow<A,B>(home,share,*
this);
97 template<
class A,
class B>
100 if ((x0.min() == 0.0) && (x0.max() == 0.0))
return ES_FAILED;
103 if ((x1.min() == 0.0) && (x1.max() == 0.0)) {
112 else if (x0.max() <= 0)
117 nroot(x1.domain(),m_n),
118 -
nroot(x1.domain(),m_n)
131 template<
class A,
class B>
136 template<
class A,
class B>
145 template<
class A,
class B>
150 template<
class A,
class B>
156 template<
class A,
class B>