26
26
27
27
#include " type_algorithms.h"
28
28
29
- inline constexpr unsigned g_max_n = 128 ;
29
+ inline constexpr unsigned g_max_n =
30
+ #if !(defined(__MVS__) && !defined(__BFP__))
31
+ 128 ;
32
+ #else
33
+ 39 ;
34
+ #endif
30
35
31
36
template <class T >
32
37
std::array<T, 11 > sample_points () {
@@ -203,6 +208,7 @@ std::vector<T> get_roots(unsigned n) {
203
208
204
209
template <class Real >
205
210
void test () {
211
+ #if !(defined(__MVS__) && !defined(__BFP__))
206
212
{ // checks if NaNs are reported correctly (i.e. output == input for input == NaN)
207
213
using nl = std::numeric_limits<Real>;
208
214
for (Real NaN : {nl::quiet_NaN (), nl::signaling_NaN ()})
@@ -215,6 +221,7 @@ void test() {
215
221
for (unsigned n = 0 ; n < g_max_n; ++n)
216
222
assert (!std::isnan (std::hermite (n, x)));
217
223
}
224
+ #endif
218
225
219
226
{ // checks std::hermite(n, x) for n=0..5 against analytic polynoms
220
227
const auto h0 = [](Real) -> Real { return 1 ; };
@@ -289,6 +296,7 @@ void test() {
289
296
}
290
297
}
291
298
299
+ #if !(defined(__MVS__) && !defined(__BFP__))
292
300
{ // check input infinity is handled correctly
293
301
Real inf = std::numeric_limits<Real>::infinity ();
294
302
for (unsigned n = 1 ; n < g_max_n; ++n) {
@@ -316,6 +324,7 @@ void test() {
316
324
}
317
325
}
318
326
}
327
+ #endif
319
328
}
320
329
321
330
struct TestFloat {
0 commit comments