annotate gcc/testsuite/gcc.dg/nextafter-1.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* PR libstdc++/85466 */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 /* { dg-do run } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -fdump-tree-optimized" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 /* { dg-add-options ieee } */
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
5 /* { dg-skip-if "not IEEE float" { "pdp11-*-*" } } */
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 /* { dg-final { scan-tree-dump-not "nextafter" "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 /* { dg-final { scan-tree-dump-not "nexttoward" "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 float nextafterf (float, float);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 double nextafter (double, double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 long double nextafterl (long double, long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 float nexttowardf (float, long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 double nexttoward (double, long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 long double nexttowardl (long double, long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 #define CHECK(x) if (!(x)) __builtin_abort ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 #ifndef NEED_ERRNO
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 #define NEED_ERRNO 0
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 #ifndef NEED_EXC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 #define NEED_EXC 0
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 #ifndef NO_LONG_DOUBLE
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 #define NO_LONG_DOUBLE (__LDBL_MANT_DIG__ == 106)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 #define TEST(name, fn, type, L1, L2, l1, l2, MIN1, \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 MAX1, DENORM_MIN1, EPSILON1, MIN2, MAX2, DENORM_MIN2) \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 void \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 name (void) \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 { \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 const type a = fn (0.0##L1, 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 CHECK (a == 0.0##L1 && !__builtin_signbit (a)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 const type b = fn (0.0##L1, -0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 CHECK (b == 0.0##L1 && __builtin_signbit (b)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 const type c = fn (__builtin_nan##l1 (""), 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 CHECK (__builtin_isnan##l1 (c)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 const type d = fn (2.0##L1, __builtin_nan##l2 ("")); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 CHECK (__builtin_isnan##l1 (d)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 const type e = NEED_EXC ? DENORM_MIN1 : fn (0.0##L1, 8.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 CHECK (e == DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 const type f = fn (1.0##L1, 8.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 CHECK (f == 1.0##L1 + EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 const type g = fn (1.0##L1, -8.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 CHECK (g == 1.0##L1 - EPSILON1 / 2.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 const type h = fn (__builtin_inf (), 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 CHECK (h == MAX1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 const type i = fn (-1.0##L1, -__builtin_inf ()); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 CHECK (i == -1.0##L1 - EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 const type j = fn (1.5##L1, __builtin_inf ()); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 CHECK (j == 1.5##L1 + EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53 const type k = fn (1.5##L1 - EPSILON1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 CHECK (k == 1.5##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 const type l \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 = (NEED_EXC || NEED_ERRNO) ? 0.0##L1 : fn (DENORM_MIN1, 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 CHECK (l == 0.0##L1 && !__builtin_signbit (l)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 const type m \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 = (NEED_EXC || NEED_ERRNO) ? __builtin_inf##l1 () \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 : fn (MAX1, __builtin_inf ()); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 CHECK (__builtin_isinf##l1 (m) && !__builtin_signbit (m)); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 const type n \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63 = (NEED_EXC || NEED_ERRNO) ? 2.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 : fn (DENORM_MIN1, 12.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 CHECK (n == 2.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 const type o \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 = (NEED_EXC || NEED_ERRNO) ? 3.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 : fn (n, 24.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
69 CHECK (o == 3.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
70 const type p \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
71 = (NEED_EXC || NEED_ERRNO) ? 4.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 : fn (o, 132.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73 CHECK (p == 4.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 const type q \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75 = (NEED_EXC || NEED_ERRNO) ? DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76 : fn (2.0##L1 * DENORM_MIN1, -__builtin_inf ()); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77 CHECK (q == DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78 const type r \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79 = (NEED_EXC || NEED_ERRNO) ? 2.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80 : fn (3.0##L1 * DENORM_MIN1, DENORM_MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81 CHECK (r == 2.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
82 const type s \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
83 = (NEED_EXC || NEED_ERRNO) ? 3.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
84 : fn (4.0##L1 * DENORM_MIN1, 2.0##L2 * DENORM_MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
85 CHECK (s == 3.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
86 const type t \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
87 = (NEED_EXC || NEED_ERRNO) ? MIN1 - DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
88 : fn (MIN1, 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
89 CHECK (t == MIN1 - DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
90 const type u \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
91 = (NEED_EXC || NEED_ERRNO) ? MIN1 - 2.0##L1 * DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
92 : fn (MIN1 - DENORM_MIN1, -MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
93 CHECK (u == MIN1 - 2.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
94 const type v \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
95 = (NEED_EXC || NEED_ERRNO) ? MIN1 - DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
96 : fn (MIN1 - 2.0##L1 * DENORM_MIN1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
97 CHECK (v == MIN1 - DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
98 const type w = fn (MIN1 - DENORM_MIN1, MAX2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
99 CHECK (w == MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
100 const type x = fn (MIN1, 17.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
101 CHECK (x == MIN1 + DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
102 const type y = fn (MIN1 + DENORM_MIN1, __builtin_inf##l2 ()); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
103 CHECK (y == MIN1 + 2.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
104 const type z \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
105 = (NEED_EXC || NEED_ERRNO) ? MIN1 / 2.0##L1 - DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
106 : fn (MIN1 / 2.0##L1, -MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
107 CHECK (z == MIN1 / 2.0##L1 - DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
108 const type aa \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
109 = (NEED_EXC || NEED_ERRNO) ? -MIN1 / 4.0##L1 + DENORM_MIN1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
110 : fn (-MIN1 / 4.0##L1, MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
111 CHECK (aa == -MIN1 / 4.0##L1 + DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
112 const type ab = fn (MIN1 * 2.0##L1, -MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
113 CHECK (ab == MIN1 * 2.0##L1 - DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
114 const type ac = fn (MIN1 * 4.0##L1, MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
115 CHECK (ac == MIN1 * 4.0##L1 - DENORM_MIN1 * 2.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
116 const type ad = fn (MIN1 * 64.0##L1, MIN2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
117 CHECK (ad == MIN1 * 64.0##L1 - DENORM_MIN1 * 32.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
118 const type ae \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
119 = (NEED_EXC || NEED_ERRNO) ? MIN1 / 2.0##L1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
120 : fn (MIN1 / 2.0##L1 - DENORM_MIN1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
121 CHECK (ae == MIN1 / 2.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
122 const type af \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
123 = (NEED_EXC || NEED_ERRNO) ? -MIN1 / 4.0##L1 \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
124 : fn (-MIN1 / 4 + DENORM_MIN1, -100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
125 CHECK (af == -MIN1 / 4.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
126 const type ag = fn (MIN1 * 2.0##L1 - DENORM_MIN1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
127 CHECK (ag == MIN1 * 2.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
128 const type ah = fn (MIN1 * 4.0##L1 - 2.0##L1 * DENORM_MIN1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
129 CHECK (ah == MIN1 * 4.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
130 const type ai = fn (MIN1 * 64.0##L1 - 32.0##L1 * DENORM_MIN1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
131 CHECK (ai == MIN1 * 64.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
132 const type aj = fn (MIN1 * 64.0##L1, 100.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
133 CHECK (aj == MIN1 * 64.0##L1 + 64.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
134 const type ak = fn (MIN1 * 64.0##L1 + DENORM_MIN1 * 64.0##L1, 1024.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
135 CHECK (ak == MIN1 * 64.0##L1 + 128.0##L1 * DENORM_MIN1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
136 const type al = fn (128.0##L1, 128.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
137 CHECK (al == 128.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
138 const type am = fn (128.0##L1, 129.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
139 CHECK (am == 128.0##L1 + 128.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
140 const type an = fn (-128.0##L1 + -128.0##L1 * EPSILON1, -130.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
141 CHECK (an == -128.0##L1 - 256.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
142 const type ao = fn (128.0##L1 + 256.0##L1 * EPSILON1, 256.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
143 CHECK (ao == 128.0##L1 + 384.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
144 const type ap = fn (128.0##L1 + 384.0##L1 * EPSILON1, -0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
145 CHECK (ap == 128.0##L1 + 256.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
146 const type aq = fn (128.0##L1 + 256.0##L1 * EPSILON1, 1.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
147 CHECK (aq == 128.0##L1 + 128.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
148 const type ar = fn (128.0##L1 + 128.0##L1 * EPSILON1, 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
149 CHECK (ar == 128.0##L1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
150 const type as = fn (128.0##L1, 0.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
151 CHECK (as == 128.0##L1 - 64.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
152 const type at = fn (128.0##L1 - 64.0##L1 * EPSILON1, 5.0##L2); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
153 CHECK (at == 128.0##L1 - 128.0##L1 * EPSILON1); \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
154 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
155
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
156 TEST (test1, nextafterf, float, F, F, f, f, __FLT_MIN__, __FLT_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
157 __FLT_DENORM_MIN__, __FLT_EPSILON__, __FLT_MIN__, __FLT_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
158 __FLT_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
159 TEST (test2, nextafter, double, , , , , __DBL_MIN__, __DBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
160 __DBL_DENORM_MIN__, __DBL_EPSILON__, __DBL_MIN__, __DBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
161 __DBL_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
162 #if !NO_LONG_DOUBLE
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
163 TEST (test3, nextafterl, long double, L, L, l, l, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
164 __LDBL_DENORM_MIN__, __LDBL_EPSILON__, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
165 __LDBL_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
166 TEST (test4, nexttowardf, float, F, L, f, l, __FLT_MIN__, __FLT_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
167 __FLT_DENORM_MIN__, __FLT_EPSILON__, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
168 __LDBL_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
169 TEST (test5, nexttoward, double, , L, , l, __DBL_MIN__, __DBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
170 __DBL_DENORM_MIN__, __DBL_EPSILON__, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
171 __LDBL_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
172 TEST (test6, nexttowardl, long double, L, L, l, l, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
173 __LDBL_DENORM_MIN__, __LDBL_EPSILON__, __LDBL_MIN__, __LDBL_MAX__,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
174 __LDBL_DENORM_MIN__)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
175 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
176
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
177 int
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
178 main ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
179 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
180 test1 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
181 test2 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
182 #if !NO_LONG_DOUBLE
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
183 test3 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
184 test4 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
185 test5 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
186 test6 ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
187 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
188 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
189 }