don't use static inside constexpr function

Signed-off-by: arades79 <scravers@protonmail.com>
This commit is contained in:
arades79 2023-02-11 13:57:59 -05:00
parent 45e13b03f3
commit 392a029ef4

View file

@ -107,7 +107,7 @@ constexpr FixedPoint<I, F> divide(
using next_type = typename FixedPoint<I, F>::next_type; using next_type = typename FixedPoint<I, F>::next_type;
using base_type = typename FixedPoint<I, F>::base_type; using base_type = typename FixedPoint<I, F>::base_type;
constexpr static size_t fractional_bits = FixedPoint<I, F>::fractional_bits; constexpr size_t fractional_bits = FixedPoint<I, F>::fractional_bits;
next_type t(numerator.to_raw()); next_type t(numerator.to_raw());
t <<= fractional_bits; t <<= fractional_bits;
@ -127,7 +127,7 @@ constexpr FixedPoint<I, F> divide(
using unsigned_type = typename FixedPoint<I, F>::unsigned_type; using unsigned_type = typename FixedPoint<I, F>::unsigned_type;
constexpr static int bits = FixedPoint<I, F>::total_bits; constexpr int bits = FixedPoint<I, F>::total_bits;
if (denominator == 0) { if (denominator == 0) {
throw divide_by_zero(); throw divide_by_zero();
@ -198,7 +198,7 @@ constexpr FixedPoint<I, F> multiply(
using next_type = typename FixedPoint<I, F>::next_type; using next_type = typename FixedPoint<I, F>::next_type;
using base_type = typename FixedPoint<I, F>::base_type; using base_type = typename FixedPoint<I, F>::base_type;
constexpr static size_t fractional_bits = FixedPoint<I, F>::fractional_bits; constexpr size_t fractional_bits = FixedPoint<I, F>::fractional_bits;
next_type t(static_cast<next_type>(lhs.to_raw()) * static_cast<next_type>(rhs.to_raw())); next_type t(static_cast<next_type>(lhs.to_raw()) * static_cast<next_type>(rhs.to_raw()));
t >>= fractional_bits; t >>= fractional_bits;
@ -216,9 +216,9 @@ constexpr FixedPoint<I, F> multiply(
using base_type = typename FixedPoint<I, F>::base_type; using base_type = typename FixedPoint<I, F>::base_type;
constexpr static size_t fractional_bits = FixedPoint<I, F>::fractional_bits; constexpr size_t fractional_bits = FixedPoint<I, F>::fractional_bits;
constexpr static base_type integer_mask = FixedPoint<I, F>::integer_mask; constexpr base_type integer_mask = FixedPoint<I, F>::integer_mask;
constexpr static base_type fractional_mask = FixedPoint<I, F>::fractional_mask; constexpr base_type fractional_mask = FixedPoint<I, F>::fractional_mask;
// more costly but doesn't need a larger type // more costly but doesn't need a larger type
const base_type a_hi = (lhs.to_raw() & integer_mask) >> fractional_bits; const base_type a_hi = (lhs.to_raw() & integer_mask) >> fractional_bits;