forked from mpusz/mp-units
implementing units::ratio_add and tests
not yet used in src/include/units/bits/dim_consolidate.h because it breaks and cascades (due to new exponent we think)
This commit is contained in:
committed by
Mateusz Pusz
parent
dfb9042e9d
commit
0566cc631d
@@ -76,9 +76,22 @@
|
||||
static_assert(std::is_same_v<ratio_sqrt<ratio<0>>, ratio<0>>);
|
||||
static_assert(std::is_same_v<ratio_sqrt<ratio<1, 4>>, ratio<1, 2>>);
|
||||
|
||||
// // sqrt with exponents: TODO not working yet. Also not sure the non exponent version is accurate.
|
||||
// static_assert(std::is_same_v<ratio_sqrt<ratio<9, 1, 2>>, ratio<3, 1, 1>>);
|
||||
// static_assert(std::is_same_v<ratio_sqrt<ratio<4>>, ratio<2>>);
|
||||
// sqrt with exponents
|
||||
static_assert(std::is_same_v<ratio_sqrt<ratio<9, 1, 2>>, ratio<3, 1, 1>>);
|
||||
static_assert(std::is_same_v<ratio_sqrt<ratio<4>>, ratio<2>>);
|
||||
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<1, 2, 0>, units::ratio<1, 3, 0>>, units::ratio<5, 6, 0>>);
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<1, 2, 1>, units::ratio<1, 3, 1>>, units::ratio<5, 6, 1>>);
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<3, 8, 2>, units::ratio<2, 7, 2>>, units::ratio<37, 56, 2>>);
|
||||
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<3, 8, 2>, units::ratio<2, 7, 1>>, units::ratio<226, 56, 1>>);
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<2, 7, 1>, units::ratio<3, 8, 2>>, units::ratio<226, 56, 1>>);
|
||||
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<3, 8, -2>, units::ratio<2, 7, -1>>, units::ratio<181, 56, -2>>);
|
||||
static_assert(std::is_same_v<units::ratio_add<units::ratio<2, 7, -1>, units::ratio<3, 8, -2>>, units::ratio<181, 56, -2>>);
|
||||
|
||||
|
||||
|
||||
|
||||
// common_ratio
|
||||
// note use of ::type is required because template params are changed while stamping out template
|
||||
|
||||
Reference in New Issue
Block a user