mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-31 02:47:16 +02:00
test: unit tests for creating a quantity from a volatile
variable
This commit is contained in:
@ -73,3 +73,9 @@ TEST_CASE("Issue 474 is fixed", "[conversion][radical]")
|
||||
REQUIRE(within_4_ulps(sqrt(val_issue_474).numerical_value_in(m / s),
|
||||
sqrt(val_issue_474.numerical_value_in(m * m / s / s))));
|
||||
}
|
||||
|
||||
TEST_CASE("Volatile representation type", "[volatile]")
|
||||
{
|
||||
volatile std::int16_t vint = 123;
|
||||
REQUIRE(quantity(vint * m).numerical_value_in(m) == 123);
|
||||
}
|
||||
|
@ -115,6 +115,10 @@ static_assert(quantity<isq::length[m]>::unit == si::metre);
|
||||
static_assert(is_same_v<quantity<isq::length[m]>::rep, double>);
|
||||
static_assert(is_same_v<quantity<isq::length[m], int>::rep, int>);
|
||||
|
||||
[[maybe_unused]] volatile std::int16_t vint = 123;
|
||||
static_assert(is_same_v<decltype(quantity(vint * m))::rep, std::int16_t>);
|
||||
static_assert(is_same_v<decltype(quantity(vint, m))::rep, std::int16_t>);
|
||||
|
||||
|
||||
////////////////////////////
|
||||
// static member functions
|
||||
|
Reference in New Issue
Block a user