Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0

Floating point rounding policy. More...

#include <float.hh>

Constructor and destructor

 Rounding (void)
 Default constructor (configures full rounding mode)
 ~Rounding (void)
 Destructor (restores previous rounding mode)

Arithmetic operations

FloatNum add_down (FloatNum x, FloatNum y)
 Return lower bound of x plus y (domain: $ [-\infty;+\infty][-\infty;+\infty]$)
FloatNum add_up (FloatNum x, FloatNum y)
 Return upper bound of x plus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)
FloatNum sub_down (FloatNum x, FloatNum y)
 Return lower bound of x minus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)
FloatNum sub_up (FloatNum x, FloatNum y)
 Return upper bound of x minus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)
FloatNum mul_down (FloatNum x, FloatNum y)
 Return lower bound of x times y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)
FloatNum mul_up (FloatNum x, FloatNum y)
 Return upper bound of x times y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)
FloatNum div_down (FloatNum x, FloatNum y)
 Return lower bound of x divided by y (domain: $ [-\infty;+\infty] ([-\infty;+\infty]-{0})   $)
FloatNum div_up (FloatNum x, FloatNum y)
 Return upper bound of x divided y (domain: $ [-\infty;+\infty] ([-\infty;+\infty]-{0})$)
FloatNum sqrt_down (FloatNum x)
 Return lower bound of square root of x (domain: $ ]0;+\infty]   $)
FloatNum sqrt_up (FloatNum x)
 Return upper bound of square root of x (domain: $ ]0;+\infty]$)

Miscellaneous operations

FloatNum median (FloatNum x, FloatNum y)
 Return median of x and y (domain: $ [-\infty;+\infty][-\infty;+\infty]$)
FloatNum int_down (FloatNum x)
 Return next downward-rounded integer of x (domain: $ [-\infty;+\infty]$)
FloatNum int_up (FloatNum x)
 Return next upward-rounded integer of x (domain: $ [-\infty;+\infty] $)

Exponential functions

FloatNum exp_down (FloatNum x)
 Return lower bound of exponential of x (domain: $ [-\infty;+\infty]$)
FloatNum exp_up (FloatNum x)
 Return upper bound of exponential of x (domain: $ [-\infty;+\infty]$)
FloatNum log_down (FloatNum x)
 Return lower bound of logarithm of x (domain: $ ]0;+\infty]$)
FloatNum log_up (FloatNum x)
 Return upper bound of logarithm of x (domain: $ ]0;+\infty]$)

Trigonometric functions

FloatNum sin_down (FloatNum x)
 Return lower bound of sine of x (domain: $ [0;2\pi]$)
FloatNum sin_up (FloatNum x)
 Return upper bound of sine of x (domain: $ [0;2\pi]$)
FloatNum cos_down (FloatNum x)
 Return lower bound of cosine of x (domain: $ [0;2\pi]$)
FloatNum cos_up (FloatNum x)
 Return upper bound of cosine of x (domain: $ [0;2\pi]$)
FloatNum tan_down (FloatNum x)
 Return lower bound of tangent of x (domain: $ ]-\pi/2;\pi/2[$)
FloatNum tan_up (FloatNum x)
 Return upper bound of tangent of x (domain: $ ]-\pi/2;\pi/2[$)

Inverse trigonometric functions

FloatNum asin_down (FloatNum x)
 Return lower bound of arcsine of x (domain: $ [-1;1]$)
FloatNum asin_up (FloatNum x)
 Return upper bound of arcsine of x (domain: $ [-1;1]$)
FloatNum acos_down (FloatNum x)
 Return lower bound of arccosine of x (domain: $ [-1;1]$)
FloatNum acos_up (FloatNum x)
 Return upper bound of arccossine of x (domain: $ [-1;1]$)
FloatNum atan_down (FloatNum x)
 Return lower bound of arctangent of x (domain: $ [-\infty;+\infty]$)
FloatNum atan_up (FloatNum x)
 Return upper bound of arctangent of x (domain: $ [-\infty;+\infty]$)

Hyperbolic functions

FloatNum sinh_down (FloatNum x)
 Return lower bound of hyperbolic sine of x (domain: $ [-\infty;+\infty]$)
FloatNum sinh_up (FloatNum x)
 Return upper bound of hyperbolic sine of x (domain: $ [-\infty;+\infty]$)
FloatNum cosh_down (FloatNum x)
 Return lower bound of hyperbolic cosine of x (domain: $ [-\infty;+\infty]$)
FloatNum cosh_up (FloatNum x)
 Return upper bound of hyperbolic cosine of x (domain: $ [-\infty;+\infty]$)
FloatNum tanh_down (FloatNum x)
 Return lower bound of hyperbolic tangent of x (domain: $ [-\infty;+\infty]$)
FloatNum tanh_up (FloatNum x)
 Return upper bound of hyperbolic tangent of x (domain: $ [-\infty;+\infty]$)

Inverse hyperbolic functions

FloatNum asinh_down (FloatNum x)
 Return lower bound of hyperbolic arcsine of x (domain: $ [-\infty;+\infty]$)
FloatNum asinh_up (FloatNum x)
 Return upper bound of hyperbolic arcsine of x (domain: $ [-\infty;+\infty]$)
FloatNum acosh_down (FloatNum x)
 Return lower bound of hyperbolic arccosine of x (domain: $ [1;+\infty]$)
FloatNum acosh_up (FloatNum x)
 Return upper bound of hyperbolic arccosine of x (domain: $ [1;+\infty]$)
FloatNum atanh_down (FloatNum x)
 Return lower bound of hyperbolic arctangent of x (domain: $ [-1;1]$)
FloatNum atanh_up (FloatNum x)
 Return upper bound of hyperbolic arctangent of x (domain: $ [-1;1]$)

Detailed Description

Floating point rounding policy.

Definition at line 154 of file float.hh.

Constructor & Destructor Documentation

◆ Rounding()

Gecode::Float::Rounding::Rounding ( void )
inline

Default constructor (configures full rounding mode)

Definition at line 37 of file rounding.hpp.

◆ ~Rounding()

Gecode::Float::Rounding::~Rounding ( void )
inline

Destructor (restores previous rounding mode)

Definition at line 41 of file rounding.hpp.

Member Function Documentation

◆ add_down()

FloatNum Gecode::Float::Rounding::add_down ( FloatNum x,
FloatNum y )

Return lower bound of x plus y (domain: $ [-\infty;+\infty][-\infty;+\infty]$)

◆ add_up()

FloatNum Gecode::Float::Rounding::add_up ( FloatNum x,
FloatNum y )

Return upper bound of x plus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)

◆ sub_down()

FloatNum Gecode::Float::Rounding::sub_down ( FloatNum x,
FloatNum y )

Return lower bound of x minus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)

◆ sub_up()

FloatNum Gecode::Float::Rounding::sub_up ( FloatNum x,
FloatNum y )

Return upper bound of x minus y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)

◆ mul_down()

FloatNum Gecode::Float::Rounding::mul_down ( FloatNum x,
FloatNum y )

Return lower bound of x times y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)

◆ mul_up()

FloatNum Gecode::Float::Rounding::mul_up ( FloatNum x,
FloatNum y )

Return upper bound of x times y (domain: $ [-\infty;+\infty] [-\infty;+\infty]$)

◆ div_down()

FloatNum Gecode::Float::Rounding::div_down ( FloatNum x,
FloatNum y )

Return lower bound of x divided by y (domain: $ [-\infty;+\infty] ([-\infty;+\infty]-{0})   $)

◆ div_up()

FloatNum Gecode::Float::Rounding::div_up ( FloatNum x,
FloatNum y )

Return upper bound of x divided y (domain: $ [-\infty;+\infty] ([-\infty;+\infty]-{0})$)

◆ sqrt_down()

FloatNum Gecode::Float::Rounding::sqrt_down ( FloatNum x)

Return lower bound of square root of x (domain: $ ]0;+\infty]   $)

◆ sqrt_up()

FloatNum Gecode::Float::Rounding::sqrt_up ( FloatNum x)

Return upper bound of square root of x (domain: $ ]0;+\infty]$)

◆ median()

FloatNum Gecode::Float::Rounding::median ( FloatNum x,
FloatNum y )
inline

Return median of x and y (domain: $ [-\infty;+\infty][-\infty;+\infty]$)

Definition at line 44 of file rounding.hpp.

◆ int_down()

FloatNum Gecode::Float::Rounding::int_down ( FloatNum x)

Return next downward-rounded integer of x (domain: $ [-\infty;+\infty]$)

◆ int_up()

FloatNum Gecode::Float::Rounding::int_up ( FloatNum x)

Return next upward-rounded integer of x (domain: $ [-\infty;+\infty] $)

◆ exp_down()

FloatNum Gecode::Float::Rounding::exp_down ( FloatNum x)

Return lower bound of exponential of x (domain: $ [-\infty;+\infty]$)

◆ exp_up()

FloatNum Gecode::Float::Rounding::exp_up ( FloatNum x)

Return upper bound of exponential of x (domain: $ [-\infty;+\infty]$)

◆ log_down()

FloatNum Gecode::Float::Rounding::log_down ( FloatNum x)

Return lower bound of logarithm of x (domain: $ ]0;+\infty]$)

◆ log_up()

FloatNum Gecode::Float::Rounding::log_up ( FloatNum x)

Return upper bound of logarithm of x (domain: $ ]0;+\infty]$)

◆ sin_down()

FloatNum Gecode::Float::Rounding::sin_down ( FloatNum x)

Return lower bound of sine of x (domain: $ [0;2\pi]$)

◆ sin_up()

FloatNum Gecode::Float::Rounding::sin_up ( FloatNum x)

Return upper bound of sine of x (domain: $ [0;2\pi]$)

◆ cos_down()

FloatNum Gecode::Float::Rounding::cos_down ( FloatNum x)

Return lower bound of cosine of x (domain: $ [0;2\pi]$)

◆ cos_up()

FloatNum Gecode::Float::Rounding::cos_up ( FloatNum x)

Return upper bound of cosine of x (domain: $ [0;2\pi]$)

◆ tan_down()

FloatNum Gecode::Float::Rounding::tan_down ( FloatNum x)

Return lower bound of tangent of x (domain: $ ]-\pi/2;\pi/2[$)

◆ tan_up()

FloatNum Gecode::Float::Rounding::tan_up ( FloatNum x)

Return upper bound of tangent of x (domain: $ ]-\pi/2;\pi/2[$)

◆ asin_down()

FloatNum Gecode::Float::Rounding::asin_down ( FloatNum x)

Return lower bound of arcsine of x (domain: $ [-1;1]$)

◆ asin_up()

FloatNum Gecode::Float::Rounding::asin_up ( FloatNum x)

Return upper bound of arcsine of x (domain: $ [-1;1]$)

◆ acos_down()

FloatNum Gecode::Float::Rounding::acos_down ( FloatNum x)

Return lower bound of arccosine of x (domain: $ [-1;1]$)

◆ acos_up()

FloatNum Gecode::Float::Rounding::acos_up ( FloatNum x)

Return upper bound of arccossine of x (domain: $ [-1;1]$)

◆ atan_down()

FloatNum Gecode::Float::Rounding::atan_down ( FloatNum x)

Return lower bound of arctangent of x (domain: $ [-\infty;+\infty]$)

◆ atan_up()

FloatNum Gecode::Float::Rounding::atan_up ( FloatNum x)

Return upper bound of arctangent of x (domain: $ [-\infty;+\infty]$)

◆ sinh_down()

FloatNum Gecode::Float::Rounding::sinh_down ( FloatNum x)

Return lower bound of hyperbolic sine of x (domain: $ [-\infty;+\infty]$)

◆ sinh_up()

FloatNum Gecode::Float::Rounding::sinh_up ( FloatNum x)

Return upper bound of hyperbolic sine of x (domain: $ [-\infty;+\infty]$)

◆ cosh_down()

FloatNum Gecode::Float::Rounding::cosh_down ( FloatNum x)

Return lower bound of hyperbolic cosine of x (domain: $ [-\infty;+\infty]$)

◆ cosh_up()

FloatNum Gecode::Float::Rounding::cosh_up ( FloatNum x)

Return upper bound of hyperbolic cosine of x (domain: $ [-\infty;+\infty]$)

◆ tanh_down()

FloatNum Gecode::Float::Rounding::tanh_down ( FloatNum x)

Return lower bound of hyperbolic tangent of x (domain: $ [-\infty;+\infty]$)

◆ tanh_up()

FloatNum Gecode::Float::Rounding::tanh_up ( FloatNum x)

Return upper bound of hyperbolic tangent of x (domain: $ [-\infty;+\infty]$)

◆ asinh_down()

FloatNum Gecode::Float::Rounding::asinh_down ( FloatNum x)

Return lower bound of hyperbolic arcsine of x (domain: $ [-\infty;+\infty]$)

◆ asinh_up()

FloatNum Gecode::Float::Rounding::asinh_up ( FloatNum x)

Return upper bound of hyperbolic arcsine of x (domain: $ [-\infty;+\infty]$)

◆ acosh_down()

FloatNum Gecode::Float::Rounding::acosh_down ( FloatNum x)

Return lower bound of hyperbolic arccosine of x (domain: $ [1;+\infty]$)

◆ acosh_up()

FloatNum Gecode::Float::Rounding::acosh_up ( FloatNum x)

Return upper bound of hyperbolic arccosine of x (domain: $ [1;+\infty]$)

◆ atanh_down()

FloatNum Gecode::Float::Rounding::atanh_down ( FloatNum x)

Return lower bound of hyperbolic arctangent of x (domain: $ [-1;1]$)

◆ atanh_up()

FloatNum Gecode::Float::Rounding::atanh_up ( FloatNum x)

Return upper bound of hyperbolic arctangent of x (domain: $ [-1;1]$)


The documentation for this class was generated from the following files: