|
CNL
2.0.2 (development)
Compositional Numeric Library
|
essential definitions related to the cnl::elastic_scaled_integer type
More...
#include "_impl/charconv/descale.h"#include "_impl/numbers/adopt_signedness.h"#include "_impl/scaled/is_scaled_tag.h"#include "_impl/scaled/power.h"#include "elastic_integer.h"#include "scaled_integer.h"#include <algorithm>#include <limits>#include <type_traits>Go to the source code of this file.
Namespaces | |
| cnl | |
| compositional numeric library | |
| cnl::literals | |
user-defined literals | |
Typedefs | |
| template<int Digits, scaled_tag Scale = power<>, class Narrowest = signed> | |
| using | cnl::elastic_scaled_integer = scaled_integer< elastic_integer< Digits, Narrowest >, Scale > |
| literal real number approximation that uses fixed-point arithmetic and auto-widens to avoid overflow More... | |
Functions | |
| template<typename Narrowest = int, ::cnl::intmax_t Value = 0> | |
| constexpr auto | cnl::make_elastic_scaled_integer (constant< Value >) -> elastic_scaled_integer< std::max(digits_v< constant< Value >> - trailing_bits(Value), 1), power< trailing_bits(Value)>, Narrowest > |
| generate an elastic_scaled_integer object of given value More... | |
| template<typename Narrowest = void, typename Integral = int> | |
| constexpr auto | cnl::make_elastic_scaled_integer (Integral const &value) -> elastic_scaled_integer< std::numeric_limits< Integral >::digits, power<>, typename std::conditional< std::is_same< void, Narrowest >::value, _impl::adopt_signedness_t< int, Integral >, Narrowest >::type > |
| generate an elastic_scaled_integer object of given value More... | |
| template<char... Chars> | |
| constexpr auto | cnl::literals::operator""_cnl () |
| generate an elastic_scaled_integer object using a literal More... | |
| template<char... Chars> | |
| constexpr auto | cnl::literals::operator""_cnl2 () |
| generate an elastic_scaled_integer object using a binary literal More... | |
essential definitions related to the cnl::elastic_scaled_integer type