diff --git a/src/core/include/units/quantity_cast.h b/src/core/include/units/quantity_cast.h index 5295f3a1..61678558 100644 --- a/src/core/include/units/quantity_cast.h +++ b/src/core/include/units/quantity_cast.h @@ -53,9 +53,6 @@ namespace detail { template inline constexpr Magnitude auto quantity_magnitude = decltype(Q::reference)::mag; -template -inline constexpr ratio quantity_ratio = as_ratio(quantity_magnitude); - template inline constexpr Magnitude auto cast_magnitude = [] { using FromU = TYPENAME QFrom::unit; diff --git a/test/unit_test/static/si_cgs_test.cpp b/test/unit_test/static/si_cgs_test.cpp index 8c817f08..d502cffe 100644 --- a/test/unit_test/static/si_cgs_test.cpp +++ b/test/unit_test/static/si_cgs_test.cpp @@ -36,13 +36,16 @@ namespace { using namespace units::isq; -static_assert(units::detail::quantity_ratio> == units::ratio(1)); -static_assert(units::detail::quantity_ratio> == units::ratio(1, 100)); -static_assert(units::detail::quantity_ratio> == units::ratio(1)); -static_assert(units::detail::quantity_ratio> == units::ratio(1, 100)); -static_assert(units::detail::quantity_ratio> == +template +inline constexpr units::ratio quantity_ratio = units::as_ratio(units::detail::quantity_magnitude); + +static_assert(quantity_ratio> == units::ratio(1)); +static_assert(quantity_ratio> == units::ratio(1, 100)); +static_assert(quantity_ratio> == units::ratio(1)); +static_assert(quantity_ratio> == units::ratio(1, 100)); +static_assert(quantity_ratio> == units::ratio(1000)); // defined in terms of kilogram that are 1000 * gram -static_assert(units::detail::quantity_ratio> == +static_assert(quantity_ratio> == units::ratio(1, 100)); // defined in terms of gram so only centimetre ratio counts here static_assert(si::cgs::length(100) == si::length(1)); diff --git a/test/unit_test/static/si_hep_test.cpp b/test/unit_test/static/si_hep_test.cpp index 87045e63..62479696 100644 --- a/test/unit_test/static/si_hep_test.cpp +++ b/test/unit_test/static/si_hep_test.cpp @@ -31,7 +31,10 @@ namespace { using namespace units::isq; -static_assert(units::detail::quantity_ratio> == units::ratio(1)); +template +inline constexpr units::ratio quantity_ratio = units::as_ratio(units::detail::quantity_magnitude); + +static_assert(quantity_ratio> == units::ratio(1)); // mass static_assert(si::hep::mass(1'000) == si::hep::mass(1));