bpp-phyl3
3.0.0
|
#include <Bpp/Phyl/Likelihood/DataFlow/ExtendedFloatEigen.h>
Public Types | |
using | FloatType = double |
using | ExtType = int |
Public Member Functions | |
OwnedExtendedFloat (const ExtendedFloatEigen &eigen) | |
const ExtendedFloat::ExtType & | exponent_part () const |
const FloatType & | float_part () const noexcept |
bool | normalize_big () noexcept |
bool | normalize_small () |
void | normalize () noexcept |
ExtendedFloat | operator+ (const ExtendedFloat &rhs) const |
ExtendedFloat | operator- (const ExtendedFloat &rhs) const |
template<typename F , typename = typename std::enable_if<std::is_arithmetic<F>::value>::type> | |
ExtendedFloat | operator- (const F &rhs) const |
ExtendedFloat | operator- () const |
ExtendedFloat | operator* (const ExtendedFloat &rhs) const |
template<typename F , typename = typename std::enable_if<std::is_arithmetic<F>::value>::type> | |
ExtendedFloat | operator* (const F &rhs) const |
ExtendedFloat | operator/ (const ExtendedFloat &rhs) const |
ExtendedFloat & | operator*= (const ExtendedFloat &rhs) |
ExtendedFloat & | operator/= (const ExtendedFloat &rhs) |
ExtendedFloat & | operator+= (const ExtendedFloat &rhs) |
ExtendedFloat & | operator-= (const ExtendedFloat &rhs) |
ExtendedFloat | pow (double exp) const |
ExtendedFloat | pow (int exp) const |
bool | operator== (const ExtendedFloat &rhs) const |
bool | operator!= (const ExtendedFloat &rhs) const |
bool | operator< (const ExtendedFloat &rhs) const |
bool | operator<= (const ExtendedFloat &rhs) const |
bool | operator>= (const ExtendedFloat &rhs) const |
bool | operator>= (const double &rhs) const |
bool | operator> (const ExtendedFloat &rhs) const |
bool | operator> (const double &rhs) const |
double | log () const |
ExtendedFloat | abs () const |
std::tuple< int, double > | lround () const |
ExtendedFloat | exp () const |
Static Public Member Functions | |
static ExtendedFloat | denorm_mul (const ExtendedFloat &lhs, const ExtendedFloat &rhs) |
static ExtendedFloat | denorm_div (const ExtendedFloat &lhs, const ExtendedFloat &rhs) |
static ExtendedFloat | denorm_add (const ExtendedFloat &lhs, const ExtendedFloat &rhs) |
static ExtendedFloat | denorm_sub (const ExtendedFloat &lhs, const ExtendedFloat &rhs) |
static ExtendedFloat | denorm_sub (const ExtendedFloat &lhs, const double &rhs) |
static ExtendedFloat | denorm_pow (const ExtendedFloat &lhs, double exp) |
static ExtendedFloat | denorm_pow (const ExtendedFloat &lhs, int exp) |
static double | convert (const ExtendedFloat &ef) |
Static Public Attributes | |
static constexpr int | allowed_product_without_normalization = 2 |
static constexpr int | radix = std::numeric_limits<FloatType>::radix |
static const double | ln_radix |
static constexpr int | biggest_repr_radix_power = std::numeric_limits<FloatType>::max_exponent - 1 |
static constexpr int | biggest_normalized_radix_power |
static constexpr FloatType | biggest_normalized_value |
static constexpr int | smallest_repr_radix_power = std::numeric_limits<FloatType>::min_exponent + 1 |
static constexpr int | smallest_normalized_radix_power |
static constexpr FloatType | smallest_normalized_value |
static constexpr FloatType | normalize_big_factor = 1. / biggest_normalized_value |
static constexpr FloatType | normalize_small_factor = 1. / smallest_normalized_value |
Protected Member Functions | |
FloatType & | float_part () noexcept |
ExtType & | exponent_part () noexcept |
Protected Attributes | |
FloatType | f_ |
ExtType | exp_ |
Private Member Functions | |
void | set_float_part (double x) |
void | set_exponent_part (ExtendedFloat::ExtType x) |
operator double () const | |
Private Attributes | |
const ExtendedFloatEigen & | eigen_ |
Friends | |
class | ExtendedFloatEigen |
Definition at line 89 of file ExtendedFloatEigen.h.
|
inherited |
Definition at line 43 of file ExtendedFloat.h.
|
inherited |
Definition at line 42 of file ExtendedFloat.h.
|
inline |
Definition at line 104 of file ExtendedFloatEigen.h.
|
inlineinherited |
Definition at line 357 of file ExtendedFloat.h.
References bpp::abs(), bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), and bpp::ExtendedFloat::float_part().
Referenced by bpp::abs().
|
inlinestaticinherited |
Definition at line 418 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloat::lround(), bpp::ExtendedFloat::operator>(), and bpp::ExtendedFloat::operator>=().
|
inlinestaticinherited |
Definition at line 142 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloat::operator+().
|
inlinestaticinherited |
Definition at line 137 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
Referenced by bpp::ExtendedFloat::denorm_pow(), and bpp::ExtendedFloat::operator/().
|
inlinestaticinherited |
Definition at line 132 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
Referenced by bpp::SumOfLogarithms< F >::compute(), bpp::ExtendedFloat::denorm_pow(), and bpp::ExtendedFloat::operator*().
|
inlinestaticinherited |
Definition at line 163 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exp(), bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), bpp::pow(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloat::denorm_pow(), and bpp::ExtendedFloat::pow().
|
inlinestaticinherited |
Definition at line 171 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_div(), bpp::ExtendedFloat::denorm_mul(), bpp::ExtendedFloat::denorm_pow(), bpp::ExtendedFloat::exp(), bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), bpp::ExtendedFloat::float_part(), bpp::ExtendedFloat::normalize(), and bpp::pow().
|
inlinestaticinherited |
Definition at line 156 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::radix.
|
inlinestaticinherited |
Definition at line 149 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloat::operator-().
|
inlineinherited |
Definition at line 395 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), bpp::ExtendedFloat::float_part(), bpp::ExtendedFloat::ln_radix, bpp::pow(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloat::denorm_pow(), bpp::exp(), and bpp::ExtendedFloat::pow().
|
inline |
Definition at line 108 of file ExtendedFloatEigen.h.
References bpp::ExtendedFloatEigen< R, C, EigenType >::OwnedExtendedFloat::eigen_, and bpp::ExtendedFloatEigen< R, C, EigenType >::exponent_part().
|
inlineprotectednoexceptinherited |
Definition at line 428 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exp_.
|
inlinenoexceptinherited |
Definition at line 88 of file ExtendedFloat.h.
References bpp::ExtendedFloat::f_.
Referenced by bpp::ExtendedFloat::abs(), bpp::SumOfLogarithms< F >::compute(), bpp::ExtendedFloatEigen< R, C, EigenType >::Constant(), bpp::convert(), bpp::ExtendedFloat::convert(), bpp::ExtendedFloat::denorm_add(), bpp::ExtendedFloat::denorm_div(), bpp::ExtendedFloat::denorm_mul(), bpp::ExtendedFloatEigen< R, C, EigenType >::denorm_mul(), bpp::ExtendedFloat::denorm_pow(), bpp::ExtendedFloat::denorm_sub(), bpp::ExtendedFloat::exp(), bpp::numeric::hash(), bpp::numeric::inverse(), bpp::numeric::isinf(), bpp::ExtendedFloat::log(), bpp::ExtendedFloat::lround(), bpp::ExtendedFloat::operator double(), bpp::ExtendedFloat::operator!=(), bpp::ExtendedFloat::operator*(), bpp::ExtendedFloat::operator*=(), bpp::ExtendedFloat::operator+=(), bpp::ExtendedFloat::operator-(), bpp::ExtendedFloat::operator-=(), bpp::ExtendedFloat::operator/=(), bpp::ExtendedFloat::operator<(), bpp::operator<<(), bpp::ExtendedFloat::operator<=(), bpp::ExtendedFloat::operator=(), bpp::ExtendedFloat::operator==(), bpp::ExtendedFloat::operator>(), bpp::ExtendedFloat::operator>=(), and bpp::to_string().
|
inlineprotectednoexceptinherited |
Definition at line 427 of file ExtendedFloat.h.
References bpp::ExtendedFloat::f_.
|
inlineinherited |
Definition at line 352 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), bpp::ExtendedFloat::ln_radix, and bpp::log().
Referenced by bpp::SumOfLogarithms< F >::compute(), and bpp::log().
|
inlineinherited |
Definition at line 363 of file ExtendedFloat.h.
References bpp::ExtendedFloat::biggest_normalized_radix_power, bpp::ExtendedFloat::biggest_normalized_value, bpp::ExtendedFloat::convert(), bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), bpp::powi(), and bpp::ExtendedFloat::radix.
Referenced by bpp::ExtendedFloatEigen< R, C, EigenType >::exp().
|
inlinenoexceptinherited |
Definition at line 123 of file ExtendedFloat.h.
References bpp::ExtendedFloat::normalize_big(), and bpp::ExtendedFloat::normalize_small().
Referenced by bpp::SumOfLogarithms< F >::compute(), bpp::ExtendedFloat::denorm_pow(), bpp::ExtendedFloat::operator*(), bpp::ExtendedFloat::operator*=(), bpp::ExtendedFloat::operator+=(), bpp::ExtendedFloat::operator-=(), and bpp::ExtendedFloat::operator/=().
|
inlinenoexceptinherited |
Definition at line 91 of file ExtendedFloat.h.
References bpp::abs(), bpp::ExtendedFloat::biggest_normalized_radix_power, bpp::ExtendedFloat::biggest_normalized_value, bpp::ExtendedFloat::exp_, bpp::ExtendedFloat::f_, and bpp::ExtendedFloat::normalize_big_factor.
Referenced by bpp::ExtendedFloat::normalize().
|
inlineinherited |
Definition at line 107 of file ExtendedFloat.h.
References bpp::abs(), bpp::ExtendedFloat::exp_, bpp::ExtendedFloat::f_, bpp::ExtendedFloat::normalize_small_factor, bpp::ExtendedFloat::smallest_normalized_radix_power, and bpp::ExtendedFloat::smallest_normalized_value.
Referenced by bpp::SumOfLogarithms< F >::compute(), and bpp::ExtendedFloat::normalize().
|
inlineprivateinherited |
Definition at line 408 of file ExtendedFloat.h.
References bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 317 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 221 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_mul().
|
inlineinherited |
Definition at line 229 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::normalize().
|
inlineinherited |
Definition at line 243 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::normalize().
|
inlineinherited |
Definition at line 199 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_add().
|
inlineinherited |
Definition at line 259 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), bpp::ExtendedFloat::normalize(), and bpp::ExtendedFloat::radix.
|
inlineinherited |
Definition at line 289 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::ExtendedFloat(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 206 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_sub().
|
inlineinherited |
Definition at line 214 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_sub().
|
inlineinherited |
Definition at line 274 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), bpp::ExtendedFloat::normalize(), and bpp::ExtendedFloat::radix.
|
inlineinherited |
Definition at line 236 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_div().
|
inlineinherited |
Definition at line 251 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), bpp::ExtendedFloat::float_part(), and bpp::ExtendedFloat::normalize().
|
inlineinherited |
Definition at line 322 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 327 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 312 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 347 of file ExtendedFloat.h.
References bpp::ExtendedFloat::convert().
|
inlineinherited |
Definition at line 342 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 337 of file ExtendedFloat.h.
References bpp::ExtendedFloat::convert().
|
inlineinherited |
Definition at line 332 of file ExtendedFloat.h.
References bpp::ExtendedFloat::exponent_part(), and bpp::ExtendedFloat::float_part().
|
inlineinherited |
Definition at line 294 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_pow(), and bpp::ExtendedFloat::exp().
Referenced by bpp::pow().
|
inlineinherited |
Definition at line 301 of file ExtendedFloat.h.
References bpp::ExtendedFloat::denorm_pow(), and bpp::ExtendedFloat::exp().
|
inlineprivate |
Definition at line 98 of file ExtendedFloatEigen.h.
References bpp::ExtendedFloat::exp_.
Referenced by bpp::ExtendedFloatEigen< R, C, EigenType >::maxCoeff(), bpp::ExtendedFloatEigen< R, C, EigenType >::mean(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator()(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator[](), and bpp::ExtendedFloatEigen< R, C, EigenType >::sum().
|
inlineprivate |
Definition at line 94 of file ExtendedFloatEigen.h.
References bpp::ExtendedFloat::f_.
Referenced by bpp::ExtendedFloatEigen< R, C, EigenType >::maxCoeff(), bpp::ExtendedFloatEigen< R, C, EigenType >::mean(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator()(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator[](), and bpp::ExtendedFloatEigen< R, C, EigenType >::sum().
|
friend |
Definition at line 113 of file ExtendedFloatEigen.h.
|
staticconstexprinherited |
Definition at line 46 of file ExtendedFloat.h.
|
staticconstexprinherited |
Definition at line 57 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::lround(), bpp::ExtendedFloat::normalize_big(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_big().
|
staticconstexprinherited |
Definition at line 62 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::lround(), bpp::ExtendedFloat::normalize_big(), bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_big(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_small().
|
staticconstexprinherited |
Definition at line 54 of file ExtendedFloat.h.
|
private |
Definition at line 92 of file ExtendedFloatEigen.h.
Referenced by bpp::ExtendedFloatEigen< R, C, EigenType >::OwnedExtendedFloat::exponent_part().
|
protectedinherited |
|
protectedinherited |
|
staticinherited |
Definition at line 51 of file ExtendedFloat.h.
Referenced by bpp::SumOfLogarithms< F >::compute(), bpp::ExtendedFloat::exp(), bpp::ExtendedFloatEigen< R, C, EigenType >::exp(), bpp::ExtendedFloat::log(), and bpp::ExtendedFloatEigen< R, C, EigenType >::log().
|
staticconstexprinherited |
Definition at line 77 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::normalize_big(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_big().
|
staticconstexprinherited |
Definition at line 78 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::normalize_small(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_small().
|
staticconstexprinherited |
Definition at line 49 of file ExtendedFloat.h.
Referenced by bpp::convert(), bpp::ExtendedFloat::convert(), bpp::numeric::convert(), bpp::ExtendedFloat::denorm_add(), bpp::ExtendedFloatEigen< R, C, EigenType >::denorm_add(), bpp::ExtendedFloat::denorm_pow(), bpp::ExtendedFloatEigen< R, C, EigenType >::denorm_pow(), bpp::ExtendedFloat::denorm_sub(), bpp::ExtendedFloatEigen< R, C, EigenType >::denorm_sub(), bpp::ExtendedFloat::exp(), bpp::ExtendedFloatEigen< R, C, EigenType >::exp(), bpp::ExtendedFloat::lround(), bpp::ExtendedFloatArrayWrapper< R, C >::operator+=(), bpp::ExtendedFloat::operator+=(), bpp::ExtendedFloatNoAlias< DerivedEF >::operator+=(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator+=(), bpp::ExtendedFloat::operator-=(), bpp::ExtendedFloatNoAlias< DerivedEF >::operator-=(), bpp::ExtendedFloatEigen< R, C, EigenType >::operator-=(), bpp::ExtendedFloatRow< R, C, EigenType >::operator=(), and bpp::ExtendedFloatCol< R, C, EigenType >::operator=().
|
staticconstexprinherited |
Definition at line 69 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::normalize_small(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_small().
|
staticconstexprinherited |
Definition at line 73 of file ExtendedFloat.h.
Referenced by bpp::ExtendedFloat::normalize_small(), and bpp::ExtendedFloatEigen< R, C, EigenType >::normalize_small().
|
staticconstexprinherited |
Definition at line 66 of file ExtendedFloat.h.