1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi"). 29 const auto log2e = M_LOG2E;
30 const auto log10e = M_LOG10E;
31 const auto ln2 = M_LN2;
32 const auto ln10 = M_LN10;
39 const auto sqrt2 = M_SQRT2;
42 const auto e = 2.71828182845904523536;
43 const auto log2e = 1.44269504088896340736;
44 const auto log10e = 0.434294481903251827651;
45 const auto ln2 = 0.693147180559945309417;
46 const auto ln10 = 2.30258509299404568402;
47 const auto pi = 3.14159265358979323846;
53 const auto sqrt2 = 1.41421356237309504880;
56 template<
class Number =
double >
61 template<
class Number >
64 {
return numeric_limits<Number>::quiet_NaN(); }
66 constexpr
inline auto nan()
68 {
return nan_<double>(); }
70 template<
class Number =
double >
75 template<
class Number >
82 {
return infinity_<double>(); }
constexpr auto nan_() -> Number
A drop-in replacement for bool without implicit conversion from/to types other than bool.
constexpr Truth has_infinity_
constexpr Truth has_infinity
constexpr auto nan() -> double
CPPX_USE_CPPX(intpow, squared, cubed)
Truth is a drop-in replacement for bool without implicit conversion from/to types other than bool.
CPPX_USE_STD(basic_string, basic_string_view, bitset, char_traits, size)
constexpr auto infinity() -> double
constexpr auto infinity_() -> Number
Macros for generating more concise and clear using statements, primarily $use_cppx and $use_std,...