versatile-mcmc  0.1.7
Functions
numeric.hpp File Reference

Numeric utility functions. More...

#include <cmath>
#include <limits>
#include <type_traits>
Include dependency graph for numeric.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T = double>
vmcmc::numeric::NaN ()
 
template<typename T = double>
vmcmc::numeric::inf ()
 
template<typename T , class = typename std::enable_if<std::is_integral<T>::value>::type>
int vmcmc::numeric::numberOfDigits (T number)
 
template<typename T >
bool vmcmc::numeric::approxEqual (T a, T b, T epsilon)
 Check whether two float values differ by a given epsilon. More...
 
template<typename T >
bool vmcmc::numeric::approxLessOrEqual (T a, T b, T epsilon)
 
template<typename T >
bool vmcmc::numeric::approxGreaterOrEqual (T a, T b, T epsilon)
 
template<typename T >
bool vmcmc::numeric::essentEqual (T a, T b, T epsilon)
 Check whether two float values differ by a given epsilon. More...
 
template<typename T >
bool vmcmc::numeric::essentLessOrEqual (T a, T b, T epsilon)
 
template<typename T >
bool vmcmc::numeric::essentGreaterOrEqual (T a, T b, T epsilon)
 

Detailed Description

Numeric utility functions.

Date
27.07.2016
Author
marco.nosp@m.@kle.nosp@m.esiek.nosp@m..com

Function Documentation

template<typename T >
bool vmcmc::numeric::approxEqual ( a,
b,
epsilon 
)
inline

Check whether two float values differ by a given epsilon.

Parameters
a
b
epsilon
Returns
return fabs(a - b) <= ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
template<typename T >
bool vmcmc::numeric::essentEqual ( a,
b,
epsilon 
)
inline

Check whether two float values differ by a given epsilon.

Parameters
a
b
epsilon
Returns
return fabs(a - b) <= ( (fabs(a) > fabs(b) ? fabs(b) : fabs(a)) * epsilon);