-
Notifications
You must be signed in to change notification settings - Fork 228
Collected fixes for PPC64LE #524
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
Conversation
correct test program path
Tentatively try and run some tests.
…TIONS. Add more tests to CI.
It seems that for boost 1.76.0 |
No, there are no changes to the build system here, and none anywhere I can think of that would cause this. If you cd into libs/math/build and run ../../../b2 what output do you see? |
For now I'm going to bypass expecting them to be present in ppc64le builds of boost. It sounds like it's dubious whether they are even correct on this target. After I finish with the Boost 1.76.0 upgrade for Fedora 35 I'll try to dig deeper into why they aren't being built. |
This PR get's things almost green when running the tests on PPC64LE.
I have one remaining failure from autodiff which I don't understand: https://github.com/jzmaddock/math/runs/1856451176?check_suite_focus=true
Other than that most of the changes involve fixing the tests to not test long double when BOOST_MATH_NO_LONG_DOUBLE_FUNCTIONS is defined.
Test suites covered: special_fun, distribution_tests, misc, quadrature, interpolators, autodiff
Not currently tested/covered: mp, float128_tests, long-running-tests, examples, tools. Mostly due to time and space constraints as these are run on the QEMU interpolator. Adding these would be nice to have, but the core of the library is now functional and tested.
This is a partial fix for #510.
Things discovered about this platform:
long double
is the non-contiguous "double double" type which we have never supported as it's basically impossible to reason about. It's probably possible to get quite a bit working with enough work, but the type continues to surprise at every turn as it's very non IEEE conforming.long double
is not usable in constexpr (even though the software emulated __float128 is).For the benefit of future googlers, here's the math_info output: