Numeric utility functions.
More...
#include <cmath>
#include <limits>
#include <type_traits>
Go to the source code of this file.
|
|
template<typename T = double> |
| T | vmcmc::numeric::NaN () |
| |
|
template<typename T = double> |
| T | 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) |
| |
Numeric utility functions.
- Copyright
- Copyright 2016 Marco Kleesiek. Released under the GNU Lesser General Public License v3.
- Date
- 27.07.2016
- Author
- marco.nosp@m.@kle.nosp@m.esiek.nosp@m..com
template<typename T >
| bool vmcmc::numeric::approxEqual |
( |
T |
a, |
|
|
T |
b, |
|
|
T |
epsilon |
|
) |
| |
|
inline |
Check whether two float values differ by a given epsilon.
- Parameters
-
- Returns
return fabs(a - b) <= ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
template<typename T >
| bool vmcmc::numeric::essentEqual |
( |
T |
a, |
|
|
T |
b, |
|
|
T |
epsilon |
|
) |
| |
|
inline |
Check whether two float values differ by a given epsilon.
- Parameters
-
- Returns
return fabs(a - b) <= ( (fabs(a) > fabs(b) ? fabs(b) : fabs(a)) * epsilon);