From 540bdce40b69d04548e707b52bf0f7c0fb5cee65 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 23 Apr 2024 00:31:27 -0400 Subject: [PATCH] xo-unit: refactor: scaled_unit2 -> scaled_unit --- include/xo/unit/Quantity2.hpp | 4 +-- .../{scaled_unit2.hpp => scaled_unit.hpp} | 27 +++++++++---------- include/xo/unit/scaled_unit_iostream.hpp | 4 +-- 3 files changed, 17 insertions(+), 18 deletions(-) rename include/xo/unit/{scaled_unit2.hpp => scaled_unit.hpp} (86%) diff --git a/include/xo/unit/Quantity2.hpp b/include/xo/unit/Quantity2.hpp index 7fe5748b..35bc9854 100644 --- a/include/xo/unit/Quantity2.hpp +++ b/include/xo/unit/Quantity2.hpp @@ -6,7 +6,7 @@ #pragma once #include "quantity2_concept.hpp" -#include "scaled_unit2.hpp" +#include "scaled_unit.hpp" #include "natural_unit.hpp" namespace xo { @@ -75,7 +75,7 @@ namespace xo { template inline constexpr Quantity2 - unit_qty(const scaled_unit2 & u) { + unit_qty(const scaled_unit & u) { return Quantity2 (u.outer_scale_exact_.template to() * ::sqrt(u.outer_scale_sq_), u.natural_unit_); diff --git a/include/xo/unit/scaled_unit2.hpp b/include/xo/unit/scaled_unit.hpp similarity index 86% rename from include/xo/unit/scaled_unit2.hpp rename to include/xo/unit/scaled_unit.hpp index 72b0c2d5..04e73c1a 100644 --- a/include/xo/unit/scaled_unit2.hpp +++ b/include/xo/unit/scaled_unit.hpp @@ -6,7 +6,6 @@ #pragma once #include "natural_unit.hpp" -//#include namespace xo { namespace qty { @@ -14,8 +13,8 @@ namespace xo { * @brief Represents the product sqrt(outer_scale_sq) * outer_scale_exact * nat_unit **/ template - struct scaled_unit2 { - constexpr scaled_unit2(const natural_unit & nat_unit, + struct scaled_unit { + constexpr scaled_unit(const natural_unit & nat_unit, ratio::ratio outer_scale_exact, double outer_scale_sq) : natural_unit_{nat_unit}, @@ -23,8 +22,8 @@ namespace xo { outer_scale_sq_{outer_scale_sq} {} - constexpr scaled_unit2 reciprocal() const { - return scaled_unit2(nu_reciprocal(natural_unit_, + constexpr scaled_unit reciprocal() const { + return scaled_unit(nu_reciprocal(natural_unit_, outer_scale_exact_.reciprocal(), 1.0 / outer_scale_sq_)); } @@ -37,7 +36,7 @@ namespace xo { namespace detail { template constexpr auto make_unit_rescale_result(const natural_unit & bpuv) { - return scaled_unit2(bpuv, + return scaled_unit(bpuv, ratio::ratio(1, 1), 1.0); } @@ -65,21 +64,21 @@ namespace xo { template constexpr - scaled_unit2 + scaled_unit nu_product(const natural_unit & lhs_bpu_array, const bpu & rhs_bpu) { natural_unit prod = lhs_bpu_array; auto rr = bpu_array_product_inplace(&prod, rhs_bpu); - return scaled_unit2(prod, + return scaled_unit(prod, rr.outer_scale_exact_, rr.outer_scale_sq_); }; template constexpr - scaled_unit2 + scaled_unit nu_product(const natural_unit & lhs_bpu_array, const natural_unit & rhs_bpu_array) { @@ -100,7 +99,7 @@ namespace xo { sfr.outer_scale_sq_ *= sfr2.outer_scale_sq_; } - return scaled_unit2(prod, + return scaled_unit(prod, sfr.outer_scale_exact_, sfr.outer_scale_sq_); } @@ -108,14 +107,14 @@ namespace xo { } template - inline constexpr scaled_unit2 - operator* (const scaled_unit2 & x_unit, - const scaled_unit2 & y_unit) + inline constexpr scaled_unit + operator* (const scaled_unit & x_unit, + const scaled_unit & y_unit) { auto rr = detail::nu_product(x_unit.natural_unit_, y_unit.natural_unit_); - return (scaled_unit2 + return (scaled_unit (rr.natural_unit_, rr.outer_scale_exact_ * x_unit.outer_scale_exact_ * y_unit.outer_scale_exact_, rr.outer_scale_sq_ * x_unit.outer_scale_sq_ * y_unit.outer_scale_sq_)); diff --git a/include/xo/unit/scaled_unit_iostream.hpp b/include/xo/unit/scaled_unit_iostream.hpp index 4d0ab1fe..a0167c9a 100644 --- a/include/xo/unit/scaled_unit_iostream.hpp +++ b/include/xo/unit/scaled_unit_iostream.hpp @@ -5,14 +5,14 @@ #pragma once -#include "scaled_unit2.hpp" +#include "scaled_unit.hpp" #include namespace xo { namespace qty { template inline std::ostream & - operator<<(std::ostream & os, const scaled_unit2 & x) { + operator<<(std::ostream & os, const scaled_unit & x) { os << "