Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.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: