cppx-core
Namespaces | Functions | Variables
named-numbers.hpp File Reference
#include <cppx-core/language/syntax/macro-use.hpp>
#include <cppx-core/language/types/Truth.hpp>
#include <c/math.hpp>
#include <limits>
Include dependency graph for named-numbers.hpp:

Go to the source code of this file.

Namespaces

 cppx
 
 cppx::calc
 Functions and constants typically available on a scientific calculator, but somehow missing from the standard library.
 

Functions

 cppx::CPPX_USE_STD (numeric_limits)
 
template<class Number >
constexpr auto cppx::nan_ () -> Number
 
constexpr auto cppx::nan () -> double
 
template<class Number >
constexpr auto cppx::infinity_ () -> Number
 
constexpr auto cppx::infinity () -> double
 
 cppx::calc::CPPX_USE_CPPX (e, log2e, log10e, ln2, ln10, pi, inv_sqrt_pi, sqrt2, inv_sqrt2, has_nan_, has_nan, nan_, nan, has_infinity_, has_infinity, infinity_, infinity)
 

Variables

const auto cppx::e = 2.71828182845904523536
 
const auto cppx::log2e = 1.44269504088896340736
 
const auto cppx::log10e = 0.434294481903251827651
 
const auto cppx::ln2 = 0.693147180559945309417
 
const auto cppx::ln10 = 2.30258509299404568402
 
const auto cppx::pi = 3.14159265358979323846
 
const auto cppx::inv_sqrt_pi = 1.12837916709551257390
 
const auto cppx::sqrt2 = 1.41421356237309504880
 
const auto cppx::inv_sqrt2 = 0.707106781186547524401
 
template<class Number = double>
constexpr Truth cppx::has_nan_ = numeric_limits<Number>::has_quiet_NaN
 
constexpr Truth cppx::has_nan = has_nan_<double>
 
template<class Number = double>
constexpr Truth cppx::has_infinity_ = numeric_limits<double>::has_infinity
 
constexpr Truth cppx::has_infinity = has_infinity_<double>