q_math: do tracing in id Software/J.M.P. van Waveren's QuatFromMatrix() implementation like Martin John Baker's one did, fix model distortion with GCC 14 #1532
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.
Do tracing in id Software/J.M.P. van Waveren's QuatFromMatrix() implementation like the one we have by Martin John Baker's did, fix model distortion with GCC 14.
Fix #1527:
It adds
+1
to the first traceFix Unvanquished/Unvanquished#3140:
What's curious is that the Martin John Baker's page says they also removed the
+1
:But it also says (but we didn't use any epsilon):
The said “discussion with Ethan Tira-Thompson” says:
Then follows a lengthy discussion about “danger of division by zero or square root of a negative number” and “danger of division by zero or square root of a negative number”, maybe it was safe to rule out those concerns with no fast math but we need to take care of this with fast math?
Actually using that
+1
means one compute is twice the same, so it may even be faster.On a side note, the document by id Software/J.M.P. van Waveren mentions this:
Q_rsqrt()
#1458So I made the code also use
Q_rsqrt()
.