mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-06 13:44:27 +02:00
ci: pre-commit related changes
This commit is contained in:
@@ -30,7 +30,7 @@ add_library(unit_tests_static_truncating quantity_test.cpp)
|
||||
|
||||
target_link_libraries(unit_tests_static_truncating PRIVATE mp-units::mp-units)
|
||||
target_compile_options(
|
||||
unit_tests_static_truncating PRIVATE $<IF:$<CXX_COMPILER_ID:MSVC>,/wd4242 /wd4244,-Wno-conversion>
|
||||
unit_tests_static_truncating PRIVATE $<IF:$<CXX_COMPILER_ID:MSVC>,/wd4242 /wd4244,-Wno-conversion>
|
||||
)
|
||||
add_library(
|
||||
unit_tests_static
|
||||
|
@@ -222,7 +222,7 @@ concept invalid_member_operations = requires(length<metre, Rep> lhs) {
|
||||
requires !requires(length<metre, int> rhs) { lhs >= rhs; };
|
||||
|
||||
requires !requires(std::ostream os) { os << lhs; };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_member_operations<min_expl<>>);
|
||||
|
||||
// equality
|
||||
|
@@ -100,7 +100,6 @@ 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_pound_force_per_second>() ==
|
||||
basic_symbol_text("ft⋅lbf/s", "ft lbf/s"));
|
||||
static_assert(detail::unit_text<dim_power, foot_pound_force_per_second>() == basic_symbol_text("ft⋅lbf/s", "ft lbf/s"));
|
||||
|
||||
} // namespace
|
||||
|
@@ -92,7 +92,7 @@ concept invalid_power_v = requires {
|
||||
requires !requires { typename P<123, 1>; };
|
||||
requires !requires { typename P<123, 1, 1>; };
|
||||
requires !requires { typename P<123, 5, 5>; };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_power_v<power_v>);
|
||||
|
||||
// get_base
|
||||
|
@@ -110,8 +110,7 @@ static_assert(sizeof(width<metre, double>) == sizeof(double));
|
||||
static_assert(sizeof(height<metre, short>) == sizeof(short));
|
||||
|
||||
template<typename Width>
|
||||
concept invalid_types =
|
||||
requires {
|
||||
concept invalid_types = requires {
|
||||
requires !requires { typename quantity_kind<Width, second, int>; }; // unit of a different dimension
|
||||
requires !requires { typename quantity_kind<Width, metre, length<metre>>; }; // quantity used as Rep
|
||||
requires !requires { // quantity point used as Rep
|
||||
@@ -120,7 +119,7 @@ concept invalid_types =
|
||||
requires !requires { typename quantity_kind<Width, metre, width<metre>>; }; // quantity kind used as Rep
|
||||
requires !requires { typename quantity_kind<metre, Width, double>; }; // reordered arguments
|
||||
requires !requires { typename quantity_kind<metre, double, Width>; }; // reordered arguments
|
||||
};
|
||||
};
|
||||
static_assert(invalid_types<width_kind>);
|
||||
|
||||
static_assert(std::is_trivially_default_constructible_v<width<metre>>);
|
||||
@@ -442,10 +441,9 @@ concept invalid_compound_assignments_ = requires(quantity_kind<K, U, int> w, Qx
|
||||
requires !requires { w *= q; };
|
||||
requires !requires { w /= q; };
|
||||
requires !requires { w %= q; };
|
||||
};
|
||||
};
|
||||
template<typename Width>
|
||||
concept invalid_compound_assignments =
|
||||
requires(quantity_kind<Width, metre, int> w, height<metre, int> h) {
|
||||
concept invalid_compound_assignments = requires(quantity_kind<Width, metre, int> w, height<metre, int> h) {
|
||||
requires !requires { w += 1; };
|
||||
requires !requires { w -= 1; };
|
||||
requires !requires { w *= 1 * (km / m); };
|
||||
@@ -475,7 +473,7 @@ concept invalid_compound_assignments =
|
||||
requires invalid_compound_assignments_<Width, metre, horizontal_area<square_metre, int>>;
|
||||
requires invalid_compound_assignments_<Width, metre, quantity_point<dynamic_origin<dim_length>, metre, int>>;
|
||||
requires invalid_compound_assignments_<Width, metre, std::chrono::seconds>;
|
||||
};
|
||||
};
|
||||
static_assert(invalid_compound_assignments<width_kind>);
|
||||
static_assert(invalid_compound_assignments_<time_kind, second, std::chrono::seconds>);
|
||||
|
||||
@@ -745,7 +743,7 @@ concept invalid_equality = requires(quantity_kind<Width, metre, int> w) {
|
||||
requires !requires { w == quantity_point(1.0 * mm); };
|
||||
requires !requires { w != quantity_point(quantity(1)); };
|
||||
requires !requires { w == quantity_point(dimensionless<percent>(1.0)); };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_equality<width_kind>);
|
||||
|
||||
static_assert(width<metre, int>(1 * m) < width<metre, int>(2 * m));
|
||||
@@ -775,7 +773,7 @@ concept invalid_relational = requires(quantity_kind<Width, metre, int> w) {
|
||||
requires !requires { w >= quantity_point(1.0 * mm); };
|
||||
requires !requires { w > quantity_point(quantity(1)); };
|
||||
requires !requires { w <=> quantity_point(dimensionless<percent>(1.0)); };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_relational<width_kind>);
|
||||
|
||||
|
||||
@@ -814,8 +812,7 @@ static_assert(same(quantity_kind_cast<length<centimetre, int>>(width<metre, doub
|
||||
static_assert(same(quantity_kind_cast<length<centimetre, int>>(width<cgs::centimetre, int>(1 * cgs_cm)), width<cgs::centimetre, int>(1 * cgs_cm)));
|
||||
// clang-format on
|
||||
template<typename Width>
|
||||
concept invalid_cast =
|
||||
requires {
|
||||
concept invalid_cast = requires {
|
||||
requires !requires { quantity_kind_cast<apples<one, int>>(quantity_kind<Width, metre, int>(1 * m)); };
|
||||
requires !requires {
|
||||
quantity_kind_cast<horizontal_area<square_metre, int>>(quantity_kind<Width, metre, int>(1 * m));
|
||||
@@ -837,14 +834,13 @@ concept invalid_cast =
|
||||
requires !requires { quantity_kind_cast<square_metre>(quantity_kind<Width, metre, int>(1 * m)); };
|
||||
requires !requires { quantity_kind_cast<second>(quantity_kind<Width, metre, int>(1 * m)); };
|
||||
requires !requires {
|
||||
quantity_kind_cast<quantity_point<dynamic_origin<dim_length>, metre, int>>(
|
||||
quantity_kind<Width, metre, int>(1 * m));
|
||||
quantity_kind_cast<quantity_point<dynamic_origin<dim_length>, metre, int>>(quantity_kind<Width, metre, int>(1 * m));
|
||||
};
|
||||
requires !requires {
|
||||
quantity_kind_cast<quantity_point<dynamic_origin<dimension_one>, one, int>>(
|
||||
quantity_kind<Width, metre, int>(1 * m));
|
||||
};
|
||||
};
|
||||
};
|
||||
static_assert(invalid_cast<width_kind>);
|
||||
|
||||
|
||||
|
@@ -150,8 +150,7 @@ static_assert(sizeof(abscissa<metre, double>) == sizeof(double));
|
||||
static_assert(sizeof(ordinate<metre, short>) == sizeof(short));
|
||||
|
||||
template<typename Width, typename Abscissa>
|
||||
concept invalid_types =
|
||||
requires {
|
||||
concept invalid_types = requires {
|
||||
requires !requires { typename quantity_point_kind<Width, metre, int>; }; // width_kind is not a point kind
|
||||
requires !requires { typename quantity_point_kind<Abscissa, second, int>; }; // unit of a different dimension
|
||||
requires !requires { typename quantity_point_kind<Abscissa, metre, length<metre>>; }; // quantity used as Rep
|
||||
@@ -164,7 +163,7 @@ concept invalid_types =
|
||||
}; // quantity point kind used as Rep
|
||||
requires !requires { typename quantity_point_kind<metre, Abscissa, double>; }; // reordered arguments
|
||||
requires !requires { typename quantity_point_kind<metre, double, Abscissa>; }; // reordered arguments
|
||||
};
|
||||
};
|
||||
static_assert(invalid_types<width_kind, abscissa_kind>);
|
||||
|
||||
static_assert(std::is_trivially_default_constructible_v<abscissa<metre>>);
|
||||
@@ -476,10 +475,9 @@ template<typename PK, typename U, typename Qx>
|
||||
concept invalid_compound_assignments_ = requires(quantity_point_kind<PK, U, int> x, Qx q) {
|
||||
requires !requires { x += q; };
|
||||
requires !requires { x -= q; };
|
||||
};
|
||||
};
|
||||
template<typename Abscissa>
|
||||
concept invalid_compound_assignments =
|
||||
requires(quantity_point_kind<Abscissa, metre, int> x) {
|
||||
concept invalid_compound_assignments = requires(quantity_point_kind<Abscissa, metre, int> x) {
|
||||
requires !requires { x += 1; };
|
||||
requires !requires { x -= 1; };
|
||||
requires invalid_compound_assignments_<Abscissa, metre, length<metre, int>>;
|
||||
@@ -487,7 +485,7 @@ concept invalid_compound_assignments =
|
||||
requires invalid_compound_assignments_<Abscissa, metre, rate_of_climb<metre_per_second, int>>;
|
||||
requires invalid_compound_assignments_<Abscissa, metre, quantity_point<dynamic_origin<dim_length>, metre, int>>;
|
||||
requires invalid_compound_assignments_<Abscissa, metre, std::chrono::seconds>;
|
||||
};
|
||||
};
|
||||
static_assert(invalid_compound_assignments<abscissa_kind>);
|
||||
static_assert(invalid_compound_assignments_<time_point_kind, second, std::chrono::seconds>);
|
||||
#if __cpp_lib_chrono >= 201907L
|
||||
@@ -583,7 +581,7 @@ concept invalid_equality = requires(quantity_point_kind<abscissa_kind, metre, In
|
||||
requires !requires { x != quantity_point_kind(cgs_width<metre, int>(1 * m)); };
|
||||
requires !requires { x == ordinate<metre, int>(1 * m); };
|
||||
requires !requires { screen_si_width<metre, Int>{} != screen_si_cgs_width<metre, Int>{}; };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_equality<int>);
|
||||
|
||||
// clang-format off
|
||||
@@ -599,8 +597,7 @@ static_assert(std::three_way_comparable_with<abscissa<cgs::centimetre, int>, abs
|
||||
static_assert(std::three_way_comparable_with<abscissa<metre>, abscissa<cgs::centimetre>>);
|
||||
// clang-format on
|
||||
template<typename Int>
|
||||
concept invalid_relational =
|
||||
requires(quantity_point_kind<abscissa_kind, metre, Int> x, Int i) {
|
||||
concept invalid_relational = requires(quantity_point_kind<abscissa_kind, metre, Int> x, Int i) {
|
||||
requires !requires { x < 1; };
|
||||
requires !requires { x <= 1.0; };
|
||||
requires !requires { x >= 1 * m; };
|
||||
@@ -620,7 +617,7 @@ concept invalid_relational =
|
||||
requires !requires { x <= quantity_point_kind(cgs_width<metre, int>(1 * m)); };
|
||||
requires !requires { x >= ordinate<metre, int>(1 * m); };
|
||||
requires !requires { screen_si_width<metre, Int>{} > screen_si_cgs_width<metre, Int>{}; };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_relational<int>);
|
||||
|
||||
|
||||
@@ -672,8 +669,7 @@ static_assert(comp(quantity_point_kind_cast<length<centimetre, int>>(abscissa<cg
|
||||
static_assert(same(quantity_point_kind_cast<screen_si_cgs_width<metre, int>>(screen_si_width<metre, int>(1 * m)), screen_si_cgs_width<metre, int>(1 * m)));
|
||||
// clang-format on
|
||||
template<typename Int>
|
||||
concept invalid_cast =
|
||||
requires(Int i) {
|
||||
concept invalid_cast = requires(Int i) {
|
||||
requires !requires { quantity_point_kind_cast<apples<one, Int>>(abscissa<metre, Int>(i * m)); };
|
||||
requires !requires { quantity_point_kind_cast<rate_of_climb<metre_per_second, Int>>(abscissa<metre, Int>(i * m)); };
|
||||
requires !requires { quantity_point_kind_cast<apple>(abscissa<metre, Int>(i * m)); };
|
||||
@@ -689,18 +685,16 @@ concept invalid_cast =
|
||||
requires !requires { quantity_point_kind_cast<square_metre>(abscissa<metre, Int>(i * m)); };
|
||||
requires !requires { quantity_point_kind_cast<second>(abscissa<metre, Int>(i * m)); };
|
||||
requires !requires {
|
||||
quantity_point_kind_cast<quantity_point<dynamic_origin<dim_length>, metre, Int>>(
|
||||
abscissa<metre, Int>(i * m));
|
||||
quantity_point_kind_cast<quantity_point<dynamic_origin<dim_length>, metre, Int>>(abscissa<metre, Int>(i * m));
|
||||
};
|
||||
requires !requires {
|
||||
quantity_point_kind_cast<quantity_point<dynamic_origin<dim_one>, one, Int>>(
|
||||
abscissa<metre, Int>(i * m));
|
||||
quantity_point_kind_cast<quantity_point<dynamic_origin<dim_one>, one, Int>>(abscissa<metre, Int>(i * m));
|
||||
};
|
||||
requires !requires {
|
||||
quantity_point_kind_cast<quantity_point<dynamic_origin<dim_length>, metre, Int>>(
|
||||
screen_si_width<metre, Int>(i * m));
|
||||
};
|
||||
};
|
||||
};
|
||||
static_assert(invalid_cast<int>);
|
||||
|
||||
|
||||
|
@@ -46,22 +46,20 @@ struct sea_level_origin : point_origin<dim_length> {};
|
||||
// class invariants
|
||||
|
||||
template<typename DimLength>
|
||||
concept invalid_types =
|
||||
requires {
|
||||
concept invalid_types = requires {
|
||||
// unit of a different dimension:
|
||||
requires !requires { typename quantity_point<dynamic_origin<DimLength>, second, int>; };
|
||||
// quantity used as Rep:
|
||||
requires !requires { typename quantity_point<dynamic_origin<DimLength>, metre, quantity<DimLength, metre, int>>; };
|
||||
// quantity point used as Rep:
|
||||
requires !requires {
|
||||
typename quantity_point<dynamic_origin<DimLength>, metre,
|
||||
quantity_point<dynamic_origin<DimLength>, metre, int>>;
|
||||
typename quantity_point<dynamic_origin<DimLength>, metre, quantity_point<dynamic_origin<DimLength>, metre, int>>;
|
||||
};
|
||||
// reordered arguments:
|
||||
requires !requires { typename quantity_point<metre, dynamic_origin<DimLength>, double>; };
|
||||
// dimension used as origin:
|
||||
requires !requires { typename quantity_point<DimLength, second, int>; };
|
||||
};
|
||||
};
|
||||
|
||||
static_assert(invalid_types<dim_length>);
|
||||
|
||||
@@ -239,7 +237,7 @@ concept invalid_comparisons = requires(quantity_point<dynamic_origin<dim_length>
|
||||
quantity_point<sea_level_origin, metre, Int> rhs) {
|
||||
requires !requires { lhs == rhs; };
|
||||
requires !requires { lhs < rhs; };
|
||||
};
|
||||
};
|
||||
static_assert(invalid_comparisons<int>);
|
||||
|
||||
// alias units
|
||||
@@ -295,8 +293,7 @@ static_assert(
|
||||
quantity_point_cast<dim_speed, kilometre_per_hour>(quantity_point(2000.0_q_m / 3600.0_q_s)).relative().number() == 2);
|
||||
|
||||
template<typename Int>
|
||||
concept invalid_cast =
|
||||
requires(Int i) {
|
||||
concept invalid_cast = requires(Int i) {
|
||||
requires !requires {
|
||||
quantity_point_cast<quantity_point<dynamic_origin<dim_time>, second, Int>>(quantity_point(i * m));
|
||||
};
|
||||
@@ -304,7 +301,7 @@ concept invalid_cast =
|
||||
quantity_point_cast<quantity_point<dynamic_origin<dim_length>, metre, Int>>(
|
||||
quantity_point<sea_level_origin, metre, Int>(i * m));
|
||||
};
|
||||
};
|
||||
};
|
||||
static_assert(invalid_cast<int>);
|
||||
|
||||
// time
|
||||
|
Reference in New Issue
Block a user