From 7ed4f19ef3a924d3ffd4bcc73ac84f8aef8ce6b1 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 8 Sep 2020 11:10:33 +0200 Subject: [PATCH] refactor: :recycle: `exp_*` operations on exponents renamed to `exponent_* --- src/include/units/bits/base_units_ratio.h | 2 +- src/include/units/bits/deduced_symbol_text.h | 2 +- src/include/units/bits/deduced_unit.h | 4 ++-- .../units/bits/derived_dimension_base.h | 4 ++-- src/include/units/bits/dim_consolidate.h | 18 ++++++++--------- src/include/units/bits/dim_unpack.h | 4 ++-- src/include/units/bits/dimension_op.h | 12 +++++------ src/include/units/bits/to_string.h | 20 +++++++++---------- src/include/units/derived_dimension.h | 4 ++-- src/include/units/exponent.h | 18 ++++++++--------- .../make_dimension/dimension_concepts_all.h | 18 ++++++++--------- .../make_dimension/dimension_concepts_iface.h | 18 ++++++++--------- .../make_dimension/dimension_no_concepts.h | 18 ++++++++--------- test/unit_test/static/dimension_op_test.cpp | 16 +++++++-------- test/unit_test/static/type_list_test.cpp | 12 +++++------ 15 files changed, 85 insertions(+), 85 deletions(-) diff --git a/src/include/units/bits/base_units_ratio.h b/src/include/units/bits/base_units_ratio.h index 5d9cba92..57b10e2b 100644 --- a/src/include/units/bits/base_units_ratio.h +++ b/src/include/units/bits/base_units_ratio.h @@ -43,7 +43,7 @@ constexpr ratio exp_ratio() * @brief Calculates the common ratio of all the references of base units in the derived dimension */ template -constexpr ratio base_units_ratio(exp_list) +constexpr ratio base_units_ratio(exponent_list) { return (exp_ratio() * ... * ratio(1)); } diff --git a/src/include/units/bits/deduced_symbol_text.h b/src/include/units/bits/deduced_symbol_text.h index b16d0f3b..d4e56d10 100644 --- a/src/include/units/bits/deduced_symbol_text.h +++ b/src/include/units/bits/deduced_symbol_text.h @@ -80,7 +80,7 @@ template inline constexpr int negative_exp_count = ((Es::num < 0 ? 1 : 0) + ... + 0); template -constexpr auto deduced_symbol_text(exp_list, std::index_sequence) +constexpr auto deduced_symbol_text(exponent_list, std::index_sequence) { constexpr auto neg_exp = negative_exp_count; return (exp_text() + ...); diff --git a/src/include/units/bits/deduced_unit.h b/src/include/units/bits/deduced_unit.h index 8eee6368..ff3bf5ce 100644 --- a/src/include/units/bits/deduced_unit.h +++ b/src/include/units/bits/deduced_unit.h @@ -31,7 +31,7 @@ template inline constexpr bool same_scaled_units = false; template -inline constexpr bool same_scaled_units, Us...> = (UnitOf && ...); +inline constexpr bool same_scaled_units, Us...> = (UnitOf && ...); // deduced_unit @@ -45,7 +45,7 @@ constexpr ratio inverse_if_negative(const ratio& r) } template -constexpr ratio derived_ratio(exp_list) +constexpr ratio derived_ratio(exponent_list) { return (... * inverse_if_negative(pow(Us::ratio) / dimension_unit::ratio)); } diff --git a/src/include/units/bits/derived_dimension_base.h b/src/include/units/bits/derived_dimension_base.h index 74f8fa25..4b152718 100644 --- a/src/include/units/bits/derived_dimension_base.h +++ b/src/include/units/bits/derived_dimension_base.h @@ -46,14 +46,14 @@ namespace units::detail { template requires (BaseDimension && ...) struct derived_dimension_base : downcast_base> { - using exponents = exp_list; + using exponents = exponent_list; }; template struct to_derived_dimension_base; template -struct to_derived_dimension_base> { +struct to_derived_dimension_base> { using type = derived_dimension_base; }; diff --git a/src/include/units/bits/dim_consolidate.h b/src/include/units/bits/dim_consolidate.h index fb3f11c5..87aeace9 100644 --- a/src/include/units/bits/dim_consolidate.h +++ b/src/include/units/bits/dim_consolidate.h @@ -40,28 +40,28 @@ template struct dim_consolidate; template<> -struct dim_consolidate> { - using type = exp_list<>; +struct dim_consolidate> { + using type = exponent_list<>; }; template -struct dim_consolidate> { - using type = exp_list; +struct dim_consolidate> { + using type = exponent_list; }; template -struct dim_consolidate> { - using type = type_list_push_front>::type, E1>; +struct dim_consolidate> { + using type = type_list_push_front>::type, E1>; }; template -struct dim_consolidate, exponent, ERest...>> { +struct dim_consolidate, exponent, ERest...>> { // TODO: we have ration_add now, but dim_consolidate etc, now need to cope with our new ratio using r1 = std::ratio; using r2 = std::ratio; using r = std::ratio_add; - using type = conditional>::type, - typename dim_consolidate, ERest...>>::type>; + using type = conditional>::type, + typename dim_consolidate, ERest...>>::type>; }; } // namespace units::detail diff --git a/src/include/units/bits/dim_unpack.h b/src/include/units/bits/dim_unpack.h index f9df5ee3..614d39c9 100644 --- a/src/include/units/bits/dim_unpack.h +++ b/src/include/units/bits/dim_unpack.h @@ -38,7 +38,7 @@ struct dim_unpack; template<> struct dim_unpack<> { - using type = exp_list<>; + using type = exponent_list<>; }; template @@ -53,7 +53,7 @@ struct dim_unpack, ERest...> { template struct dim_unpack, Num, Den>, ERest...> { - using type = type_list_push_front::type, exp_multiply...>; + using type = type_list_push_front::type, exponent_multiply...>; }; } // namespace units::detail diff --git a/src/include/units/bits/dimension_op.h b/src/include/units/bits/dimension_op.h index a5fc0889..541d9300 100644 --- a/src/include/units/bits/dimension_op.h +++ b/src/include/units/bits/dimension_op.h @@ -122,7 +122,7 @@ struct dim_invert_impl>> { template struct dim_invert_impl> { - using type = downcast_dimension...>>; + using type = downcast_dimension...>>; }; template @@ -141,12 +141,12 @@ template struct to_dimension; template -struct to_dimension> { +struct to_dimension> { using type = derived_dimension_base; }; template -struct to_dimension>> { +struct to_dimension>> { using type = D; }; @@ -160,7 +160,7 @@ struct to_dimension>> { * dimension itself. */ template -using merge_dimension = TYPENAME to_dimension>::type>::type; +using merge_dimension = TYPENAME to_dimension>::type>::type; template struct dimension_multiply_impl; @@ -216,7 +216,7 @@ struct dimension_sqrt_impl { template struct dimension_sqrt_impl> { - using type = downcast_dimension...>>; + using type = downcast_dimension...>>; }; } // namespace detail @@ -252,7 +252,7 @@ struct dimension_pow_impl { template struct dimension_pow_impl, N> { - using type = downcast_dimension...>>; + using type = downcast_dimension...>>; }; } // namespace detail diff --git a/src/include/units/bits/to_string.h b/src/include/units/bits/to_string.h index f2047f5b..4619e55a 100644 --- a/src/include/units/bits/to_string.h +++ b/src/include/units/bits/to_string.h @@ -103,40 +103,40 @@ constexpr auto prefix_or_ratio_text() } template -constexpr auto derived_dimension_unit_text(exp_list, std::index_sequence) +constexpr auto derived_dimension_unit_text(exponent_list, std::index_sequence) { return (exp_text::symbol, negative_exp_count, Idxs>() + ... + basic_symbol_text(basic_fixed_string(""))); } template -constexpr auto derived_dimension_unit_text(exp_list list) +constexpr auto derived_dimension_unit_text(exponent_list list) { return derived_dimension_unit_text(list, std::index_sequence_for()); } template -constexpr auto exp_list_with_named_units(exp_list); +constexpr auto exponent_list_with_named_units(exponent_list); template -constexpr auto exp_list_with_named_units(Exp) +constexpr auto exponent_list_with_named_units(Exp) { using dim = TYPENAME Exp::dimension; if constexpr(dimension_unit::is_named) { - return exp_list(); + return exponent_list(); } else { using recipe = TYPENAME dim::recipe; - return exp_list_with_named_units(recipe()); + return exponent_list_with_named_units(recipe()); } } template -constexpr auto exp_list_with_named_units(exp_list) +constexpr auto exponent_list_with_named_units(exponent_list) { - return type_list_join(); + return type_list_join(); } -constexpr auto exp_list_with_named_units(exp_list<> empty) +constexpr auto exponent_list_with_named_units(exponent_list<> empty) { return empty; } @@ -145,7 +145,7 @@ template constexpr auto derived_dimension_unit_text() { using recipe = TYPENAME Dim::recipe; - return derived_dimension_unit_text(exp_list_with_named_units(recipe())); + return derived_dimension_unit_text(exponent_list_with_named_units(recipe())); } // TODO Inline below concept when switched to gcc-10 diff --git a/src/include/units/derived_dimension.h b/src/include/units/derived_dimension.h index 4fb281bf..7f690b13 100644 --- a/src/include/units/derived_dimension.h +++ b/src/include/units/derived_dimension.h @@ -46,7 +46,7 @@ namespace detail { * this base dimension. */ template -using make_dimension = TYPENAME to_derived_dimension_base::type, exp_less>>::type>::type; +using make_dimension = TYPENAME to_derived_dimension_base::type, exponent_less>>::type>::type; } // namespace detail @@ -79,7 +79,7 @@ using make_dimension = TYPENAME to_derived_dimension_base struct derived_dimension : downcast_child> { - using recipe = exp_list; + using recipe = exponent_list; using coherent_unit = U; static constexpr ratio base_units_ratio = detail::base_units_ratio(typename derived_dimension::exponents()); }; diff --git a/src/include/units/exponent.h b/src/include/units/exponent.h index 1a8b6185..a55fc43d 100644 --- a/src/include/units/exponent.h +++ b/src/include/units/exponent.h @@ -49,27 +49,27 @@ inline constexpr bool is_exponent> = true; } // namespace detail -// exp_less +// exponent_less template requires BaseDimension && BaseDimension -struct exp_less : base_dimension_less {}; +struct exponent_less : base_dimension_less {}; -// exp_invert +// exponent_invert namespace detail { template -constexpr exponent exp_invert_impl(exponent); +constexpr exponent exponent_invert_impl(exponent); } // namespace detail template -using exp_invert = decltype(detail::exp_invert_impl(E())); +using exponent_invert = decltype(detail::exponent_invert_impl(E())); -// exp_multiply +// exponent_multiply namespace detail { template -struct exp_multiply_impl { +struct exponent_multiply_impl { static constexpr ratio r = ratio(E::num, E::den) * ratio(Num, Den); using type = exponent; }; @@ -77,9 +77,9 @@ struct exp_multiply_impl { } // namespace detail template -using exp_multiply = TYPENAME detail::exp_multiply_impl::type; +using exponent_multiply = TYPENAME detail::exponent_multiply_impl::type; template -struct exp_list {}; +struct exponent_list {}; } // namespace units diff --git a/test/metabench/make_dimension/dimension_concepts_all.h b/test/metabench/make_dimension/dimension_concepts_all.h index e23162e9..0207f274 100644 --- a/test/metabench/make_dimension/dimension_concepts_all.h +++ b/test/metabench/make_dimension/dimension_concepts_all.h @@ -84,21 +84,21 @@ namespace units { // exp_dim_id_less template - struct exp_less : base_dimension_less { + struct exponent_less : base_dimension_less { }; - // exp_invert + // exponent_invert template - struct exp_invert; + struct exponent_invert; template - struct exp_invert> { + struct exponent_invert> { using type = exponent; }; template - using exp_invert_t = exp_invert::type; + using exponent_invert_t = exponent_invert::type; // dimension @@ -128,7 +128,7 @@ namespace units { struct dim_invert; template - struct dim_invert> : std::type_identity...>>> {}; + struct dim_invert> : std::type_identity...>>> {}; template using dim_invert_t = dim_invert::type; @@ -173,7 +173,7 @@ namespace units { template struct make_dimension { - using type = detail::dim_consolidate_t, exp_less>>; + using type = detail::dim_consolidate_t, exponent_less>>; }; template @@ -181,7 +181,7 @@ namespace units { template struct merge_dimension { - using type = detail::dim_consolidate_t>; + using type = detail::dim_consolidate_t>; }; template @@ -205,7 +205,7 @@ namespace units { template struct dimension_divide, dimension> - : dimension_multiply, dimension...>> { + : dimension_multiply, dimension...>> { }; template diff --git a/test/metabench/make_dimension/dimension_concepts_iface.h b/test/metabench/make_dimension/dimension_concepts_iface.h index c7cc4dac..a1acbf82 100644 --- a/test/metabench/make_dimension/dimension_concepts_iface.h +++ b/test/metabench/make_dimension/dimension_concepts_iface.h @@ -84,21 +84,21 @@ namespace units { // exp_dim_id_less template - struct exp_less : base_dimension_less { + struct exponent_less : base_dimension_less { }; - // exp_invert + // exponent_invert template - struct exp_invert; + struct exponent_invert; template - struct exp_invert> { + struct exponent_invert> { using type = exponent; }; template - using exp_invert_t = exp_invert::type; + using exponent_invert_t = exponent_invert::type; // dimension @@ -128,7 +128,7 @@ namespace units { struct dim_invert; template - struct dim_invert> : std::type_identity...>>> {}; + struct dim_invert> : std::type_identity...>>> {}; template using dim_invert_t = dim_invert::type; @@ -173,7 +173,7 @@ namespace units { template struct make_dimension { - using type = detail::dim_consolidate_t, exp_less>>; + using type = detail::dim_consolidate_t, exponent_less>>; }; template @@ -181,7 +181,7 @@ namespace units { template struct merge_dimension { - using type = detail::dim_consolidate_t>; + using type = detail::dim_consolidate_t>; }; template @@ -205,7 +205,7 @@ namespace units { template struct dimension_divide, dimension> - : dimension_multiply, dimension...>> { + : dimension_multiply, dimension...>> { }; template diff --git a/test/metabench/make_dimension/dimension_no_concepts.h b/test/metabench/make_dimension/dimension_no_concepts.h index da073eed..dfbf90c2 100644 --- a/test/metabench/make_dimension/dimension_no_concepts.h +++ b/test/metabench/make_dimension/dimension_no_concepts.h @@ -72,21 +72,21 @@ namespace units { // exp_dim_id_less template - struct exp_less : base_dimension_less { + struct exponent_less : base_dimension_less { }; - // exp_invert + // exponent_invert template - struct exp_invert; + struct exponent_invert; template - struct exp_invert> { + struct exponent_invert> { using type = exponent; }; template - using exp_invert_t = exp_invert::type; + using exponent_invert_t = exponent_invert::type; // dimension @@ -99,7 +99,7 @@ namespace units { struct dim_invert; template - struct dim_invert> : std::type_identity...>>> {}; + struct dim_invert> : std::type_identity...>>> {}; template using dim_invert_t = dim_invert::type; @@ -144,7 +144,7 @@ namespace units { template struct make_dimension { - using type = detail::dim_consolidate_t, exp_less>>; + using type = detail::dim_consolidate_t, exponent_less>>; }; template @@ -152,7 +152,7 @@ namespace units { template struct merge_dimension { - using type = detail::dim_consolidate_t>; + using type = detail::dim_consolidate_t>; }; template @@ -176,7 +176,7 @@ namespace units { template struct dimension_divide, dimension> - : dimension_multiply, dimension...>> { + : dimension_multiply, dimension...>> { }; template diff --git a/test/unit_test/static/dimension_op_test.cpp b/test/unit_test/static/dimension_op_test.cpp index 94a27c0a..03a3decb 100644 --- a/test/unit_test/static/dimension_op_test.cpp +++ b/test/unit_test/static/dimension_op_test.cpp @@ -37,10 +37,10 @@ struct d2 : base_dimension<"d2", u2> {}; struct u3 : named_unit {}; struct d3 : base_dimension<"d3", u3> {}; -// exp_invert +// exponent_invert -static_assert(is_same_v>, units::exponent>); -static_assert(is_same_v>, units::exponent>); +static_assert(is_same_v>, units::exponent>); +static_assert(is_same_v>, units::exponent>); // dim_unpack @@ -53,14 +53,14 @@ using dim_unpack = TYPENAME detail::dim_unpack::type; template using derived_dim = detail::derived_dimension_base; -static_assert(is_same_v, exp_list<>>); -static_assert(is_same_v>, exp_list>>); -static_assert(is_same_v, units::exponent>, exp_list, units::exponent>>); +static_assert(is_same_v, exponent_list<>>); +static_assert(is_same_v>, exponent_list>>); +static_assert(is_same_v, units::exponent>, exponent_list, units::exponent>>); using dim1 = derived_dim>; using dim2 = derived_dim, units::exponent>; -static_assert(is_same_v, units::exponent>, exp_list, units::exponent>>); +static_assert(is_same_v, units::exponent>, exponent_list, units::exponent>>); static_assert(is_same_v, units::exponent, units::exponent>, - exp_list, units::exponent, units::exponent, units::exponent>>); + exponent_list, units::exponent, units::exponent, units::exponent>>); // dim_invert static_assert(is_same_v>>, d0>); diff --git a/test/unit_test/static/type_list_test.cpp b/test/unit_test/static/type_list_test.cpp index 6f8cf8d4..3f77fd4d 100644 --- a/test/unit_test/static/type_list_test.cpp +++ b/test/unit_test/static/type_list_test.cpp @@ -98,20 +98,20 @@ struct d0 : base_dimension<"d0", u0> {}; struct u1 : named_unit {}; struct d1 : base_dimension<"d1", u1> {}; -static_assert(is_same_v>, type_list>, exp_less>, +static_assert(is_same_v>, type_list>, exponent_less>, type_list, units::exponent>>); -static_assert(is_same_v>, type_list>, exp_less>, +static_assert(is_same_v>, type_list>, exponent_less>, type_list, units::exponent>>); // type_list_sort template -using exp_sort = type_list_sort; +using exp_sort = type_list_sort; -static_assert(is_same_v>>, exp_list>>); +static_assert(is_same_v>>, exponent_list>>); static_assert( - is_same_v, units::exponent>>, exp_list, units::exponent>>); + is_same_v, units::exponent>>, exponent_list, units::exponent>>); static_assert( - is_same_v, units::exponent>>, exp_list, units::exponent>>); + is_same_v, units::exponent>>, exponent_list, units::exponent>>); } // namespace