refactor: pi-based magnitude renamed to mag_pi

This commit is contained in:
Mateusz Pusz
2022-09-01 10:47:36 +02:00
parent 9891eab82b
commit c1d23b41c1
3 changed files with 7 additions and 7 deletions

View File

@@ -33,7 +33,7 @@
namespace units { namespace units {
struct radian : named_unit<radian, "rad"> {}; struct radian : named_unit<radian, "rad"> {};
struct rotation : named_scaled_unit<rotation, "rot", mag<2>() * pi, radian> {}; struct rotation : named_scaled_unit<rotation, "rot", mag<2>() * mag_pi, radian> {};
struct degree : named_scaled_unit<degree, basic_symbol_text{"°", "deg"}, mag<ratio{1, 360}>(), rotation> {}; struct degree : named_scaled_unit<degree, basic_symbol_text{"°", "deg"}, mag<ratio{1, 360}>(), rotation> {};
template<Unit U = radian> template<Unit U = radian>

View File

@@ -53,8 +53,8 @@ using factorizer = wheel_factorizer<4>;
* GCC 10) which don't yet permit floating point NTTPs. * GCC 10) which don't yet permit floating point NTTPs.
*/ */
template<typename T> template<typename T>
concept BaseRep = std::is_same_v<T, std::intmax_t> || std::is_same_v < std::remove_cvref_t<decltype(T::value)>, concept BaseRep =
long double > ; std::is_same_v<T, std::intmax_t> || std::is_same_v<std::remove_cvref_t<decltype(T::value)>, long double>;
/** /**
* @brief A basis vector in our magnitude representation, raised to some rational power. * @brief A basis vector in our magnitude representation, raised to some rational power.
@@ -404,7 +404,7 @@ struct pi_base {
/** /**
* @brief A convenient Magnitude constant for pi, which we can manipulate like a regular number. * @brief A convenient Magnitude constant for pi, which we can manipulate like a regular number.
*/ */
inline constexpr Magnitude auto pi = magnitude<base_power<pi_base>{}>{}; inline constexpr Magnitude auto mag_pi = magnitude<base_power<pi_base>{}>{};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Magnitude equality implementation. // Magnitude equality implementation.

View File

@@ -193,9 +193,9 @@ TEST_CASE("magnitude converts to numerical value")
SECTION("pi to the 1 supplies correct values") SECTION("pi to the 1 supplies correct values")
{ {
check_same_type_and_value(get_value<float>(pi), std::numbers::pi_v<float>); check_same_type_and_value(get_value<float>(mag_pi), std::numbers::pi_v<float>);
check_same_type_and_value(get_value<double>(pi), std::numbers::pi_v<double>); check_same_type_and_value(get_value<double>(mag_pi), std::numbers::pi_v<double>);
check_same_type_and_value(get_value<long double>(pi), std::numbers::pi_v<long double>); check_same_type_and_value(get_value<long double>(mag_pi), std::numbers::pi_v<long double>);
} }
SECTION("pi to arbitrary power performs computations in most accurate type at compile time") SECTION("pi to arbitrary power performs computations in most accurate type at compile time")