CNL  2.0.2 (development)
Compositional Numeric Library
static_number.h File Reference

file containing definitions related to cnl::static_number More...

#include "_impl/static_integer.h"
#include "_impl/wrapper/tag_of.h"
#include "integer.h"
#include "scaled_integer.h"
#include <limits>

Go to the source code of this file.

Namespaces

 cnl
 compositional numeric library
 

Typedefs

template<int Digits, int Exponent = 0, rounding_tag RoundingTag = nearest_rounding_tag, overflow_tag OverflowTag = undefined_overflow_tag, integer Narrowest = int>
using cnl::static_number = scaled_integer< _impl::static_integer< Digits, RoundingTag, OverflowTag, Narrowest >, power< Exponent > >
 a general-purpose fixed-point real number type More...
 

Functions

template<rounding_tag RoundingTag = _impl::tag_of_t<rounding_integer<>>, overflow_tag OverflowTag = _impl::tag_of_t<overflow_integer<>>, integer Narrowest = int, class Input = int, ::cnl::intmax_t Value>
constexpr auto cnl::make_static_number (constant< Value > const &) -> static_number< _impl::used_digits(Value) - trailing_bits(Value), trailing_bits(Value), RoundingTag, OverflowTag, Narrowest >
 constructs a static_number from a given constant value
 
template<rounding_tag RoundingTag = nearest_rounding_tag, overflow_tag OverflowTag = undefined_overflow_tag, integer Narrowest = int, class Input = int>
constexpr auto cnl::make_static_number (Input const &input) -> static_number< std::numeric_limits< Input >::digits, 0, RoundingTag, OverflowTag, Narrowest >
 constructs a static_number from a given variable
 

Detailed Description

file containing definitions related to cnl::static_number