26#ifndef LIBSBX_MATH_CONSTANTS_HPP_
27#define LIBSBX_MATH_CONSTANTS_HPP_
43template<
floating_po
int Type>
44inline constexpr auto epsilon_v = std::numeric_limits<Type>::epsilon();
49inline constexpr auto epsilonf = epsilon_v<std::float_t>;
54inline constexpr auto epsilond = epsilon_v<std::double_t>;
68template<
floating_po
int Type>
69inline constexpr auto pi_v = std::numbers::pi_v<Type>;
74inline constexpr auto pif = pi_v<std::float_t>;
79inline constexpr auto pid = pi_v<std::double_t>;
93template<
floating_po
int Type>
94inline constexpr auto two_pi_v =
static_cast<Type
>(2) * pi_v<Type>;
99inline constexpr auto two_pif = two_pi_v<std::float_t>;
104inline constexpr auto two_pid = two_pi_v<std::double_t>;
constexpr auto pi_v
Pi constant for a floating-point type.
Definition: constants.hpp:69
constexpr auto pif
Pi constant for std::float_t.
Definition: constants.hpp:74
constexpr auto epsilonf
Machine epsilon for std::float_t.
Definition: constants.hpp:49
constexpr auto epsilon
Default machine epsilon.
Definition: constants.hpp:61
constexpr auto pid
Pi constant for std::double_t.
Definition: constants.hpp:79
constexpr auto two_pi_v
Two-pi constant for a floating-point type.
Definition: constants.hpp:94
constexpr auto pi
Default pi constant.
Definition: constants.hpp:86
constexpr auto two_pif
Two-pi constant for std::float_t.
Definition: constants.hpp:99
constexpr auto two_pid
Two-pi constant for std::double_t.
Definition: constants.hpp:104
constexpr auto epsilon_v
Machine epsilon for a floating-point type.
Definition: constants.hpp:44
constexpr auto two_pi
Default two-pi constant.
Definition: constants.hpp:111
constexpr auto epsilond
Machine epsilon for std::double_t.
Definition: constants.hpp:54
Core numeric concepts and type traits.