From ba38f4e03bc1c32f4c1fbe8cc79ffef4bb65973e Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 22 Apr 2024 20:30:50 -0400 Subject: [PATCH] xo-unit: refactor: basis_unit2 -> basis_unit --- .../unit/{basis_unit2.hpp => basis_unit.hpp} | 18 +++--- include/xo/unit/bpu2.hpp | 14 ++--- include/xo/unit/bpu_store.hpp | 4 +- utest/unit.test.cpp | 58 +++++++++---------- 4 files changed, 47 insertions(+), 47 deletions(-) rename include/xo/unit/{basis_unit2.hpp => basis_unit.hpp} (91%) diff --git a/include/xo/unit/basis_unit2.hpp b/include/xo/unit/basis_unit.hpp similarity index 91% rename from include/xo/unit/basis_unit2.hpp rename to include/xo/unit/basis_unit.hpp index bf103c3c..cf0eb6aa 100644 --- a/include/xo/unit/basis_unit2.hpp +++ b/include/xo/unit/basis_unit.hpp @@ -13,10 +13,10 @@ namespace xo { * * For example "3600 minutes" or "1e-6 grams" **/ - struct basis_unit2 { + struct basis_unit { public: - constexpr basis_unit2() = default; - constexpr basis_unit2(dim native_dim, const scalefactor_ratio_type & scalefactor) + constexpr basis_unit() = default; + constexpr basis_unit(dim native_dim, const scalefactor_ratio_type & scalefactor) : native_dim_{native_dim}, scalefactor_{scalefactor} {} @@ -29,7 +29,7 @@ namespace xo { scalefactor_); } - constexpr basis_unit2 & operator=(const basis_unit2 & x) = default; + constexpr basis_unit & operator=(const basis_unit & x) = default; /** @brief identifies a native unit, e.g. time (in seconds) **/ dim native_dim_ = dim::invalid; @@ -38,11 +38,11 @@ namespace xo { }; namespace bu2 { - constexpr basis_unit2 nanogram = basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000000000)); - constexpr basis_unit2 microgram = basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000000)); - constexpr basis_unit2 milligram = basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000)); - constexpr basis_unit2 gram = basis_unit2(dim::mass, scalefactor_ratio_type(1, 1)); - constexpr basis_unit2 kilogram = basis_unit2(dim::mass, scalefactor_ratio_type(1000, 1)); + constexpr basis_unit nanogram = basis_unit(dim::mass, scalefactor_ratio_type(1, 1000000000)); + constexpr basis_unit microgram = basis_unit(dim::mass, scalefactor_ratio_type(1, 1000000)); + constexpr basis_unit milligram = basis_unit(dim::mass, scalefactor_ratio_type(1, 1000)); + constexpr basis_unit gram = basis_unit(dim::mass, scalefactor_ratio_type(1, 1)); + constexpr basis_unit kilogram = basis_unit(dim::mass, scalefactor_ratio_type(1000, 1)); } namespace units { diff --git a/include/xo/unit/bpu2.hpp b/include/xo/unit/bpu2.hpp index cbd52bb2..4ec163a7 100644 --- a/include/xo/unit/bpu2.hpp +++ b/include/xo/unit/bpu2.hpp @@ -6,7 +6,7 @@ #pragma once #include "xo/indentlog/print/tag.hpp" -#include "basis_unit2.hpp" +#include "basis_unit.hpp" #include "dim_iostream.hpp" namespace xo { @@ -58,25 +58,25 @@ namespace xo { * native_bpu, ratio<-1,2>> represents unit of 1/sqrt(t) **/ template - struct bpu2 : basis_unit2 { + struct bpu2 : basis_unit { public: using ratio_int_type = Int; public: constexpr bpu2() = default; - constexpr bpu2(const basis_unit2 & bu, + constexpr bpu2(const basis_unit & bu, const power_ratio_type & power) - : basis_unit2{bu}, + : basis_unit{bu}, power_{power} {} constexpr bpu2(dim native_dim, const scalefactor_ratio_type & scalefactor, const power_ratio_type & power) - : basis_unit2(native_dim, scalefactor), + : basis_unit(native_dim, scalefactor), power_{power} {} - static constexpr bpu2 unit_power(const basis_unit2 & bu) { + static constexpr bpu2 unit_power(const basis_unit & bu) { return bpu2(bu, power_ratio_type(1,1)); } @@ -107,7 +107,7 @@ namespace xo { }; template - constexpr auto make_unit_power(const basis_unit2 & bu) { + constexpr auto make_unit_power(const basis_unit & bu) { return bpu2::unit_power(bu); } diff --git a/include/xo/unit/bpu_store.hpp b/include/xo/unit/bpu_store.hpp index 6c2960de..26ef994c 100644 --- a/include/xo/unit/bpu_store.hpp +++ b/include/xo/unit/bpu_store.hpp @@ -77,14 +77,14 @@ namespace xo { template void bu_establish_abbrev_for() { this->bu_establish_abbrev - (basis_unit2(BasisDim, + (basis_unit(BasisDim, scalefactor_ratio_type(InnerScaleNum, InnerScaleDen)), units::scaled_native_unit2_abbrev_v); } /** @brief establish abbreviation @p abbrev for basis unit @p bu **/ - void bu_establish_abbrev(const basis_unit2 & bu, + void bu_establish_abbrev(const basis_unit & bu, const basis_unit2_abbrev_type & abbrev) { auto & bu_abbrev_v = bu_abbrev_vv_[static_cast(bu.native_dim())]; diff --git a/utest/unit.test.cpp b/utest/unit.test.cpp index 709ac5b7..715e1a8a 100644 --- a/utest/unit.test.cpp +++ b/utest/unit.test.cpp @@ -9,7 +9,7 @@ #include "xo/unit/bpu_store.hpp" #include "xo/unit/bpu2.hpp" #include "xo/unit/bpu2_iostream.hpp" -#include "xo/unit/basis_unit2.hpp" +#include "xo/unit/basis_unit.hpp" #include "xo/unit/native_unit.hpp" #include "xo/reflect/Reflect.hpp" //#include "xo/cxxutil/demangle.hpp" @@ -33,7 +33,7 @@ namespace xo { using xo::qty::scalefactor_ratio_type; using xo::qty::units::scaled_native_unit2_abbrev; using xo::qty::units::scaled_native_unit2_abbrev_v; - using xo::qty::basis_unit2; + using xo::qty::basis_unit; using xo::qty::abbrev::basis_unit2_abbrev;; using xo::qty::bpu2_abbrev_type; using xo::qty::abbrev::bpu2_abbrev; @@ -88,65 +88,65 @@ namespace xo { log && log("---------------------"); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000000000)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1, 1000000000)).abbrev() == basis_unit2_abbrev_type::from_chars("ng")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000000)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1, 1000000)).abbrev() == basis_unit2_abbrev_type::from_chars("ug")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1, 1000)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1, 1000)).abbrev() == basis_unit2_abbrev_type::from_chars("mg")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1, 1)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("g")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1000, 1)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("kg")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1000000, 1)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1000000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("t")); - static_assert(basis_unit2(dim::mass, scalefactor_ratio_type(1000000000, 1)).abbrev() + static_assert(basis_unit(dim::mass, scalefactor_ratio_type(1000000000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("kt")); log && log(xtag("distance", basis_unit2_abbrev(dim::distance, scalefactor_ratio_type(1, 1)))); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1, 1000000000)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1, 1000000000)).abbrev() == basis_unit2_abbrev_type::from_chars("nm")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1, 1000000)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1, 1000000)).abbrev() == basis_unit2_abbrev_type::from_chars("um")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1, 1000)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1, 1000)).abbrev() == basis_unit2_abbrev_type::from_chars("mm")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1, 1)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("m")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1000, 1)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("km")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1000000, 1)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1000000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("Mm")); - static_assert(basis_unit2(dim::distance, scalefactor_ratio_type(1000000000, 1)).abbrev() + static_assert(basis_unit(dim::distance, scalefactor_ratio_type(1000000000, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("Gm")); log && log(xtag("time", basis_unit2_abbrev(dim::time, scalefactor_ratio_type(1, 1)))); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(1, 1000000000)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(1, 1000000000)).abbrev() == basis_unit2_abbrev_type::from_chars("ns")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(1, 1000000)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(1, 1000000)).abbrev() == basis_unit2_abbrev_type::from_chars("us")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(1, 1000000)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(1, 1000000)).abbrev() == basis_unit2_abbrev_type::from_chars("us")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(1, 1000)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(1, 1000)).abbrev() == basis_unit2_abbrev_type::from_chars("ms")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(1, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(1, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("s")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(60, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(60, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("min")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("hr")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("dy")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(7*24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(7*24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("wk")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(30*24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(30*24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("mo")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(250*24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(250*24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("yr250")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(360*24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(360*24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("yr360")); - static_assert(basis_unit2(dim::time, scalefactor_ratio_type(365*24*3600, 1)).abbrev() + static_assert(basis_unit(dim::time, scalefactor_ratio_type(365*24*3600, 1)).abbrev() == basis_unit2_abbrev_type::from_chars("yr365")); log && log("---------------------");