From 44cccfc743bde1810346bcd7263b9b7a96ce089c Mon Sep 17 00:00:00 2001 From: Chip Hogg Date: Sat, 9 Apr 2022 15:39:29 +0000 Subject: [PATCH] Address review comments --- src/core/include/units/magnitude.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/include/units/magnitude.h b/src/core/include/units/magnitude.h index fe814dd2..88d003e7 100644 --- a/src/core/include/units/magnitude.h +++ b/src/core/include/units/magnitude.h @@ -493,7 +493,7 @@ constexpr auto integer_part(magnitude) constexpr auto power_den = denominator(BP.power); if constexpr (std::is_integral_v && (power_num >= power_den)) { - constexpr auto largest_integer_power = [power_num, power_den](BasePower auto bp) { + constexpr auto largest_integer_power = [=](BasePower auto bp) { bp.power = (power_num / power_den); // Note: integer division intended. return bp; }(BP); // Note: lambda is immediately invoked. @@ -516,9 +516,8 @@ constexpr auto denominator(Magnitude auto m) { return numerator(pow<-1>(m)); } // Implementation of conversion to ratio goes here, because it needs `numerator()` and `denominator()`. constexpr ratio as_ratio(Magnitude auto m) + requires(is_rational(decltype(m){})) { - static_assert(is_rational(m)); - return ratio{ get_value(numerator(m)), get_value(denominator(m)),