file
TypeTraits.hType traits.
Contents
 Reference
Namespaces
 namespace Magnum
 Root namespace.
 namespace Magnum::Math
 Math library.
Classes

template<class T>struct Magnum::Math::IsScalar new in 2019.10
 Whether
T
is an arithmetic scalar type. 
template<class T>struct Magnum::Math::IsVector new in 2019.10
 Whether
T
is an arithmetic vector type. 
template<class T>struct Magnum::Math::IsIntegral new in 2019.10
 Whether
T
is integral. 
template<class T>struct Magnum::Math::IsFloatingPoint new in 2019.10
 Whether
T
is floatingpoint. 
template<class T>struct Magnum::Math::IsUnitless new in 2019.10
 Whether
T
is a unitless type. 
template<class T>struct Magnum::Math::TypeTraits
 Traits class for builtin arithmetic types.
Typedefs

template<class T>using UnderlyingTypeOf = typename Implementation::UnderlyingType<T>::Type new in 2019.10
 Underlying type of a math type.
Functions

template<class T>auto equal(T a, T b) > std::
enable_if <IsScalar<T>::value, bool>::type new in 2019.10  Equality comparison of scalar types.

template<class T>auto notEqual(T a, T b) > std::
enable_if <IsScalar<T>::value, bool>::type new in 2019.10  Nonequality comparison of scalar types.
Defines
 #define FLOAT_EQUALITY_PRECISION
 Precision when testing floats for equality.
 #define DOUBLE_EQUALITY_PRECISION
 Precision when testing doubles for equality.
 #define LONG_DOUBLE_EQUALITY_PRECISION
 Precision when testing long doubles for equality.
Define documentation
#define FLOAT_EQUALITY_PRECISION
Precision when testing floats for equality.
They have "at least" 6 significant digits of precision, taking one digit less for more headroom.
#define DOUBLE_EQUALITY_PRECISION
Precision when testing doubles for equality.
They have "at least" 15 significant digits of precision, taking one digit less for more headroom.
#define LONG_DOUBLE_EQUALITY_PRECISION
Precision when testing long doubles for equality.
They have "at least" 18 significant digits of precision, taking one digit less for more headroom.