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

Replace obsolete isinff(...) #277

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

fxing-qnx
Copy link

@fxing-qnx fxing-qnx commented Jan 21, 2025

Fixes # N/A

Proposed changes: Replace isinff(...) with a combination of isinf(...) and signbit(...)

Benchmark results: No changes in performance.

Test suite changes: N/A

Almost the same to #188, but more aggressive. isinff(...) is completely remove from the source tree.
Reason: Mentioned in PR188, isinff(...) is both obsolete and non-standard. To maximize portability and suggested by GNU, we should have it replaced.

PS, Sorry due to our process we need to always fork under tags even if a tag only contains version changes. I have a rebased branch ready for merge now.

Edit:
Fix #278

@ebassi
Copy link
Owner

ebassi commented Jan 21, 2025

4/23 graphene / box ERROR 0.02s exit status 1

▶ 4/23 - box(empty).center() to be in (0, 0, 0) FAIL

@fxing-qnx
Copy link
Author

4/23 graphene / box ERROR 0.02s exit status 1

▶ 4/23 - box(empty).center() to be in (0, 0, 0) FAIL

Yeah I saw that, very weird.........

@fxing-qnx
Copy link
Author

fxing-qnx commented Jan 21, 2025

@ebassi -ffast-math is set by build configurations. According to https://gcc.gnu.org/wiki/FloatingPointMath, this flag will also set -ffnite-math-only which will violate IEEE's floating-point specification and can potentially cause standard functions like isinf(...) to fail.

The problem on the surface is isinf(...) will only work for double type instead of float. For some reasons isinff(...) will return the right answer even with those flags.

@ebassi
Copy link
Owner

ebassi commented Jan 23, 2025

The MSYS2 build failure in CI is caused by a package rename, and has been fixed in master.

@fxing-qnx
Copy link
Author

It should now be fine........

@fxing-qnx
Copy link
Author

@ebassi Are the changes ok now?

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.

Box tests fail on QNX 8.0 and 7.0
2 participants