KFR

Constants

c_pi

emplate <typename T, int m = 1, int d = 1> constexpr subtype<T> c_pi = subtype<T>(3.1415926535897932384626433832795 * m / d);

π (pi) c_pi<f64, 4> = 4pi c_pi<f64, 3, 4> = 3/4pi

Source:

emplate <typename T, int m = 1, int d = 1>
constexpr subtype<T> c_pi = subtype<T>(3.1415926535897932384626433832795 * m / d);

c_sqr_pi

te <typename T, int m = 1, int d = 1> constexpr subtype<T> c_sqr_pi = subtype<T>(9.8696044010893586188344909998762 * m / d); /

π² (pi²) c_sqr_pi<f64, 4> = 4pi² c_sqr_pi<f64, 3, 4> = 3/4pi²

Source:

te <typename T, int m = 1, int d = 1>
constexpr subtype<T> c_sqr_pi = subtype<T>(9.8696044010893586188344909998762 * m / d);
/

c_recip_pi

e <typename T, int m = 1, int d = 1> constexpr subtype<T> c_recip_pi = subtype<T>(0.31830988618379067153776752674503 * m / d); //

1/π (1/pi) c_recip_pi<f64> 1/pi c_recip_pi<f64, 4> 4/pi

Source:

e <typename T, int m = 1, int d = 1>
constexpr subtype<T> c_recip_pi = subtype<T>(0.31830988618379067153776752674503 * m / d);
//

c_degtorad

e <typename T> constexpr subtype<T> c_degtorad = c_pi<T, 1, 180>; //

degree to radian conversion factor

Source:

e <typename T>
constexpr subtype<T> c_degtorad = c_pi<T, 1, 180>;
//

c_radtodeg

e <typename T> constexpr subtype<T> c_radtodeg = c_recip_pi<T, 180>; //

radian to degree conversion factor

Source:

e <typename T>
constexpr subtype<T> c_radtodeg = c_recip_pi<T, 180>;
//

c_e

e <typename T, int m = 1, int d = 1> constexpr subtype<T> c_e = subtype<T>(2.718281828459045235360287471352662 * m / d); te

e, Euler’s number

Source:

e <typename T, int m = 1, int d = 1>
constexpr subtype<T> c_e = subtype<T>(2.718281828459045235360287471352662 * m / d);
te

c_infinity

e <typename T> constexpr subtype<T> c_infinity = std::numeric_limits<subtype<T>>::infinity(); //

infinity

Source:

e <typename T>
constexpr subtype<T> c_infinity = std::numeric_limits<subtype<T>>::infinity();
//

c_neginfinity

e <typename T> constexpr subtype<T> c_neginfinity = -std::numeric_limits<subtype<T>>::infinity(); //

-infinity

Source:

e <typename T>
constexpr subtype<T> c_neginfinity = -std::numeric_limits<subtype<T>>::infinity();
//

c_qnan

e <typename T> constexpr subtype<T> c_qnan = std::numeric_limits<subtype<T>>::quiet_NaN(); te

Quiet NaN

Source:

e <typename T>
constexpr subtype<T> c_qnan = std::numeric_limits<subtype<T>>::quiet_NaN();
te