48 typedef int mpfr_func(mpfr_t,
const __mpfr_struct*, mp_rnd_t);
54 mpfr_init_set_d(xx,
x, GMP_RNDN);
62#define GECODE_GENR_FUNC(name) \
63 FloatNum Rounding::name##_down(FloatNum x) { \
64 return invoke_mpfr(x, mpfr_##name, GMP_RNDD); \
66 FloatNum Rounding::name##_up(FloatNum x) { \
67 return invoke_mpfr(x, mpfr_##name, GMP_RNDU); \
84#undef GECODE_GENR_FUNC
double FloatNum
Floating point number base type.
int mpfr_func(mpfr_t, const __mpfr_struct *, mp_rnd_t)
Type signatur of mpfr function.
double invoke_mpfr(FloatNum x, mpfr_func f, mp_rnd_t r)
Routine to call mpfr function with proper rounding.
Gecode toplevel namespace
FloatVal asinh(const FloatVal &x)
void sin(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Post propagator for SetVar SetOpType SetVar SetRelType r
void cos(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void acos(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void log(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void exp(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void atan(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
FloatVal sinh(const FloatVal &x)
FloatVal acosh(const FloatVal &x)
FloatVal tanh(const FloatVal &x)
void asin(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
FloatVal atanh(const FloatVal &x)
Post propagator for SetVar x
FloatVal cosh(const FloatVal &x)
void tan(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
#define GECODE_GENR_FUNC(name)
Define mpfr functions with proper rounding.