From 4f759f95e809859f9c71f9a22752ee3956b6f304 Mon Sep 17 00:00:00 2001 From: Chip Hogg Date: Wed, 29 Dec 2021 11:44:22 -0500 Subject: [PATCH] Use Magnitude concept where appropriate --- src/core/include/units/magnitude.h | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/core/include/units/magnitude.h b/src/core/include/units/magnitude.h index 41d03e6a..9f6ab618 100644 --- a/src/core/include/units/magnitude.h +++ b/src/core/include/units/magnitude.h @@ -49,18 +49,18 @@ struct int_base : std::integral_constant {}; template using int_base_power = base_power, ratio{num, den}>; -template +template struct inverse; -template -using inverse_t = typename inverse::type; +template +using inverse_t = typename inverse::type; -template +template struct product; -template -using product_t = typename product::type; +template +using product_t = typename product::type; -template -using quotient_t = product_t>; +template +using quotient_t = product_t>; namespace detail { @@ -129,10 +129,10 @@ struct inverse...>> { // Convenience utility to prepend a base_power to a magnitude. // // Assumes that the prepended power has a smaller base than every base power in the magnitude. -template +template struct prepend_base; -template -using prepend_base_t = typename prepend_base::type; +template +using prepend_base_t = typename prepend_base::type; template struct prepend_base> { using type = magnitude; @@ -143,12 +143,12 @@ template <> struct product<> { using type = magnitude<>; }; // Unary case. -template -struct product { using type = mag_t; }; +template +struct product { using type = M; }; // Binary case, where right argument is null magnitude. -template -struct product> { using type = mag_t; }; +template +struct product> { using type = M; }; // Binary case, where left argument is null magnitude, and right is non-null. template @@ -187,10 +187,10 @@ struct product, tail1...>, }; // N-ary case (N > 2). -template -struct product +template +struct product { - using type = product_t, tail...>; + using type = product_t, tail...>; }; } // namespace units::mag