forked from mpusz/mp-units
[msvc][fix] a lot of brackets where msvc prefers
the type and not the value. (Issue reported)
This commit is contained in:
@@ -127,13 +127,13 @@ namespace detail {
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template<QuantityOf<isq::time> Q>
|
||||
template<QuantityOf<(isq::time)> Q>
|
||||
[[nodiscard]] constexpr auto to_chrono_duration(const Q& q)
|
||||
{
|
||||
return std::chrono::duration<typename Q::rep, decltype(detail::as_ratio(get_canonical_unit(Q::unit).mag))>{q};
|
||||
}
|
||||
|
||||
template<QuantityPointOf<isq::time> QP>
|
||||
template<QuantityPointOf<(isq::time)> QP>
|
||||
requires is_specialization_of<std::remove_const_t<decltype(QP::absolute_point_origin)>, chrono_point_origin_>
|
||||
[[nodiscard]] constexpr auto to_chrono_time_point(const QP& qp)
|
||||
{
|
||||
|
||||
@@ -43,7 +43,7 @@ import std;
|
||||
|
||||
MP_UNITS_EXPORT
|
||||
namespace mp_units::si {
|
||||
template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
template<ReferenceOf<(isq::angular_measure)> auto R, typename Rep>
|
||||
requires requires(Rep v) { sin(v); } || requires(Rep v) { std::sin(v); }
|
||||
[[nodiscard]] inline QuantityOf<dimensionless> auto sin(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
@@ -57,7 +57,7 @@ template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
return quantity{sin(q.numerical_value_in(radian)), one};
|
||||
}
|
||||
|
||||
template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
template<ReferenceOf<(isq::angular_measure)> auto R, typename Rep>
|
||||
requires requires(Rep v) { cos(v); } || requires(Rep v) { std::cos(v); }
|
||||
[[nodiscard]] inline QuantityOf<dimensionless> auto cos(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
@@ -71,7 +71,7 @@ template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
return quantity{cos(q.numerical_value_in(radian)), one};
|
||||
}
|
||||
|
||||
template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
template<ReferenceOf<(isq::angular_measure)> auto R, typename Rep>
|
||||
requires requires(Rep v) { tan(v); } || requires(Rep v) { std::tan(v); }
|
||||
[[nodiscard]] inline QuantityOf<dimensionless> auto tan(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
@@ -87,7 +87,7 @@ template<ReferenceOf<isq::angular_measure> auto R, typename Rep>
|
||||
|
||||
template<ReferenceOf<dimensionless> auto R, typename Rep>
|
||||
requires requires(Rep v) { asin(v); } || requires(Rep v) { std::asin(v); }
|
||||
[[nodiscard]] inline QuantityOf<isq::angular_measure> auto asin(const quantity<R, Rep>& q) noexcept
|
||||
[[nodiscard]] inline QuantityOf<(isq::angular_measure)> auto asin(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
using std::asin;
|
||||
if constexpr (!treat_as_floating_point<Rep>) {
|
||||
@@ -101,7 +101,7 @@ template<ReferenceOf<dimensionless> auto R, typename Rep>
|
||||
|
||||
template<ReferenceOf<dimensionless> auto R, typename Rep>
|
||||
requires requires(Rep v) { acos(v); } || requires(Rep v) { std::acos(v); }
|
||||
[[nodiscard]] inline QuantityOf<isq::angular_measure> auto acos(const quantity<R, Rep>& q) noexcept
|
||||
[[nodiscard]] inline QuantityOf<(isq::angular_measure)> auto acos(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
using std::acos;
|
||||
if constexpr (!treat_as_floating_point<Rep>) {
|
||||
@@ -115,7 +115,7 @@ template<ReferenceOf<dimensionless> auto R, typename Rep>
|
||||
|
||||
template<ReferenceOf<dimensionless> auto R, typename Rep>
|
||||
requires requires(Rep v) { atan(v); } || requires(Rep v) { std::atan(v); }
|
||||
[[nodiscard]] inline QuantityOf<isq::angular_measure> auto atan(const quantity<R, Rep>& q) noexcept
|
||||
[[nodiscard]] inline QuantityOf<(isq::angular_measure)> auto atan(const quantity<R, Rep>& q) noexcept
|
||||
{
|
||||
using std::atan;
|
||||
if constexpr (!treat_as_floating_point<Rep>) {
|
||||
@@ -132,7 +132,7 @@ template<auto R1, typename Rep1, auto R2, typename Rep2>
|
||||
common_reference(R1, R2);
|
||||
requires requires { atan2(v1, v2); } || requires { std::atan2(v1, v2); };
|
||||
}
|
||||
[[nodiscard]] inline QuantityOf<isq::angular_measure> auto atan2(const quantity<R1, Rep1>& y,
|
||||
[[nodiscard]] inline QuantityOf<(isq::angular_measure)> auto atan2(const quantity<R1, Rep1>& y,
|
||||
const quantity<R2, Rep2>& x) noexcept
|
||||
{
|
||||
constexpr auto ref = common_reference(R1, R2);
|
||||
|
||||
Reference in New Issue
Block a user