![]() |
ATLAS Offline Software
|
Contains functions to deal with arbitrary IEEE754-like floating point formats. More...
#include <cstdint>#include <climits>#include <cstring>Go to the source code of this file.
Classes | |
| class | FloatingPointHelpers::IEEE754_like< mantiss, exp, tag > |
| Specifies a floating point format like those described in IEEE-754, with an adjustable number of bits in the exponent and mantissa. More... | |
| struct | FloatingPointHelpers::ConversionHelper< FLarge, FSmall > |
| struct | FloatingPointHelpers::ConversionHelper< StandardDouble, StandardFloat > |
| struct | FloatingPointHelpers::ConversionHelper< Format, Format > |
Namespaces | |
| namespace | FloatingPointHelpers |
| namespace | FloatingPointHelpers::LeadingZerosPortability |
| namespace | FloatingPointHelpers::OperatorsHelper |
| namespace | FloatingPointHelpers::BitCastHelper |
Macros | |
| #define | CALORECGPU_INCLUDE_CUDA_SUPPORT 1 |
| #define | CALORECGPU_MULTIPLE_PORTABILITY_CLZ_FUNC_HELPER(ATTRIB, TYPE, BUILTIN) |
Typedefs | |
| using | FloatingPointHelpers::StandardFloat = IEEE754_like<23, 8> |
| using | FloatingPointHelpers::StandardDouble = IEEE754_like<52, 11> |
| using | FloatingPointHelpers::CUDAHalfFloat = IEEE754_like<10, 5> |
| using | FloatingPointHelpers::CUDABFloat16 = IEEE754_like<7, 8> |
Enumerations | |
| enum class | FloatingPointHelpers::RoundingModes { FloatingPointHelpers::ToPlusInfinity , FloatingPointHelpers::ToMinusInfinity , FloatingPointHelpers::ToZero , FloatingPointHelpers::ToNearestEven , FloatingPointHelpers::ToNearestAwayFromZero , FloatingPointHelpers::Default = ToNearestEven } |
| Specifies the rounding mode to use for the operations. More... | |
Functions | |
| template<class T> | |
| static constexpr unsigned int | FloatingPointHelpers::LeadingZerosPortability::count_leading_zeros (const T num) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::safe_lshift (const T x, const T amount) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::safe_rshift (const T x, const T amount) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::clamped_sub (const T x1, const T x2) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::min (const T x1, const T x2) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::max (const T x1, const T x2) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::clamp (const T x, const T low, const T high) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::bit_and (const T x1, const T x2) |
| template<class T> | |
| static constexpr T | FloatingPointHelpers::OperatorsHelper::bit_or (const T x1, const T x2) |
| template<class To, class From> | |
| static constexpr To | FloatingPointHelpers::BitCastHelper::bitcast (const From &x) |
| template<class T, class FDest, class FSource> | |
| static constexpr T | FloatingPointHelpers::down_convert (const T pattern, const RoundingModes rt=RoundingModes::Default) |
Converts pattern from the larger floating point format FSource to FDest. | |
| template<class T, class FDest, class FSource> | |
| static constexpr T | FloatingPointHelpers::up_convert (const T pattern, const RoundingModes rt=RoundingModes::Default) |
Converts pattern from the smaller floating point format FSource to FDest. | |
Contains functions to deal with arbitrary IEEE754-like floating point formats.
Definition in file FPHelpers.h.
| #define CALORECGPU_INCLUDE_CUDA_SUPPORT 1 |
Definition at line 12 of file FPHelpers.h.
| #define CALORECGPU_MULTIPLE_PORTABILITY_CLZ_FUNC_HELPER | ( | ATTRIB, | |
| TYPE, | |||
| BUILTIN ) |
Definition at line 94 of file FPHelpers.h.