Redundant constraints removed (resolves #109)

This commit is contained in:
Mateusz Pusz
2020-05-24 22:49:53 +02:00
parent 031da7df42
commit 5dd9eaac87

View File

@@ -354,8 +354,7 @@ template<typename D1, typename U1, typename Rep1, typename D2, typename U2, type
template<typename D1, typename U1, typename Rep1, typename D2, typename U2, typename Rep2>
[[nodiscard]] constexpr Quantity AUTO operator*(const quantity<D1, U1, Rep1>& lhs, const quantity<D2, U2, Rep2>& rhs)
requires std::regular_invocable<std::multiplies<>, Rep1, Rep2> &&
(!equivalent_dim<D1, dim_invert<D2>>)
requires std::regular_invocable<std::multiplies<>, Rep1, Rep2>
{
using dim = dimension_multiply<D1, D2>;
using ratio1 = ratio_divide<typename U1::ratio, typename dimension_unit<D1>::ratio>;
@@ -406,8 +405,7 @@ template<typename D1, typename U1, typename Rep1, typename D2, typename U2, type
template<typename D1, typename U1, typename Rep1, typename D2, typename U2, typename Rep2>
[[nodiscard]] constexpr Quantity AUTO operator/(const quantity<D1, U1, Rep1>& lhs, const quantity<D2, U2, Rep2>& rhs)
requires std::regular_invocable<std::divides<>, Rep1, Rep2> &&
(!equivalent_dim<D1, D2>)
requires std::regular_invocable<std::divides<>, Rep1, Rep2>
{
Expects(rhs.count() != 0);