mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-03 20:34:26 +02:00
style: core code reformatted with clang-format-16
This commit is contained in:
@@ -126,10 +126,8 @@ template<typename T>
|
|||||||
inline constexpr bool is_dimension_one = false;
|
inline constexpr bool is_dimension_one = false;
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline constexpr bool is_power_of_dim =
|
inline constexpr bool is_power_of_dim = requires {
|
||||||
requires {
|
requires is_specialization_of_power<T> && (BaseDimension<typename T::factor> || is_dimension_one<typename T::factor>);
|
||||||
requires is_specialization_of_power<T> &&
|
|
||||||
(BaseDimension<typename T::factor> || is_dimension_one<typename T::factor>);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
@@ -151,7 +151,7 @@ public:
|
|||||||
quantity(quantity&&) = default;
|
quantity(quantity&&) = default;
|
||||||
|
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
requires(safe_convertible_to_<std::remove_cvref_t<Value>, rep>)
|
requires safe_convertible_to_<std::remove_cvref_t<Value>, rep>
|
||||||
constexpr explicit(!detail::quantity_one<quantity>) quantity(Value&& v) : number_(std::forward<Value>(v))
|
constexpr explicit(!detail::quantity_one<quantity>) quantity(Value&& v) : number_(std::forward<Value>(v))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -162,7 +162,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<QuantityLike Q>
|
template<QuantityLike Q>
|
||||||
requires(quantity_convertible_to_<quantity_like_type<Q>, quantity>)
|
requires quantity_convertible_to_<quantity_like_type<Q>, quantity>
|
||||||
constexpr explicit quantity(const Q& q) : quantity(quantity_like_type<Q>(quantity_like_traits<Q>::number(q)))
|
constexpr explicit quantity(const Q& q) : quantity(quantity_like_type<Q>(quantity_like_traits<Q>::number(q)))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -196,7 +196,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] constexpr Quantity auto operator-() const
|
[[nodiscard]] constexpr Quantity auto operator-() const
|
||||||
requires(std::regular_invocable<std::negate<>, rep>)
|
requires std::regular_invocable<std::negate<>, rep>
|
||||||
{
|
{
|
||||||
using ret = quantity<R, decltype(-number())>;
|
using ret = quantity<R, decltype(-number())>;
|
||||||
return ret(-number());
|
return ret(-number());
|
||||||
@@ -397,7 +397,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<Representation Value>
|
template<Representation Value>
|
||||||
requires(invoke_result_convertible_to_<rep, std::multiplies<>, rep, const Value&>)
|
requires invoke_result_convertible_to_<rep, std::multiplies<>, rep, const Value&>
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator*(const quantity& q, const Value& v)
|
[[nodiscard]] friend constexpr Quantity auto operator*(const quantity& q, const Value& v)
|
||||||
{
|
{
|
||||||
using ret = quantity<R, std::invoke_result_t<std::multiplies<>, rep, Value>>;
|
using ret = quantity<R, std::invoke_result_t<std::multiplies<>, rep, Value>>;
|
||||||
@@ -405,7 +405,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<Representation Value>
|
template<Representation Value>
|
||||||
requires(invoke_result_convertible_to_<rep, std::multiplies<>, const Value&, rep>)
|
requires invoke_result_convertible_to_<rep, std::multiplies<>, const Value&, rep>
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator*(const Value& v, const quantity& q)
|
[[nodiscard]] friend constexpr Quantity auto operator*(const Value& v, const quantity& q)
|
||||||
{
|
{
|
||||||
using ret = quantity<R, std::invoke_result_t<std::multiplies<>, Value, rep>>;
|
using ret = quantity<R, std::invoke_result_t<std::multiplies<>, Value, rep>>;
|
||||||
@@ -413,7 +413,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
requires(!Quantity<Value>) && (invoke_result_convertible_to_<rep, std::divides<>, rep, const Value&>)
|
requires(!Quantity<Value>) && invoke_result_convertible_to_<rep, std::divides<>, rep, const Value&>
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator/(const quantity& q, const Value& v)
|
[[nodiscard]] friend constexpr Quantity auto operator/(const quantity& q, const Value& v)
|
||||||
{
|
{
|
||||||
gsl_ExpectsAudit(v != quantity_values<Value>::zero());
|
gsl_ExpectsAudit(v != quantity_values<Value>::zero());
|
||||||
@@ -422,15 +422,15 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
requires(!Quantity<Value>) && (invoke_result_convertible_to_<rep, std::divides<>, const Value&, rep>)
|
requires(!Quantity<Value>) && invoke_result_convertible_to_<rep, std::divides<>, const Value&, rep>
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator/(const Value& v, const quantity& q)
|
[[nodiscard]] friend constexpr Quantity auto operator/(const Value& v, const quantity& q)
|
||||||
{
|
{
|
||||||
return detail::make_quantity<dimension_one[::units::one] / reference>(v / q.number());
|
return detail::make_quantity<dimension_one[::units::one] / reference>(v / q.number());
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Value>
|
template<typename Value>
|
||||||
requires(!Quantity<Value>) && (!floating_point_<rep>) && (!floating_point_<Value>) &&
|
requires(!Quantity<Value>) && (!floating_point_<rep>) &&
|
||||||
(invoke_result_convertible_to_<rep, std::modulus<>, rep, const Value&>)
|
(!floating_point_<Value>) && invoke_result_convertible_to_<rep, std::modulus<>, rep, const Value&>
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator%(const quantity& q, const Value& v)
|
[[nodiscard]] friend constexpr Quantity auto operator%(const quantity& q, const Value& v)
|
||||||
{
|
{
|
||||||
gsl_ExpectsAudit(v != quantity_values<Value>::zero());
|
gsl_ExpectsAudit(v != quantity_values<Value>::zero());
|
||||||
@@ -439,7 +439,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] friend constexpr Quantity auto operator%(const quantity& lhs, const quantity& rhs)
|
[[nodiscard]] friend constexpr Quantity auto operator%(const quantity& lhs, const quantity& rhs)
|
||||||
requires(!floating_point_<rep>) && (invoke_result_convertible_to_<rep, std::modulus<>, rep, rep>)
|
requires(!floating_point_<rep>) && invoke_result_convertible_to_<rep, std::modulus<>, rep, rep>
|
||||||
{
|
{
|
||||||
gsl_ExpectsAudit(rhs.number() != quantity_values<rep>::zero());
|
gsl_ExpectsAudit(rhs.number() != quantity_values<rep>::zero());
|
||||||
using ret = quantity<R, std::invoke_result_t<std::modulus<>, rep, rep>>;
|
using ret = quantity<R, std::invoke_result_t<std::modulus<>, rep, rep>>;
|
||||||
@@ -497,14 +497,14 @@ template<Quantity Q1, Quantity Q2>
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<Quantity Q1, Quantity Q2>
|
template<Quantity Q1, Quantity Q2>
|
||||||
requires(quantity_value_for_<std::multiplies<>, typename Q1::rep, typename Q2::rep>)
|
requires quantity_value_for_<std::multiplies<>, typename Q1::rep, typename Q2::rep>
|
||||||
[[nodiscard]] constexpr Quantity auto operator*(const Q1& lhs, const Q2& rhs)
|
[[nodiscard]] constexpr Quantity auto operator*(const Q1& lhs, const Q2& rhs)
|
||||||
{
|
{
|
||||||
return detail::make_quantity<Q1::reference * Q2::reference>(lhs.number() * rhs.number());
|
return detail::make_quantity<Q1::reference * Q2::reference>(lhs.number() * rhs.number());
|
||||||
}
|
}
|
||||||
|
|
||||||
template<Quantity Q1, Quantity Q2>
|
template<Quantity Q1, Quantity Q2>
|
||||||
requires(quantity_value_for_<std::divides<>, typename Q1::rep, typename Q2::rep>)
|
requires quantity_value_for_<std::divides<>, typename Q1::rep, typename Q2::rep>
|
||||||
[[nodiscard]] constexpr Quantity auto operator/(const Q1& lhs, const Q2& rhs)
|
[[nodiscard]] constexpr Quantity auto operator/(const Q1& lhs, const Q2& rhs)
|
||||||
{
|
{
|
||||||
gsl_ExpectsAudit(rhs.number() != quantity_values<typename Q2::rep>::zero());
|
gsl_ExpectsAudit(rhs.number() != quantity_values<typename Q2::rep>::zero());
|
||||||
|
Reference in New Issue
Block a user