From 684ef13d95bf85b4717f0bdbb37f793efe765d56 Mon Sep 17 00:00:00 2001 From: Frank Dischner Date: Tue, 18 Jan 2022 21:54:21 -0600 Subject: [PATCH 1/2] fix: derived_ratio calculation Fixes the ratio calculation for derived units when the base unit ratio is not one. --- src/core/include/units/bits/derived_unit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/include/units/bits/derived_unit.h b/src/core/include/units/bits/derived_unit.h index f65b2fdd..097a08c2 100644 --- a/src/core/include/units/bits/derived_unit.h +++ b/src/core/include/units/bits/derived_unit.h @@ -47,7 +47,7 @@ constexpr ratio inverse_if_negative(const ratio& r) template constexpr ratio derived_ratio(exponent_list) { - return (... * inverse_if_negative(pow(Us::ratio) / dimension_unit::ratio)); + return (... * inverse_if_negative(pow(Us::ratio / dimension_unit::ratio))); } template From 774dd916868d86969fb6f8b6be7ab5e1e4618dea Mon Sep 17 00:00:00 2001 From: Frank Dischner Date: Sun, 23 Jan 2022 21:44:53 -0600 Subject: [PATCH 2/2] Add tests for FPS cubic yard --- test/unit_test/static/fps_test.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/unit_test/static/fps_test.cpp b/test/unit_test/static/fps_test.cpp index 1eb7e541..74ddd60e 100644 --- a/test/unit_test/static/fps_test.cpp +++ b/test/unit_test/static/fps_test.cpp @@ -59,6 +59,10 @@ static_assert(100_q_ft2 / 10_q_ft == 10_q_ft); static_assert(detail::unit_text() == basic_symbol_text("ft²", "ft^2")); +// volume +static_assert(1_q_yd * 1_q_yd * 1_q_yd == 1_q_yd3); +static_assert(cubic_yard::ratio / cubic_foot::ratio == ratio(27)); + /* ************** DERIVED DIMENSIONS WITH NAMED UNITS **************** */ // acceleration