Browse Source

fixed_point: Make to_uint() non-const

This calls round_up(), which is a non-const member function, so if a
fixed-point instantiation ever calls to_uint(), it'll result in a
compiler error.

This allows the member function to work.

While we're at it, we can actually mark to_long_floor() as const, since
it's not modifying any member state.
nce_cpp
Lioncash 3 years ago
parent
commit
62d3f2021b
  1. 4
      src/common/fixed_point.h

4
src/common/fixed_point.h

@ -411,7 +411,7 @@ public: // conversion to basic types
return static_cast<int>((data_ & integer_mask) >> fractional_bits);
}
constexpr unsigned int to_uint() const {
constexpr unsigned int to_uint() {
round_up();
return static_cast<unsigned int>((data_ & integer_mask) >> fractional_bits);
}
@ -425,7 +425,7 @@ public: // conversion to basic types
return static_cast<int>((data_ & integer_mask) >> fractional_bits);
}
constexpr int64_t to_long_floor() {
constexpr int64_t to_long_floor() const {
return static_cast<int64_t>((data_ & integer_mask) >> fractional_bits);
}

Loading…
Cancel
Save