mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-29 18:07:16 +02:00
feat: 💥 delta
and absolute
construction helpers
This commit is contained in:
@ -801,12 +801,11 @@ static_assert(
|
||||
//////////////////////////////////
|
||||
|
||||
static_assert(quantity_point{42 * m}.quantity_from_zero() == 42 * m);
|
||||
static_assert((42 * absolute<m>).quantity_from_zero() == 42 * m);
|
||||
static_assert(quantity_point{isq::height(42 * m)}.quantity_from_zero() == 42 * m);
|
||||
static_assert(quantity_point{20 * delta<deg_C>}.quantity_from_zero() == 20 * delta<deg_C>);
|
||||
static_assert((20 * absolute<deg_C>).quantity_from_zero() == 20 * delta<deg_C>);
|
||||
static_assert(quantity_point{20. * delta<deg_C>}.in(deg_F).quantity_from_zero() == 68 * delta<deg_F>);
|
||||
static_assert((20. * absolute<deg_C>).in(deg_F).quantity_from_zero() == 68 * delta<deg_F>);
|
||||
static_assert(quantity_point{delta<deg_C>(20)}.quantity_from_zero() == delta<deg_C>(20));
|
||||
static_assert(quantity_point{delta<deg_C>(20.)}.in(deg_F).quantity_from_zero() == delta<deg_F>(68));
|
||||
static_assert(absolute<deg_C>(20).quantity_from_zero() == delta<deg_C>(20));
|
||||
static_assert(absolute<deg_C>(20.).in(deg_F).quantity_from_zero() == delta<deg_F>(68));
|
||||
|
||||
static_assert((mean_sea_level + 42 * m).quantity_from_zero() == 42 * m);
|
||||
static_assert((ground_level + 42 * m).quantity_from_zero() == 84 * m);
|
||||
@ -892,12 +891,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(20 * absolute<deg_C>)::rep, int>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype((20 * absolute<deg_C>).point_origin)>, struct si::ice_point>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype((20 * absolute<deg_C>).absolute_point_origin)>,
|
||||
static_assert(std::is_same_v<decltype(quantity_point{delta<deg_C>(20)})::rep, int>);
|
||||
static_assert(
|
||||
std::is_same_v<std::remove_const_t<decltype(quantity_point{delta<deg_C>(20)}.point_origin)>, struct si::ice_point>);
|
||||
static_assert(std::is_same_v<std::remove_const_t<decltype(quantity_point{delta<deg_C>(20)}.absolute_point_origin)>,
|
||||
struct si::absolute_zero>);
|
||||
static_assert((20 * absolute<deg_C>).unit == si::degree_Celsius);
|
||||
static_assert((20 * absolute<deg_C>).quantity_spec == kind_of<isq::thermodynamic_temperature>);
|
||||
static_assert(quantity_point{delta<deg_C>(20)}.unit == si::degree_Celsius);
|
||||
static_assert(quantity_point{delta<deg_C>(20)}.quantity_spec == kind_of<isq::thermodynamic_temperature>);
|
||||
|
||||
#if MP_UNITS_HOSTED
|
||||
using namespace std::chrono_literals;
|
||||
|
Reference in New Issue
Block a user