38 namespace Gecode {
namespace Float {
49 return RoundingBase::median(x,y);
52 #define GECODE_ROUND_OP(name) \ 53 forceinline FloatNum \ 54 Rounding::name##_down(FloatNum x, FloatNum y) { \ 55 return RoundingBase::name##_down(x,y); \ 57 forceinline FloatNum \ 58 Rounding::name##_up(FloatNum x, FloatNum y) { \ 59 return RoundingBase::name##_up(x,y); \ 67 #undef GECODE_ROUND_OP 69 #define GECODE_ROUND_FUN(name) \ 70 forceinline FloatNum \ 71 Rounding::name##_down(FloatNum x) { \ 72 return RoundingBase::name##_down(x); \ 74 forceinline FloatNum \ 75 Rounding::name##_up(FloatNum x) { \ 76 return RoundingBase::name##_up(x); \ 81 #if defined(_M_X64) || defined(_M_IA64) 99 #undef GECODE_ROUND_FUN FloatNum int_down(FloatNum x)
Return next downward-rounded integer of x (domain: )
#define GECODE_ROUND_FUN(name)
#define GECODE_ROUND_OP(name)
FloatNum int_up(FloatNum x)
Return next upward-rounded integer of x (domain: )
void sqrt(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Post propagator for SetVar SetOpType SetVar y
void div(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Rounding(void)
Default constructor (configures full rounding mode)
Post propagator for SetVar x
Gecode toplevel namespace
double FloatNum
Floating point number base type.
~Rounding(void)
Destructor (restores previous rounding mode)
FloatNum median(FloatNum x, FloatNum y)
Return median of x and y (domain: )