65 x = v.
x;
return *
this;
83 return boost::numeric::width(
x);
87 return boost::numeric::median(
x);
93 (nextafter(
x.lower(),
x.upper()) ==
x.upper()));
101 return boost::numeric::in(n,
x);
105 return boost::numeric::zero_in(
x);
114 FloatVal p(boost::numeric::interval_lib::pi_half<FloatValImpType>());
119 FloatVal p(boost::numeric::interval_lib::pi<FloatValImpType>());
124 FloatVal p(boost::numeric::interval_lib::pi_twice<FloatValImpType>());
130 x +=
n;
return *
this;
134 x -=
n;
return *
this;
138 x *=
n;
return *
this;
142 x /=
n;
return *
this;
147 x += v.
x;
return *
this;
151 x -= v.
x;
return *
this;
155 x *= v.
x;
return *
this;
159 x /= v.
x;
return *
this;
233 }
catch (boost::numeric::interval_lib::comparison_error&) {
241 }
catch (boost::numeric::interval_lib::comparison_error&) {
250 }
catch (boost::numeric::interval_lib::comparison_error&) {
258 }
catch (boost::numeric::interval_lib::comparison_error&) {
267 }
catch (boost::numeric::interval_lib::comparison_error&) {
275 }
catch (boost::numeric::interval_lib::comparison_error&) {
284 }
catch (boost::numeric::interval_lib::comparison_error&) {
292 }
catch (boost::numeric::interval_lib::comparison_error&) {
301 }
catch (boost::numeric::interval_lib::comparison_error&) {
307 if (!boost::numeric::interval_lib::checking_strict<FloatNum>
308 ::is_empty(x.
x.lower(), x.
x.upper())) {
309 if ((x.
x.lower() == y) && (x.
x.upper() == y))
312 if (((x.
x.lower() == y) &&
313 (nextafter(x.
x.lower(),x.
x.upper()) == x.
x.upper())) ||
314 ((x.
x.upper() == y) &&
315 (nextafter(x.
x.upper(),x.
x.lower()) == x.
x.lower())))
324 }
catch (boost::numeric::interval_lib::comparison_error&) {
332 }
catch (boost::numeric::interval_lib::comparison_error&) {
362 template<
class Char,
class Traits>
363 std::basic_ostream<Char,Traits>&
364 operator <<(std::basic_ostream<Char,Traits>& os,
const FloatVal&
x) {
414 #ifdef GECODE_HAS_MPFR
491 namespace Gecode {
namespace Float {