Merge branch 'master' into chiphogg/switch-to-mag

This commit is contained in:
Chip Hogg committed 2022-06-15 20:50:30 +00:00
commit ef9e6522ca
30 files changed
+391 -116

No files matched your search

+7 -7
View File
@@ -318,7 +318,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()); }
@@ -330,7 +330,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]")
const auto q = 2._q_s * si::cgs::length<si::cgs::centimetre>(2) * si::cgs::mass<si::cgs::gram>(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()); }
@@ -343,7 +343,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()); }
@@ -379,7 +379,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]")
const auto q = 2._q_s * si::cgs::length<si::metre>(2) * si::cgs::mass<si::kilogram>(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()); }
@@ -404,7 +404,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()); }
@@ -416,7 +416,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()); }
@@ -428,7 +428,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()); }
+6 -6
View File
@@ -167,7 +167,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");
}
@@ -244,7 +244,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");
}
@@ -252,19 +252,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");
}
@@ -284,7 +284,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")
{
+4 -4
View File
@@ -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<dim_energy, foot_poundal>() == basic_symbol_text("ft ⋅ pdl", "ft pdl"));
static_assert(detail::unit_text<dim_energy, foot_pound_force>() == basic_symbol_text("ft ⋅ lbf", "ft lbf"));
static_assert(detail::unit_text<dim_energy, foot_poundal>() == basic_symbol_text("ft⋅pdl", "ft pdl"));
static_assert(detail::unit_text<dim_energy, foot_pound_force>() == 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<dim_power, foot_poundal_per_second>() == basic_symbol_text("ft ⋅ pdl/s", "ft pdl/s"));
static_assert(detail::unit_text<dim_power, foot_poundal_per_second>() == basic_symbol_text("ft⋅pdl/s", "ft pdl/s"));
static_assert(detail::unit_text<dim_power, foot_pound_force_per_second>() ==
basic_symbol_text("ft ⋅ lbf/s", "ft lbf/s"));
basic_symbol_text("ft⋅lbf/s", "ft lbf/s"));
} // namespace
+4 -2
View File
@@ -288,8 +288,10 @@ static_assert(get_length_derived_quantity() == 1_q_m);
/////////
#if UNITS_COMP_GCC >= 11 || UNITS_COMP_CLANG > 15
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123))::rep, int>);
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123.))::rep, double>);
static_assert(std::is_same_v<decltype(aliases::isq::si::m(123))::rep, int>);
static_assert(std::is_same_v<decltype(aliases::isq::si::m(123.))::rep, double>);
static_assert(
std::is_same_v<decltype(aliases::isq::si::m3(aliases::isq::si::m2{2} * aliases::isq::si::m{3}))::rep, int>);
#endif
static_assert(is_same_v<decltype(quantity{length<metre, int>(123)}), length<metre, int>>);
+9 -3
View File
@@ -239,6 +239,12 @@ static_assert(gray::symbol == "Gy");
static_assert(milligray::symbol == "mGy");
static_assert(kilogray::symbol == "kGy");
// luminous flux
static_assert(683_q_lm == 1_q_W);
static_assert(lumen::symbol == "lm");
/* ************** DERIVED DIMENSIONS IN TERMS OF BASE UNITS **************** */
// speed
@@ -334,7 +340,7 @@ static_assert(detail::unit_text<dim_luminance, candela_per_metre_sq>() == basic_
// dynamic viscosity
static_assert(1_q_Pa_s == 1_q_N * 1_q_s / 1_q_m2);
static_assert(detail::unit_text<dim_dynamic_viscosity, pascal_second>() == basic_symbol_text("Pa ⋅ s", "Pa s"));
static_assert(detail::unit_text<dim_dynamic_viscosity, pascal_second>() == basic_symbol_text("Pa⋅s", "Pa s"));
// [specific|molar] heath capacity
@@ -344,13 +350,13 @@ static_assert(1_q_J_per_mol_K == 1_q_J_per_K / 1_q_mol);
static_assert(detail::unit_text<dim_heat_capacity, joule_per_kelvin>() == "J/K");
static_assert(detail::unit_text<dim_specific_heat_capacity, joule_per_kilogram_kelvin>() ==
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<dim_thermal_conductivity, watt_per_metre_kelvin>() ==
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