31#ifndef ETL_MATH_INCLUDED
32#define ETL_MATH_INCLUDED
36#if ETL_NOT_USING_STL && defined(ETL_COMPILER_ARM5) && !defined(__USE_C99_MATH)
38 #define __USE_C99_MATH
52#if ETL_USING_CPP11 && !defined(ETL_NO_CPP_NAN_SUPPORT)
55 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
58 return fpclassify(value) == FP_NAN;
64 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
67 return (value != value);
74 typename etl::enable_if<etl::is_integral<T>::value,
bool>::type
83#if ETL_USING_CPP11 && !defined(ETL_NO_CPP_NAN_SUPPORT)
86 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
89 return fpclassify(value) == FP_INFINITE;
95 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
98 return ((value == etl::numeric_limits<T>::infinity()) ||
99 (value == -etl::numeric_limits<T>::infinity()));
104 template <
typename T>
106 typename etl::enable_if<etl::is_integral<T>::value,
bool>::type
115#if ETL_USING_CPP11 && !defined(ETL_NO_CPP_NAN_SUPPORT)
116 template <
typename T>
118 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
121 return fpclassify(value) == FP_ZERO;
125 template <
typename T>
127 typename etl::enable_if<etl::is_floating_point<T>::value,
bool>::type
135 template <
typename T>
137 typename etl::enable_if<etl::is_integral<T>::value,
bool>::type
147 template <
typename T>
149 bool is_exactly_equal(T value1, T value2)
151 return value1 == value2;
Two pairs of the same type are equal if their members are equal.
bitset_ext
Definition absolute.h:39