Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change generation of 2^n values for fixed point conversions. #1261

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Syonyk
Copy link
Contributor

@Syonyk Syonyk commented Jan 6, 2025

As demonstrated by test code in #1260 the behavior of pow() in non-round-to-nearest rounding modes is not exact. This causes behavior divergence from ARMv8 hardware when not using round-to-nearest. The updated forms match hardware properly across a range of values. The tests are not updated to handle rounding modes, as doing this in a cross-platform way is not trivial. However, all existing test vectors pass properly, and in more detailed testing, these changes are closer to hardware.

As demonstrated by test code in
simd-everywhere#1260
the behavior of pow() in non-round-to-nearest rounding modes is not
exact.  This causes behavior divergence from ARMv8 hardware when not
using round-to-nearest.  The updated forms match hardware properly
across a range of values.  The tests are not updated to handle
rounding modes, as doing this in a cross-platform way is not trivial.
However, all existing test vectors pass properly, and in more
detailed testing, these changes are closer to hardware.
@Syonyk
Copy link
Contributor Author

Syonyk commented Jan 6, 2025

Okeday, needs a few tweaks...

@mr-c
Copy link
Collaborator

mr-c commented Jan 10, 2025

Okeday, needs a few tweaks...

Let me know if you need help dealing with the compiler complaints :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants