mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-04 20:54:28 +02:00
feat: absolute
and relative
reference modifiers support added
This commit is contained in:
@@ -802,8 +802,8 @@ static_assert(
|
||||
|
||||
static_assert(quantity_point{42 * m}.quantity_from_zero() == 42 * m);
|
||||
static_assert(quantity_point{isq::height(42 * m)}.quantity_from_zero() == 42 * m);
|
||||
static_assert(quantity_point{20 * deg_C}.quantity_from_zero() == 20 * deg_C);
|
||||
static_assert(quantity_point{20. * deg_C}.in(deg_F).quantity_from_zero() == 68 * deg_F);
|
||||
static_assert(quantity_point{20 * relative(deg_C)}.quantity_from_zero() == 20 * relative(deg_C));
|
||||
static_assert(quantity_point{20. * relative(deg_C)}.in(deg_F).quantity_from_zero() == 68 * relative(deg_F));
|
||||
|
||||
static_assert((mean_sea_level + 42 * m).quantity_from_zero() == 42 * m);
|
||||
static_assert((ground_level + 42 * m).quantity_from_zero() == 84 * m);
|
||||
@@ -889,13 +889,13 @@ static_assert(std::is_same_v<std::remove_const_t<decltype(quantity_point{isq::he
|
||||
static_assert(quantity_point{isq::height(123 * m)}.unit == si::metre);
|
||||
static_assert(quantity_point{isq::height(123 * m)}.quantity_spec == isq::height);
|
||||
|
||||
static_assert(std::is_same_v<decltype(quantity_point{20 * deg_C})::rep, int>);
|
||||
static_assert(
|
||||
std::is_same_v<std::remove_const_t<decltype(quantity_point{20 * deg_C}.point_origin)>, struct si::ice_point>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype(quantity_point{20 * deg_C}.absolute_point_origin)>,
|
||||
static_assert(std::is_same_v<decltype(quantity_point{20 * relative(deg_C)})::rep, int>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype(quantity_point{20 * relative(deg_C)}.point_origin)>,
|
||||
struct si::ice_point>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype(quantity_point{20 * relative(deg_C)}.absolute_point_origin)>,
|
||||
struct si::absolute_zero>);
|
||||
static_assert(quantity_point{20 * deg_C}.unit == si::degree_Celsius);
|
||||
static_assert(quantity_point{20 * deg_C}.quantity_spec == kind_of<isq::thermodynamic_temperature>);
|
||||
static_assert(quantity_point{20 * relative(deg_C)}.unit == si::degree_Celsius);
|
||||
static_assert(quantity_point{20 * relative(deg_C)}.quantity_spec == kind_of<isq::thermodynamic_temperature>);
|
||||
|
||||
#if MP_UNITS_HOSTED
|
||||
using namespace std::chrono_literals;
|
||||
|
@@ -126,6 +126,7 @@ static_assert(isq::mass(1 * lb_t) == isq::mass(12 * oz_t));
|
||||
static_assert(isq::pressure(1'000 * inHg) == isq::pressure(3'386'389 * si::pascal));
|
||||
|
||||
// Temperature
|
||||
static_assert(isq::thermodynamic_temperature(9 * deg_F) == isq::thermodynamic_temperature(5 * si::degree_Celsius));
|
||||
static_assert(isq::thermodynamic_temperature(9 * relative(deg_F)) ==
|
||||
isq::thermodynamic_temperature(5 * relative(si::degree_Celsius)));
|
||||
|
||||
} // namespace
|
||||
|
Reference in New Issue
Block a user