realroot_doc 0.1.1
|
T mmx::numerics::add_dw | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 70 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_dw()); return a+b; };
T mmx::numerics::add_up | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 71 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_up()); return a+b; };
unsigned mmx::numerics::bitprec | ( | const T & | e, |
const T & | l = T(1.0) |
||
) |
Definition at line 29 of file numerics_hdwi.hpp.
Referenced by binary_sleeve_subdivision< K >::run(), binary_sleeve_subdivision< K >::run_loop(), and binary_subdivision< K >::run_loop().
{ T tmp(l); unsigned b = 2; while ( tmp > e ) { tmp/=2; b++; }; return b; };
T mmx::numerics::div_dw | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 68 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_dw()); return a/b; };
T mmx::numerics::div_up | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 69 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_up()); return a/b; };
int mmx::numerics::get_cw | ( | ) | [inline] |
Definition at line 15 of file rounding_mode.hpp.
{ return fegetround(); };
int mmx::numerics::get_rnd | ( | ) | [inline] |
Definition at line 16 of file rounding_mode.hpp.
{ return fegetround(); };
void mmx::numerics::hsal | ( | unsigned & | ha, |
unsigned_t & | a, | ||
unsigned & | hb, | ||
unsigned_t & | b | ||
) |
Definition at line 108 of file numerics_hdwi.hpp.
References sal().
T mmx::numerics::mul_dw | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 72 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_dw()); return a*b; };
T mmx::numerics::mul_up | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 73 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_up()); return a*b; };
static int mmx::numerics::rnd_dw | ( | ) | [inline, static] |
Definition at line 19 of file rounding_mode.hpp.
Referenced by mmx::let::assign(), binary_sleeve_subdivision< K >::dwsplit(), solver< Ring, Bspline >::first_root(), binary_convert< K, Approximate >::get(), binary_sleeve_subdivision< K >::init_pol(), binary_sleeve_subdivision< K >::Loop(), parallel< system >::process(), and binary_sleeve_subdivision< K >::solve_bernstein().
{ return FE_DOWNWARD;};
static int mmx::numerics::rnd_nr | ( | ) | [inline, static] |
Definition at line 20 of file rounding_mode.hpp.
{ return FE_TONEAREST;};
static int mmx::numerics::rnd_up | ( | ) | [inline, static] |
Definition at line 18 of file rounding_mode.hpp.
Referenced by mmx::let::assign(), solver< Ring, Bspline >::first_root(), binary_convert< K, Approximate >::get(), binary_sleeve_subdivision< K >::init_pol(), parallel< system >::process(), binary_sleeve_subdivision< K >::solve_bernstein(), Cauchy< C >::upper_bound(), and binary_sleeve_subdivision< K >::upsplit().
{ return FE_UPWARD;};
static int mmx::numerics::rnd_z | ( | ) | [inline, static] |
Definition at line 21 of file rounding_mode.hpp.
{ return FE_TOWARDZERO;};
void mmx::numerics::sal | ( | unsigned_t & | a, |
unsigned | n | ||
) |
Definition at line 82 of file numerics_hdwi.hpp.
References assert.
Referenced by hsal().
{ assert(n<=hdwi<unsigned_t>::nbit); if ( a & 1 ) { unsigned_t msk(hdwi<unsigned_t>::nmax); msk >>= (hdwi<unsigned_t>::nbit-n); a <<= n; a |= msk; } else { // std::cout << "SAL( " << n << ") \n"; // std::cout << a << std::endl; a <<= n; // std::cout << a << std::endl; }; };
void mmx::numerics::set_cw | ( | int | cw | ) | [inline] |
Definition at line 17 of file rounding_mode.hpp.
{ fesetround(cw);};
T mmx::numerics::sub_dw | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 74 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_dw()); return a-b; };
T mmx::numerics::sub_up | ( | const T & | a, |
const T & | b | ||
) | [inline] |
Definition at line 75 of file rounding_mode.hpp.
{ rounding<T> r(rounding<T>::rnd_up()); return a-b; };