Go to the source code of this file.
Namespaces | |
namespace | itk |
namespace | itk::Math |
Defines | |
#define | itkTemplateFloatingToIntegerMacro(name) |
Functions | |
template<typename TReturn , typename TInput > | |
TReturn | itk::Math::CastWithRangeCheck (TInput x) |
template<TReturn , typename TInput > | |
itk::Math::Ceil (TInput x) | |
int | itk::Math::Ceil (float x) |
int | itk::Math::Ceil (double x) |
int | itk::Math::Floor (float x) |
template<TReturn , typename TInput > | |
itk::Math::Floor (TInput x) | |
int | itk::Math::Floor (double x) |
int | itk::Math::Round (float x) |
int | itk::Math::Round (double x) |
template<typename TReturn , typename TInput > | |
TReturn | itk::Math::Round (TInput x) |
template<TReturn , typename TInput > | |
itk::Math::RoundHalfIntegerToEven (TInput x) | |
template<TReturn , typename TInput > | |
itk::Math::RoundHalfIntegerUp (TInput x) | |
int | itk::Math::RoundHalfIntegerUp (float x) |
int | itk::Math::RoundHalfIntegerUp (double x) |
int | itk::Math::RoundHalfIntegerToEven (double x) |
int | itk::Math::RoundHalfIntegerToEven (float x) |
Variables | |
static const double | itk::Math::ln10 = 2.30258509299404568402 |
static const double | itk::Math::ln2 = 0.69314718055994530942 |
static const double | itk::Math::log10e = 0.43429448190325182765 |
static const double | itk::Math::log2e = 1.4426950408889634074 |
static const double | itk::Math::one_over_pi = 0.31830988618379067154 |
static const double | itk::Math::one_over_sqrt2pi = 0.39894228040143267794 |
static const double | itk::Math::pi_over_2 = 1.57079632679489661923 |
static const double | itk::Math::pi_over_4 = 0.78539816339744830962 |
static const double | itk::Math::sqrt1_2 = 0.70710678118654752440 |
static const double | itk::Math::sqrt2 = 1.41421356237309504880 |
static const double | itk::Math::two_over_pi = 0.63661977236758134308 |
static const double | itk::Math::two_over_sqrtpi = 1.12837916709551257390 |
#define itkTemplateFloatingToIntegerMacro | ( | name | ) |
template <typename TReturn,typename TInput> \ inline TReturn name(TInput x) \ { \ \ if (sizeof(TReturn) <= 4) \ { \ return static_cast<TReturn>(Detail::name##_32(x)); \ } \ else if (sizeof(TReturn) <= 8) \ { \ return static_cast<TReturn>(Detail::name##_64(x)); \ } \ else \ { \ return static_cast<TReturn>(Detail::name##_base<TReturn,TInput>(x)); \ } \ }
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