For 128 bit long double implemented as 2 doubles on PowerPC, nextafterl() of libm gives imprecise results which fails the test that checks the midpoint of adjacent values. This patch skips the test for this particular case on PowerPC.
I'd like to understand what's going on with nextafter when you say "is unreliable". Is there a link describing this behavior?
This is all compile-time stuff; we shouldn't be doing a runtime check.
We don't usually write outputs in tests; no one looks at them.
- Skip the test of midpoint of adjacent values for PPC double-double based on compile-time checking;
- Use #if defined(__PPC__) instead of #if __PPC__ ;
- Removed output to std::cerr.