Fix UBSan error at early startup about converting infinity to int. #1438
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This happens because during early startup, the FPS value returned by the
stats is zero, and 1 / 0 = inf, and static_cast(inf) is undefined
behavior.
Also, I removed one case as it's dead code (measurements_cnt <= 0 cannot
happen as the function itself increments it), and riddled the timing code
with asserts and comments explaining why each assert is always true.