diff --git a/docs/framework/units.rst b/docs/framework/units.rst index ef619c8e..571be15f 100644 --- a/docs/framework/units.rst +++ b/docs/framework/units.rst @@ -303,15 +303,15 @@ will result in a different unnamed unit symbol: struct dim_momentum : derived_dimension, exponent, - exponent> {}; // kg ⋅ m/s + exponent> {}; // kg⋅m/s struct dim_momentum : derived_dimension, exponent, - exponent> {}; // m ⋅ kg/s + exponent> {}; // m⋅kg/s struct dim_momentum : derived_dimension, exponent, - exponent> {}; // 1/s ⋅ m ⋅ kg + exponent> {}; // 1/s⋅m⋅kg where ``kilogram_metre_per_second`` is defined as:: @@ -325,7 +325,7 @@ However, the easiest way to define momentum is just to use the struct dim_momentum : derived_dimension, - exponent> {}; // kg ⋅ m/s + exponent> {}; // kg⋅m/s In such a case the library will do its magic and will automatically unpack a provided derived dimension to its base dimensions in order to diff --git a/src/core/include/units/bits/derived_symbol_text.h b/src/core/include/units/bits/derived_symbol_text.h index 10a08de3..2d358725 100644 --- a/src/core/include/units/bits/derived_symbol_text.h +++ b/src/core/include/units/bits/derived_symbol_text.h @@ -42,7 +42,7 @@ constexpr auto operator_text() if constexpr (Divide && NegativeExpCount == 1) { return basic_fixed_string("/"); } else { - return basic_symbol_text(" ⋅ ", " "); + return basic_symbol_text("⋅", " "); } } } diff --git a/test/unit_test/runtime/fmt_test.cpp b/test/unit_test/runtime/fmt_test.cpp index 4e24c5cd..70c8c73f 100644 --- a/test/unit_test/runtime/fmt_test.cpp +++ b/test/unit_test/runtime/fmt_test.cpp @@ -317,7 +317,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 2_q_s * 2_q_m * 2_q_kg; os << q; - SECTION("iostream") { CHECK(os.str() == "8 m ⋅ kg ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "8 m⋅kg⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -329,7 +329,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 2._q_s * si::cgs::length(2) * si::cgs::mass(2); os << q; - SECTION("iostream") { CHECK(os.str() == "8 cm ⋅ g ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "8 cm⋅g⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -342,7 +342,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 4_q_km * 2_q_s; os << q; - SECTION("iostream") { CHECK(os.str() == "8 × 10³ m ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "8 × 10³ m⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -378,7 +378,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 2._q_s * si::cgs::length(2) * si::cgs::mass(2); os << q; - SECTION("iostream") { CHECK(os.str() == "8 × 10⁵ cm ⋅ g ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "8 × 10⁵ cm⋅g⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -390,7 +390,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 60_q_min / 2_q_km; os << q; - SECTION("iostream") { CHECK(os.str() == "30 [6 × 10⁻²] 1/m ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "30 [6 × 10⁻²] 1/m⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -402,7 +402,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 4_q_m * 2_q_s; os << q; - SECTION("iostream") { CHECK(os.str() == "8 m ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "8 m⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -414,7 +414,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 4_q_m * 2_q_s * 2_q_s; os << q; - SECTION("iostream") { CHECK(os.str() == "16 m ⋅ s²"); } + SECTION("iostream") { CHECK(os.str() == "16 m⋅s²"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } @@ -426,7 +426,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") const auto q = 8_q_s / 2_q_m / 2_q_m; os << q; - SECTION("iostream") { CHECK(os.str() == "2 1/m² ⋅ s"); } + SECTION("iostream") { CHECK(os.str() == "2 1/m²⋅s"); } SECTION("fmt with default format {} on a quantity") { CHECK(STD_FMT::format("{}", q) == os.str()); } diff --git a/test/unit_test/runtime/fmt_units_test.cpp b/test/unit_test/runtime/fmt_units_test.cpp index 8414e5a0..f862bffd 100644 --- a/test/unit_test/runtime/fmt_units_test.cpp +++ b/test/unit_test/runtime/fmt_units_test.cpp @@ -166,7 +166,7 @@ TEST_CASE("std::format on synthesized unit symbols", "[text][fmt]") SECTION("momentum") { - CHECK(STD_FMT::format("{}", 1_q_kg_m_per_s) == "1 kg ⋅ m/s"); + CHECK(STD_FMT::format("{}", 1_q_kg_m_per_s) == "1 kg⋅m/s"); CHECK(STD_FMT::format("{:%Q %Aq}", 1_q_kg_m_per_s) == "1 kg m/s"); } @@ -243,7 +243,7 @@ TEST_CASE("std::format on synthesized unit symbols", "[text][fmt]") SECTION("dynamic viscosity") { - CHECK(STD_FMT::format("{}", 1_q_Pa_s) == "1 Pa ⋅ s"); + CHECK(STD_FMT::format("{}", 1_q_Pa_s) == "1 Pa⋅s"); CHECK(STD_FMT::format("{:%Q %Aq}", 1_q_Pa_s) == "1 Pa s"); } @@ -251,19 +251,19 @@ TEST_CASE("std::format on synthesized unit symbols", "[text][fmt]") SECTION("specific heat capacity") { - CHECK(STD_FMT::format("{}", 1_q_J_per_kg_K) == "1 J ⋅ K⁻¹ ⋅ kg⁻¹"); + CHECK(STD_FMT::format("{}", 1_q_J_per_kg_K) == "1 J⋅K⁻¹⋅kg⁻¹"); CHECK(STD_FMT::format("{:%Q %Aq}", 1_q_J_per_kg_K) == "1 J K^-1 kg^-1"); } SECTION("molar heath capacity") { - CHECK(STD_FMT::format("{}", 1_q_J_per_mol_K) == "1 J ⋅ K⁻¹ ⋅ mol⁻¹"); + CHECK(STD_FMT::format("{}", 1_q_J_per_mol_K) == "1 J⋅K⁻¹⋅mol⁻¹"); CHECK(STD_FMT::format("{:%Q %Aq}", 1_q_J_per_mol_K) == "1 J K^-1 mol^-1"); } SECTION("thermal conductivity") { - CHECK(STD_FMT::format("{}", 1_q_W_per_m_K) == "1 W ⋅ m⁻¹ ⋅ K⁻¹"); + CHECK(STD_FMT::format("{}", 1_q_W_per_m_K) == "1 W⋅m⁻¹⋅K⁻¹"); CHECK(STD_FMT::format("{:%Q %Aq}", 1_q_W_per_m_K) == "1 W m^-1 K^-1"); } @@ -283,7 +283,7 @@ TEST_CASE("std::format on synthesized unit symbols", "[text][fmt]") SECTION("molar energy") { CHECK(STD_FMT::format("{}", 1_q_J_per_mol) == "1 J/mol"); } - SECTION("torque") { CHECK(STD_FMT::format("{}", 1_q_N_m_per_rad) == "1 N ⋅ m/rad"); } + SECTION("torque") { CHECK(STD_FMT::format("{}", 1_q_N_m_per_rad) == "1 N⋅m/rad"); } SECTION("storage_capacity") { diff --git a/test/unit_test/static/fps_test.cpp b/test/unit_test/static/fps_test.cpp index 8f241525..c86961c6 100644 --- a/test/unit_test/static/fps_test.cpp +++ b/test/unit_test/static/fps_test.cpp @@ -88,8 +88,8 @@ static_assert(10_q_pdl * 10_q_ft == 100_q_ft_pdl); static_assert(100_q_ft_pdl / 10_q_ft == 10_q_pdl); static_assert(100_q_ft_pdl / 10_q_pdl == 10_q_ft); -static_assert(detail::unit_text() == basic_symbol_text("ft ⋅ pdl", "ft pdl")); -static_assert(detail::unit_text() == basic_symbol_text("ft ⋅ lbf", "ft lbf")); +static_assert(detail::unit_text() == basic_symbol_text("ft⋅pdl", "ft pdl")); +static_assert(detail::unit_text() == basic_symbol_text("ft⋅lbf", "ft lbf")); /* ************** DERIVED DIMENSIONS IN TERMS OF OTHER UNITS **************** */ @@ -99,8 +99,8 @@ static_assert(10_q_ft_pdl / 10_q_s == 1_q_ft_pdl_per_s); static_assert(1_q_ft_pdl_per_s * 10_q_s == 10_q_ft_pdl); static_assert(10_q_ft_pdl / 1_q_ft_pdl_per_s == 10_q_s); -static_assert(detail::unit_text() == basic_symbol_text("ft ⋅ pdl/s", "ft pdl/s")); +static_assert(detail::unit_text() == basic_symbol_text("ft⋅pdl/s", "ft pdl/s")); static_assert(detail::unit_text() == - basic_symbol_text("ft ⋅ lbf/s", "ft lbf/s")); + basic_symbol_text("ft⋅lbf/s", "ft lbf/s")); } // namespace diff --git a/test/unit_test/static/si_test.cpp b/test/unit_test/static/si_test.cpp index ff32ecc7..48a7d24e 100644 --- a/test/unit_test/static/si_test.cpp +++ b/test/unit_test/static/si_test.cpp @@ -340,7 +340,7 @@ static_assert(detail::unit_text() == basic_ // dynamic viscosity static_assert(1_q_Pa_s == 1_q_N * 1_q_s / 1_q_m2); -static_assert(detail::unit_text() == basic_symbol_text("Pa ⋅ s", "Pa s")); +static_assert(detail::unit_text() == basic_symbol_text("Pa⋅s", "Pa s")); // [specific|molar] heath capacity @@ -350,13 +350,13 @@ static_assert(1_q_J_per_mol_K == 1_q_J_per_K / 1_q_mol); static_assert(detail::unit_text() == "J/K"); static_assert(detail::unit_text() == - basic_symbol_text("J ⋅ K⁻¹ ⋅ kg⁻¹", "J K^-1 kg^-1")); + basic_symbol_text("J⋅K⁻¹⋅kg⁻¹", "J K^-1 kg^-1")); // thermal conductivity static_assert(20_q_W_per_m_K * 10_q_m * 300_q_K == 60'000_q_W); static_assert(detail::unit_text() == - basic_symbol_text("W ⋅ m⁻¹ ⋅ K⁻¹", "W m^-1 K^-1")); + basic_symbol_text("W⋅m⁻¹⋅K⁻¹", "W m^-1 K^-1")); // electric field strength