cppx-core
|
Concise, clear & consistent notation for number type properties: is_ieee_754_, largest_, smallest_, max_, min_, max_e_, min_e_, n_digits_, radix_ and epsilon_. More...
#include <cppx-core/language/syntax/macro-use.hpp>
#include <cppx-core/language/types/Truth.hpp>
#include <limits>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | cppx::Number_properties_< Type > |
The property values as members of class, so that they can be inherited in. More... | |
Namespaces | |
cppx | |
cppx::number_properties | |
Concise, clear and consistent number type properties. | |
Functions | |
cppx::number_properties::CPPX_USE_CPPX (is_ieee_754_, largest_, smallest_, max_, min_, max_e_, min_e_, n_digits_, radix_, epsilon_) | |
Variables | |
template<class T > | |
constexpr Truth | cppx::is_ieee_754_ |
FP only. Whether the implementation claims to conform to the IEEE 754 standard. More... | |
template<class T > | |
constexpr T | cppx::largest_ |
The largest representable-as-positive absolute value of the type. More... | |
template<class T > | |
constexpr T | cppx::smallest_ |
The smallest non-zero absolute value of the type. More... | |
template<class T > | |
constexpr T | cppx::max_ |
The largest positive value of the type. More... | |
template<class T > | |
constexpr T | cppx::min_ |
The largest negative value of the type. More... | |
template<class T > | |
constexpr int | cppx::max_e_ |
FP only. E-notation maximum (largest positive) exponent value. More... | |
template<class T > | |
constexpr int | cppx::min_e_ |
FP only. E-notation minimum (largest negative) exponent value. More... | |
template<class T > | |
constexpr int | cppx::n_digits_ |
Number of decimal digits that guaranteed can be represented. More... | |
template<class T > | |
constexpr int | cppx::radix_ |
FP only. The numeral system base of the floating point representation, 2 or 10. More... | |
template<class T > | |
constexpr T | cppx::epsilon_ |
The difference between 1 and the least floating point value greater than 1. More... | |
Concise, clear & consistent notation for number type properties: is_ieee_754_, largest_, smallest_, max_, min_, max_e_, min_e_, n_digits_, radix_ and epsilon_.
The std::numeric_limits
facility is very verbose, has in part cryptic names, is non-systematic in what values mean for different kinds of types, and needlessly (and bafflingly for one without historical knowledge of C++) expresses integral values as values but floating point type values as functions that must be invoked. Hence this more consistent and easy-to-use, but limited, facility.
Definition in file number-type-properties.hpp.