diff options
-rw-r--r-- | src/object.cpp | 2 | ||||
-rw-r--r-- | src/timer.hpp | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/object.cpp b/src/object.cpp index e881e5d0..00df3793 100644 --- a/src/object.cpp +++ b/src/object.cpp @@ -297,7 +297,7 @@ uint32_t object::allocate_frame_time(Ns dt, uint16_t& accum, uint32_t hz, float const auto from_accum = uint64_t{accum} * ns_in_sec / u16_max; const auto from_dt = Ns(uint64_t(double(dt.stamp) * double(speed))); - fm_assert(from_dt <= Ns{uint64_t{1} << 54}); + fm_assert(from_dt <= Ns{uint64_t{1} << 53}); const auto ticks = from_dt + from_accum; const auto frame_duration = ns_in_sec / hz; const auto frames = (uint32_t)(ticks / frame_duration); diff --git a/src/timer.hpp b/src/timer.hpp index faf92a3e..6e9bd651 100644 --- a/src/timer.hpp +++ b/src/timer.hpp @@ -34,7 +34,7 @@ struct Ns requires std::is_same_v<T, double> explicit constexpr Ns(T x) : stamp{} { - constexpr double max{uint64_t{1} << 54}; + constexpr double max{uint64_t{1} << 53}; fm_assert(x >= 0); fm_assert(x <= max); stamp = uint64_t(x); @@ -50,7 +50,7 @@ struct Ns requires (std::is_same_v<T, double>) friend Ns operator*(const Ns& lhs, T b) { - constexpr double max{uint64_t{1} << 54}; + constexpr double max{uint64_t{1} << 53}; auto a = lhs.stamp; fm_assert(b >= 0); fm_assert(b <= max); @@ -65,7 +65,7 @@ struct Ns requires (std::is_same_v<T, double>) static Ns from_nonzero(T seconds) { - constexpr double max{uint64_t{1} << 54}; + constexpr double max{uint64_t{1} << 53}; fm_assert(seconds >= 0); fm_assert(seconds <= max); return Ns((uint64_t)seconds); |