#include <cassert>#include <complex>#include <cmath>#include <limits>#include <type_traits>#include "itkMathDetail.h"#include "itkConceptChecking.h"#include <vnl/vnl_math.h>#include <vxl_version.h>
Include dependency graph for itkMath.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | itk |
| namespace | itk::Math |
| namespace | itk::Math::Detail |
Macros | |
| #define | itkTemplateFloatingToIntegerMacro(name) |
Functions | |
| template<typename T> | |
| auto | itk::Math::Absolute (const std::complex< T > &x) noexcept |
| template<typename T> | |
| constexpr auto | itk::Math::Absolute (T x) noexcept |
| template<typename T1, typename T2> | |
| bool | itk::Math::AlmostEquals (T1 x1, T2 x2) |
| TInput TInput auto | itk::Math::CastWithRangeCheck (TInput x) |
| TInput | itk::Math::Ceil (TInput x) template< typename TReturn |
| template<typename TInput1, typename TInput2> | |
| constexpr bool | itk::Math::ExactlyEquals (const TInput1 &x1, const TInput2 &x2) |
| template<typename T> | |
| constexpr T | itk::Math::FloatAddULP (T x, typename Detail::FloatIEEE< T >::IntType ulps) |
| template<typename T> | |
| bool | itk::Math::FloatAlmostEqual (T x1, T x2, typename Detail::FloatIEEE< T >::IntType maxUlps=4, typename Detail::FloatIEEE< T >::FloatType maxAbsoluteDifference=0.1 *itk::NumericTraits< T >::epsilon()) |
| template<typename T> | |
| constexpr Detail::FloatIEEE< T >::IntType | itk::Math::FloatDifferenceULP (T x1, T x2) |
| template<TReturn, typename TInput> | |
| itk::Math::Floor (TInput x) template< TReturn | |
| template<typename T1, typename T2> | |
| bool | itk::Math::NotAlmostEquals (T1 x1, T2 x2) |
| template<typename TInput1, typename TInput2> | |
| constexpr bool | itk::Math::NotExactlyEquals (const TInput1 &x1, const TInput2 &x2) |
| TInput TInput constexpr auto | itk::Math::Round (TInput x) |
| template<TReturn, typename TInput> | |
| itk::Math::RoundHalfIntegerToEven (TInput x) template< TReturn | |
| TInput | itk::Math::RoundHalfIntegerUp (TInput x) template< typename TReturn |
| template<typename TReturnType = uintmax_t> | |
| constexpr auto | itk::Math::UnsignedPower (const uintmax_t base, const uintmax_t exponent) noexcept -> TReturnType |
| template<typename TReturnType = uintmax_t> | |
| constexpr auto | itk::Math::UnsignedProduct (const uintmax_t a, const uintmax_t b) noexcept |
| template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>> | |
| constexpr bool | itk::Math::IsPrime (T n) |
| template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>> | |
| constexpr T | itk::Math::GreatestPrimeFactor (T n) |
Variables | |
| static constexpr double | itk::Math::deg_per_rad = vnl_math::deg_per_rad |
| static constexpr double | itk::Math::e = vnl_math::e |
| static constexpr double | itk::Math::eps = vnl_math::eps |
| static constexpr double | itk::Math::euler = vnl_math::euler |
| static constexpr float | itk::Math::float_eps = vnl_math::float_eps |
| static constexpr float | itk::Math::float_sqrteps = vnl_math::float_sqrteps |
| static constexpr double | itk::Math::ln10 = vnl_math::ln10 |
| static constexpr double | itk::Math::ln2 = vnl_math::ln2 |
| static constexpr double | itk::Math::log10e = vnl_math::log10e |
| static constexpr double | itk::Math::log2e = vnl_math::log2e |
| static constexpr double | itk::Math::one_over_pi = vnl_math::one_over_pi |
| static constexpr double | itk::Math::one_over_sqrt2pi = vnl_math::one_over_sqrt2pi |
| static constexpr double | itk::Math::pi = vnl_math::pi |
| static constexpr double | itk::Math::pi_over_180 = vnl_math::pi_over_180 |
| static constexpr double | itk::Math::pi_over_2 = vnl_math::pi_over_2 |
| static constexpr double | itk::Math::pi_over_4 = vnl_math::pi_over_4 |
| static constexpr double | itk::Math::sqrt1_2 = vnl_math::sqrt1_2 |
| static constexpr double | itk::Math::sqrt1_3 = vnl_math::sqrt1_3 |
| static constexpr double | itk::Math::sqrt2 = vnl_math::sqrt2 |
| static constexpr double | itk::Math::sqrt2pi = vnl_math::sqrt2pi |
| static constexpr double | itk::Math::sqrteps = vnl_math::sqrteps |
| static constexpr double | itk::Math::two_over_pi = vnl_math::two_over_pi |
| static constexpr double | itk::Math::two_over_sqrtpi = vnl_math::two_over_sqrtpi |
| static constexpr double | itk::Math::twopi = vnl_math::twopi |
| #define itkTemplateFloatingToIntegerMacro | ( | name | ) |
A useful macro to generate a template floating point to integer conversion templated on the return type and using either the 32 bit, the 64 bit or the vanilla version
Definition at line 106 of file itkMath.h.
Referenced by itk::Math::Ceil(), and itk::Math::RoundHalfIntegerUp().