1 /*
2 * SPDX-License-Identifier: BSD-3-Clause
3 *
4 * Copyright © 2020 Keith Packard
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
17 *
18 * 3. Neither the name of the copyright holder nor the names of its
19 * contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
33 * OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35
36 #define makelname(s) scat(s,l)
37
38 volatile const FLOAT_T makemathname(zero) = (FLOAT_T) 0.0;
39 volatile const FLOAT_T makemathname(negzero) = (FLOAT_T) -0.0;
40 volatile const FLOAT_T makemathname(one) = (FLOAT_T) 1.0;
41 volatile const FLOAT_T makemathname(two) = (FLOAT_T) 2.0;
42 volatile const FLOAT_T makemathname(three) = (FLOAT_T) 3.0;
43 volatile const FLOAT_T makemathname(half) = (FLOAT_T) 0.5;
44 volatile const FLOAT_T makemathname(big) = BIG;
45 volatile const FLOAT_T makemathname(bigodd) = BIGODD;
46 volatile const FLOAT_T makemathname(bigeven) = BIGEVEN;
47 volatile const FLOAT_T makemathname(small) = SMALL;
48 volatile const FLOAT_T makemathname(infval) = (FLOAT_T) INFINITY;
49 volatile const FLOAT_T makemathname(minfval) = (FLOAT_T) -INFINITY;
50 volatile const FLOAT_T makemathname(qnanval) = (FLOAT_T) NAN;
51 volatile const FLOAT_T makemathname(snanval) = (FLOAT_T) sNAN;
52 volatile const FLOAT_T makemathname(pio2) = (FLOAT_T) (PI_VAL/(FLOAT_T)2.0);
53 volatile const FLOAT_T makemathname(min_val) = (FLOAT_T) MIN_VAL;
54 volatile const FLOAT_T makemathname(max_val) = (FLOAT_T) MAX_VAL;
55 #define FLOAT_LONG_MASK (~0UL << ((sizeof (long) * 8 <= MANT_DIG) ? 0 : (sizeof (long) * 8 - MANT_DIG - 1)))
56 #define FLOAT_LONG_MIN (long) (LONG_MIN & FLOAT_LONG_MASK)
57 #define FLOAT_LONG_MAX (long) (LONG_MAX & FLOAT_LONG_MASK)
58 volatile const FLOAT_T makemathname(long_min_mask) = (FLOAT_T) FLOAT_LONG_MIN;
59 volatile const FLOAT_T makemathname(long_max_mask) = (FLOAT_T) FLOAT_LONG_MAX;
60 volatile const FLOAT_T makemathname(long_min_one) = (FLOAT_T) ((FLOAT_T) LONG_MIN - (FLOAT_T) (~FLOAT_LONG_MASK + 1) * 2);
61 volatile const FLOAT_T makemathname(long_max_one) = (FLOAT_T) ((FLOAT_T) LONG_MAX + (FLOAT_T) (~FLOAT_LONG_MASK + 1));
62
63 #define FLOAT_LONG_LONG_MASK (~0ULL << ((sizeof (long long) * 8 <= MANT_DIG) ? 0 : (sizeof (long long) * 8 - MANT_DIG - 1)))
64 #define FLOAT_LONG_LONG_MIN (long long) (LLONG_MIN & FLOAT_LONG_LONG_MASK)
65 #define FLOAT_LONG_LONG_MAX (long long) (LLONG_MAX & FLOAT_LONG_LONG_MASK)
66 volatile const FLOAT_T makemathname(long_long_min_mask) = (FLOAT_T) FLOAT_LONG_LONG_MIN;
67 volatile const FLOAT_T makemathname(long_long_max_mask) = (FLOAT_T) FLOAT_LONG_LONG_MAX;
68 volatile const FLOAT_T makemathname(long_long_min_one) = (FLOAT_T) ((FLOAT_T) LLONG_MIN - (FLOAT_T) (~FLOAT_LONG_LONG_MASK + 1) * 2);
69 volatile const FLOAT_T makemathname(long_long_max_one) = (FLOAT_T) ((FLOAT_T) LLONG_MAX + (FLOAT_T) (~FLOAT_LONG_LONG_MASK + 1));
70
71 #ifdef __PICOLIBC__
72 #define LROUND_LONG_MAX LONG_MAX
73 #define LROUND_LLONG_MAX LLONG_MAX
74 #else
75 #define LROUND_LONG_MAX LONG_MIN
76 #define LROUND_LLONG_MAX LLONG_MIN
77 #endif
78
79 FLOAT_T makemathname(scalb)(FLOAT_T, FLOAT_T);
80
81 #define cat2(a,b) a ## b
82 #define str(a) #a
83 #define TEST(n,v,ex,er) { .func = makemathname(cat2(test_, n)), .name = str(n), .value = (v), .except = (ex), .errno_expect = (er) }
84
85 static int _signgam;
86
87 #ifndef SIMPLE_MATH_ONLY
makemathname(test_acos_2)88 static FLOAT_T makemathname(test_acos_2)(void) { return makemathname(acos)(makemathname(two)); }
makemathname(test_acos_qnan)89 static FLOAT_T makemathname(test_acos_qnan)(void) { return makemathname(acos)(makemathname(qnanval)); }
makemathname(test_acos_snan)90 static FLOAT_T makemathname(test_acos_snan)(void) { return makemathname(acos)(makemathname(snanval)); }
makemathname(test_acos_inf)91 static FLOAT_T makemathname(test_acos_inf)(void) { return makemathname(acos)(makemathname(infval)); }
makemathname(test_acos_minf)92 static FLOAT_T makemathname(test_acos_minf)(void) { return makemathname(acos)(makemathname(minfval)); }
93
makemathname(test_acosh_half)94 static FLOAT_T makemathname(test_acosh_half)(void) { return makemathname(acosh)(makemathname(one)/makemathname(two)); }
makemathname(test_acosh_qnan)95 static FLOAT_T makemathname(test_acosh_qnan)(void) { return makemathname(acosh)(makemathname(qnanval)); }
makemathname(test_acosh_snan)96 static FLOAT_T makemathname(test_acosh_snan)(void) { return makemathname(acosh)(makemathname(snanval)); }
makemathname(test_acosh_inf)97 static FLOAT_T makemathname(test_acosh_inf)(void) { return makemathname(acosh)(makemathname(infval)); }
makemathname(test_acosh_minf)98 static FLOAT_T makemathname(test_acosh_minf)(void) { return makemathname(acosh)(makemathname(minfval)); }
99
makemathname(test_asin_2)100 static FLOAT_T makemathname(test_asin_2)(void) { return makemathname(asin)(makemathname(two)); }
makemathname(test_asin_qnan)101 static FLOAT_T makemathname(test_asin_qnan)(void) { return makemathname(asin)(makemathname(qnanval)); }
makemathname(test_asin_snan)102 static FLOAT_T makemathname(test_asin_snan)(void) { return makemathname(asin)(makemathname(snanval)); }
makemathname(test_asin_inf)103 static FLOAT_T makemathname(test_asin_inf)(void) { return makemathname(asin)(makemathname(infval)); }
makemathname(test_asin_minf)104 static FLOAT_T makemathname(test_asin_minf)(void) { return makemathname(asin)(makemathname(minfval)); }
105
makemathname(test_asinh_0)106 static FLOAT_T makemathname(test_asinh_0)(void) { return makemathname(asinh)(makemathname(zero)); }
makemathname(test_asinh_neg0)107 static FLOAT_T makemathname(test_asinh_neg0)(void) { return makemathname(asinh)(makemathname(negzero)); }
makemathname(test_asinh_qnan)108 static FLOAT_T makemathname(test_asinh_qnan)(void) { return makemathname(asinh)(makemathname(qnanval)); }
makemathname(test_asinh_snan)109 static FLOAT_T makemathname(test_asinh_snan)(void) { return makemathname(asinh)(makemathname(snanval)); }
makemathname(test_asinh_inf)110 static FLOAT_T makemathname(test_asinh_inf)(void) { return makemathname(asinh)(makemathname(infval)); }
makemathname(test_asinh_minf)111 static FLOAT_T makemathname(test_asinh_minf)(void) { return makemathname(asinh)(makemathname(minfval)); }
112
makemathname(test_atan2_qnanx)113 static FLOAT_T makemathname(test_atan2_qnanx)(void) { return makemathname(atan2)(makemathname(one), makemathname(qnanval)); }
makemathname(test_atan2_qnany)114 static FLOAT_T makemathname(test_atan2_qnany)(void) { return makemathname(atan2)(makemathname(qnanval), makemathname(one)); }
makemathname(test_atan2_snanx)115 static FLOAT_T makemathname(test_atan2_snanx)(void) { return makemathname(atan2)(makemathname(one), makemathname(snanval)); }
makemathname(test_atan2_snany)116 static FLOAT_T makemathname(test_atan2_snany)(void) { return makemathname(atan2)(makemathname(snanval), makemathname(one)); }
makemathname(test_atan2_tiny)117 static FLOAT_T makemathname(test_atan2_tiny)(void) { return makemathname(atan2)(makemathname(min_val), makemathname(max_val)); }
makemathname(test_atan2_nottiny)118 static FLOAT_T makemathname(test_atan2_nottiny)(void) { return makemathname(atan2)(makemathname(min_val), (FLOAT_T) -0x8p-20); }
119
makemathname(test_atanh_qnan)120 static FLOAT_T makemathname(test_atanh_qnan)(void) { return makemathname(atanh)(makemathname(qnanval)); }
makemathname(test_atanh_snan)121 static FLOAT_T makemathname(test_atanh_snan)(void) { return makemathname(atanh)(makemathname(snanval)); }
makemathname(test_atanh_1)122 static FLOAT_T makemathname(test_atanh_1)(void) { return makemathname(atanh)(makemathname(one)); }
makemathname(test_atanh_neg1)123 static FLOAT_T makemathname(test_atanh_neg1)(void) { return makemathname(atanh)(-makemathname(one)); }
makemathname(test_atanh_2)124 static FLOAT_T makemathname(test_atanh_2)(void) { return makemathname(atanh)(makemathname(two)); }
makemathname(test_atanh_neg2)125 static FLOAT_T makemathname(test_atanh_neg2)(void) { return makemathname(atanh)(-makemathname(two)); }
126
makemathname(test_cbrt_0)127 static FLOAT_T makemathname(test_cbrt_0)(void) { return makemathname(cbrt)(makemathname(zero)); }
makemathname(test_cbrt_neg0)128 static FLOAT_T makemathname(test_cbrt_neg0)(void) { return makemathname(cbrt)(-makemathname(zero)); }
makemathname(test_cbrt_inf)129 static FLOAT_T makemathname(test_cbrt_inf)(void) { return makemathname(cbrt)(makemathname(infval)); }
makemathname(test_cbrt_neginf)130 static FLOAT_T makemathname(test_cbrt_neginf)(void) { return makemathname(cbrt)(-makemathname(infval)); }
makemathname(test_cbrt_qnan)131 static FLOAT_T makemathname(test_cbrt_qnan)(void) { return makemathname(cbrt)(makemathname(qnanval)); }
makemathname(test_cbrt_snan)132 static FLOAT_T makemathname(test_cbrt_snan)(void) { return makemathname(cbrt)(makemathname(snanval)); }
133
makemathname(test_cos_inf)134 static FLOAT_T makemathname(test_cos_inf)(void) { return makemathname(cos)(makemathname(infval)); }
makemathname(test_cos_qnan)135 static FLOAT_T makemathname(test_cos_qnan)(void) { return makemathname(cos)(makemathname(qnanval)); }
makemathname(test_cos_snan)136 static FLOAT_T makemathname(test_cos_snan)(void) { return makemathname(cos)(makemathname(snanval)); }
makemathname(test_cos_0)137 static FLOAT_T makemathname(test_cos_0)(void) { return makemathname(cos)(makemathname(zero)); }
138
makemathname(test_cosh_big)139 static FLOAT_T makemathname(test_cosh_big)(void) { return makemathname(cosh)(makemathname(big)); }
makemathname(test_cosh_negbig)140 static FLOAT_T makemathname(test_cosh_negbig)(void) { return makemathname(cosh)(makemathname(big)); }
makemathname(test_cosh_inf)141 static FLOAT_T makemathname(test_cosh_inf)(void) { return makemathname(cosh)(makemathname(infval)); }
makemathname(test_cosh_qnan)142 static FLOAT_T makemathname(test_cosh_qnan)(void) { return makemathname(cosh)(makemathname(qnanval)); }
makemathname(test_cosh_snan)143 static FLOAT_T makemathname(test_cosh_snan)(void) { return makemathname(cosh)(makemathname(snanval)); }
144
makemathname(test_drem_0)145 static FLOAT_T makemathname(test_drem_0)(void) { return makemathname(drem)(makemathname(two), makemathname(zero)); }
makemathname(test_drem_qnan_1)146 static FLOAT_T makemathname(test_drem_qnan_1)(void) { return makemathname(drem)(makemathname(qnanval), makemathname(one)); }
makemathname(test_drem_1_qnan)147 static FLOAT_T makemathname(test_drem_1_qnan)(void) { return makemathname(drem)(makemathname(one), makemathname(qnanval)); }
makemathname(test_drem_snan_1)148 static FLOAT_T makemathname(test_drem_snan_1)(void) { return makemathname(drem)(makemathname(snanval), makemathname(one)); }
makemathname(test_drem_1_snan)149 static FLOAT_T makemathname(test_drem_1_snan)(void) { return makemathname(drem)(makemathname(one), makemathname(snanval)); }
makemathname(test_drem_inf_2)150 static FLOAT_T makemathname(test_drem_inf_2)(void) { return makemathname(drem)(makemathname(infval), makemathname(two)); }
makemathname(test_drem_inf_0)151 static FLOAT_T makemathname(test_drem_inf_0)(void) { return makemathname(drem)(makemathname(infval), makemathname(zero)); }
makemathname(test_drem_2_0)152 static FLOAT_T makemathname(test_drem_2_0)(void) { return makemathname(drem)(makemathname(two), makemathname(zero)); }
makemathname(test_drem_1_2)153 static FLOAT_T makemathname(test_drem_1_2)(void) { return makemathname(drem)(makemathname(one), makemathname(two)); }
makemathname(test_drem_neg1_2)154 static FLOAT_T makemathname(test_drem_neg1_2)(void) { return makemathname(drem)(-makemathname(one), makemathname(two)); }
155
makemathname(test_erf_qnan)156 static FLOAT_T makemathname(test_erf_qnan)(void) { return makemathname(erf)(makemathname(qnanval)); }
makemathname(test_erf_snan)157 static FLOAT_T makemathname(test_erf_snan)(void) { return makemathname(erf)(makemathname(snanval)); }
makemathname(test_erf_0)158 static FLOAT_T makemathname(test_erf_0)(void) { return makemathname(erf)(makemathname(zero)); }
makemathname(test_erf_neg0)159 static FLOAT_T makemathname(test_erf_neg0)(void) { return makemathname(erf)(-makemathname(zero)); }
makemathname(test_erf_inf)160 static FLOAT_T makemathname(test_erf_inf)(void) { return makemathname(erf)(makemathname(infval)); }
makemathname(test_erf_neginf)161 static FLOAT_T makemathname(test_erf_neginf)(void) { return makemathname(erf)(-makemathname(infval)); }
makemathname(test_erf_small)162 static FLOAT_T makemathname(test_erf_small)(void) { return makemathname(erf)(makemathname(small)); }
163
makemathname(test_exp_qnan)164 static FLOAT_T makemathname(test_exp_qnan)(void) { return makemathname(exp)(makemathname(qnanval)); }
makemathname(test_exp_snan)165 static FLOAT_T makemathname(test_exp_snan)(void) { return makemathname(exp)(makemathname(snanval)); }
makemathname(test_exp_inf)166 static FLOAT_T makemathname(test_exp_inf)(void) { return makemathname(exp)(makemathname(infval)); }
makemathname(test_exp_neginf)167 static FLOAT_T makemathname(test_exp_neginf)(void) { return makemathname(exp)(-makemathname(infval)); }
makemathname(test_exp_big)168 static FLOAT_T makemathname(test_exp_big)(void) { return makemathname(exp)(makemathname(big)); }
makemathname(test_exp_negbig)169 static FLOAT_T makemathname(test_exp_negbig)(void) { return makemathname(exp)(-makemathname(big)); }
170
makemathname(test_exp2_qnan)171 static FLOAT_T makemathname(test_exp2_qnan)(void) { return makemathname(exp2)(makemathname(qnanval)); }
makemathname(test_exp2_snan)172 static FLOAT_T makemathname(test_exp2_snan)(void) { return makemathname(exp2)(makemathname(snanval)); }
makemathname(test_exp2_inf)173 static FLOAT_T makemathname(test_exp2_inf)(void) { return makemathname(exp2)(makemathname(infval)); }
makemathname(test_exp2_neginf)174 static FLOAT_T makemathname(test_exp2_neginf)(void) { return makemathname(exp2)(-makemathname(infval)); }
makemathname(test_exp2_big)175 static FLOAT_T makemathname(test_exp2_big)(void) { return makemathname(exp2)(makemathname(big)); }
makemathname(test_exp2_negbig)176 static FLOAT_T makemathname(test_exp2_negbig)(void) { return makemathname(exp2)(-makemathname(big)); }
177
makemathname(test_exp10_qnan)178 static FLOAT_T makemathname(test_exp10_qnan)(void) { return makemathname(exp10)(makemathname(qnanval)); }
makemathname(test_exp10_snan)179 static FLOAT_T makemathname(test_exp10_snan)(void) { return makemathname(exp10)(makemathname(snanval)); }
makemathname(test_exp10_inf)180 static FLOAT_T makemathname(test_exp10_inf)(void) { return makemathname(exp10)(makemathname(infval)); }
makemathname(test_exp10_neginf)181 static FLOAT_T makemathname(test_exp10_neginf)(void) { return makemathname(exp10)(-makemathname(infval)); }
makemathname(test_exp10_big)182 static FLOAT_T makemathname(test_exp10_big)(void) { return makemathname(exp10)(makemathname(big)); }
makemathname(test_exp10_negbig)183 static FLOAT_T makemathname(test_exp10_negbig)(void) { return makemathname(exp10)(-makemathname(big)); }
184
makemathname(test_expm1_qnan)185 static FLOAT_T makemathname(test_expm1_qnan)(void) { return makemathname(expm1)(makemathname(qnanval)); }
makemathname(test_expm1_snan)186 static FLOAT_T makemathname(test_expm1_snan)(void) { return makemathname(expm1)(makemathname(snanval)); }
makemathname(test_expm1_0)187 static FLOAT_T makemathname(test_expm1_0)(void) { return makemathname(expm1)(makemathname(zero)); }
makemathname(test_expm1_neg0)188 static FLOAT_T makemathname(test_expm1_neg0)(void) { return makemathname(expm1)(-makemathname(zero)); }
makemathname(test_expm1_inf)189 static FLOAT_T makemathname(test_expm1_inf)(void) { return makemathname(expm1)(makemathname(infval)); }
makemathname(test_expm1_neginf)190 static FLOAT_T makemathname(test_expm1_neginf)(void) { return makemathname(expm1)(-makemathname(infval)); }
makemathname(test_expm1_big)191 static FLOAT_T makemathname(test_expm1_big)(void) { return makemathname(expm1)(makemathname(big)); }
makemathname(test_expm1_negbig)192 static FLOAT_T makemathname(test_expm1_negbig)(void) { return makemathname(expm1)(-makemathname(big)); }
193
194 #endif /* SIMPLE_MATH_ONLY */
195
makemathname(test_fabs_qnan)196 static FLOAT_T makemathname(test_fabs_qnan)(void) { return makemathname(fabs)(makemathname(qnanval)); }
197 #ifndef SKIP_SNAN_CHECKS
makemathname(test_fabs_snan)198 static FLOAT_T makemathname(test_fabs_snan)(void) { return makemathname(fabs)(makemathname(snanval)); }
199 #endif
makemathname(test_fabs_0)200 static FLOAT_T makemathname(test_fabs_0)(void) { return makemathname(fabs)(makemathname(zero)); }
makemathname(test_fabs_neg0)201 static FLOAT_T makemathname(test_fabs_neg0)(void) { return makemathname(fabs)(-makemathname(zero)); }
makemathname(test_fabs_inf)202 static FLOAT_T makemathname(test_fabs_inf)(void) { return makemathname(fabs)(makemathname(infval)); }
makemathname(test_fabs_neginf)203 static FLOAT_T makemathname(test_fabs_neginf)(void) { return makemathname(fabs)(-makemathname(infval)); }
204
205 #ifndef SIMPLE_MATH_ONLY
206
makemathname(test_fdim_qnan_1)207 static FLOAT_T makemathname(test_fdim_qnan_1)(void) { return makemathname(fdim)(makemathname(qnanval), makemathname(one)); }
makemathname(test_fdim_1_qnan)208 static FLOAT_T makemathname(test_fdim_1_qnan)(void) { return makemathname(fdim)(makemathname(one), makemathname(qnanval)); }
makemathname(test_fdim_snan_1)209 static FLOAT_T makemathname(test_fdim_snan_1)(void) { return makemathname(fdim)(makemathname(snanval), makemathname(one)); }
makemathname(test_fdim_1_snan)210 static FLOAT_T makemathname(test_fdim_1_snan)(void) { return makemathname(fdim)(makemathname(one), makemathname(snanval)); }
makemathname(test_fdim_inf_1)211 static FLOAT_T makemathname(test_fdim_inf_1)(void) { return makemathname(fdim)(makemathname(infval), makemathname(one)); }
makemathname(test_fdim_1_inf)212 static FLOAT_T makemathname(test_fdim_1_inf)(void) { return makemathname(fdim)(makemathname(one), makemathname(infval)); }
makemathname(test_fdim_big_negbig)213 static FLOAT_T makemathname(test_fdim_big_negbig)(void) { return makemathname(fdim)(makemathname(big), -makemathname(big)); }
214
215 #endif
216
makemathname(test_floor_1)217 static FLOAT_T makemathname(test_floor_1)(void) { return makemathname(floor)(makemathname(one)); }
makemathname(test_floor_0)218 static FLOAT_T makemathname(test_floor_0)(void) { return makemathname(floor)(makemathname(zero)); }
makemathname(test_floor_neg0)219 static FLOAT_T makemathname(test_floor_neg0)(void) { return makemathname(floor)(-makemathname(zero)); }
makemathname(test_floor_qnan)220 static FLOAT_T makemathname(test_floor_qnan)(void) { return makemathname(floor)(makemathname(qnanval)); }
221 #ifdef __PICOLIBC__
makemathname(test_floor_snan)222 static FLOAT_T makemathname(test_floor_snan)(void) { return makemathname(floor)(makemathname(snanval)); }
223 #endif
makemathname(test_floor_inf)224 static FLOAT_T makemathname(test_floor_inf)(void) { return makemathname(floor)(makemathname(infval)); }
makemathname(test_floor_neginf)225 static FLOAT_T makemathname(test_floor_neginf)(void) { return makemathname(floor)(-makemathname(infval)); }
226
227 #ifndef SIMPLE_MATH_ONLY
228
makemathname(test_fma_big_big_1)229 static FLOAT_T makemathname(test_fma_big_big_1)(void) { return makemathname(fma)(makemathname(big), makemathname(big), makemathname(one)); }
makemathname(test_fma_big_negbig_1)230 static FLOAT_T makemathname(test_fma_big_negbig_1)(void) { return makemathname(fma)(makemathname(big), -makemathname(big), makemathname(one)); }
makemathname(test_fma_small_small_1)231 static FLOAT_T makemathname(test_fma_small_small_1)(void) { return makemathname(fma)(makemathname(small), makemathname(small), makemathname(one)); }
makemathname(test_fma_small_negsmall_1)232 static FLOAT_T makemathname(test_fma_small_negsmall_1)(void) { return makemathname(fma)(makemathname(small), -makemathname(small), makemathname(one)); }
makemathname(test_fma_small_small_0)233 static FLOAT_T makemathname(test_fma_small_small_0)(void) { return makemathname(fma)(makemathname(small), makemathname(small), makemathname(zero)); }
makemathname(test_fma_small_negsmall_0)234 static FLOAT_T makemathname(test_fma_small_negsmall_0)(void) { return makemathname(fma)(makemathname(small), -makemathname(small), makemathname(zero)); }
makemathname(test_fma_qnan_1_1)235 static FLOAT_T makemathname(test_fma_qnan_1_1)(void) { return makemathname(fma)(makemathname(qnanval), makemathname(one), makemathname(one)); }
makemathname(test_fma_1_qnan_1)236 static FLOAT_T makemathname(test_fma_1_qnan_1)(void) { return makemathname(fma)(makemathname(one), makemathname(qnanval), makemathname(one)); }
makemathname(test_fma_1_1_qnan)237 static FLOAT_T makemathname(test_fma_1_1_qnan)(void) { return makemathname(fma)(makemathname(one), makemathname(one), makemathname(qnanval)); }
makemathname(test_fma_snan_1_1)238 static FLOAT_T makemathname(test_fma_snan_1_1)(void) { return makemathname(fma)(makemathname(snanval), makemathname(one), makemathname(one)); }
makemathname(test_fma_1_snan_1)239 static FLOAT_T makemathname(test_fma_1_snan_1)(void) { return makemathname(fma)(makemathname(one), makemathname(snanval), makemathname(one)); }
makemathname(test_fma_1_1_snan)240 static FLOAT_T makemathname(test_fma_1_1_snan)(void) { return makemathname(fma)(makemathname(one), makemathname(one), makemathname(snanval)); }
makemathname(test_fma_inf_1_neginf)241 static FLOAT_T makemathname(test_fma_inf_1_neginf)(void) { return makemathname(fma)(makemathname(infval), makemathname(one), -makemathname(infval)); }
makemathname(test_fma_1_inf_neginf)242 static FLOAT_T makemathname(test_fma_1_inf_neginf)(void) { return makemathname(fma)(makemathname(one), makemathname(infval), -makemathname(infval)); }
makemathname(test_fma_neginf_1_inf)243 static FLOAT_T makemathname(test_fma_neginf_1_inf)(void) { return makemathname(fma)(makemathname(one), -makemathname(infval), makemathname(infval)); }
makemathname(test_fma_1_neginf_inf)244 static FLOAT_T makemathname(test_fma_1_neginf_inf)(void) { return makemathname(fma)(-makemathname(infval), makemathname(one), makemathname(infval)); }
makemathname(test_fma_inf_0_1)245 static FLOAT_T makemathname(test_fma_inf_0_1)(void) { return makemathname(fma)(makemathname(infval), makemathname(zero), makemathname(one)); }
makemathname(test_fma_0_inf_1)246 static FLOAT_T makemathname(test_fma_0_inf_1)(void) { return makemathname(fma)(makemathname(zero), makemathname(infval), makemathname(one)); }
247 #ifdef __PICOLIBC__
makemathname(test_fma_inf_0_qnan)248 static FLOAT_T makemathname(test_fma_inf_0_qnan)(void) { return makemathname(fma)(makemathname(infval), makemathname(zero), makemathname(qnanval)); }
makemathname(test_fma_0_inf_qnan)249 static FLOAT_T makemathname(test_fma_0_inf_qnan)(void) { return makemathname(fma)(makemathname(zero), makemathname(infval), makemathname(qnanval)); }
makemathname(test_fma_inf_0_snan)250 static FLOAT_T makemathname(test_fma_inf_0_snan)(void) { return makemathname(fma)(makemathname(infval), makemathname(zero), makemathname(snanval)); }
makemathname(test_fma_0_inf_snan)251 static FLOAT_T makemathname(test_fma_0_inf_snan)(void) { return makemathname(fma)(makemathname(zero), makemathname(infval), makemathname(snanval)); }
252 #endif
253
254 #endif
255
makemathname(test_fmax_qnan_qnan)256 static FLOAT_T makemathname(test_fmax_qnan_qnan)(void) { return makemathname(fmax)(makemathname(qnanval), makemathname(qnanval)); }
makemathname(test_fmax_qnan_1)257 static FLOAT_T makemathname(test_fmax_qnan_1)(void) { return makemathname(fmax)(makemathname(qnanval), makemathname(one)); }
makemathname(test_fmax_1_qnan)258 static FLOAT_T makemathname(test_fmax_1_qnan)(void) { return makemathname(fmax)(makemathname(one), makemathname(qnanval)); }
259 #ifndef SKIP_SNAN_CHECKS
makemathname(test_fmax_snan_snan)260 static FLOAT_T makemathname(test_fmax_snan_snan)(void) { return makemathname(fmax)(makemathname(snanval), makemathname(snanval)); }
makemathname(test_fmax_snan_1)261 static FLOAT_T makemathname(test_fmax_snan_1)(void) { return makemathname(fmax)(makemathname(snanval), makemathname(one)); }
makemathname(test_fmax_1_snan)262 static FLOAT_T makemathname(test_fmax_1_snan)(void) { return makemathname(fmax)(makemathname(one), makemathname(snanval)); }
263 #endif
264
makemathname(test_fmin_qnan_qnan)265 static FLOAT_T makemathname(test_fmin_qnan_qnan)(void) { return makemathname(fmin)(makemathname(qnanval), makemathname(qnanval)); }
makemathname(test_fmin_qnan_1)266 static FLOAT_T makemathname(test_fmin_qnan_1)(void) { return makemathname(fmin)(makemathname(qnanval), makemathname(one)); }
makemathname(test_fmin_1_qnan)267 static FLOAT_T makemathname(test_fmin_1_qnan)(void) { return makemathname(fmin)(makemathname(one), makemathname(qnanval)); }
268 #ifndef SKIP_SNAN_CHECKS
makemathname(test_fmin_snan_snan)269 static FLOAT_T makemathname(test_fmin_snan_snan)(void) { return makemathname(fmin)(makemathname(snanval), makemathname(snanval)); }
makemathname(test_fmin_snan_1)270 static FLOAT_T makemathname(test_fmin_snan_1)(void) { return makemathname(fmin)(makemathname(snanval), makemathname(one)); }
makemathname(test_fmin_1_snan)271 static FLOAT_T makemathname(test_fmin_1_snan)(void) { return makemathname(fmin)(makemathname(one), makemathname(snanval)); }
272 #endif
273
274 #ifndef SIMPLE_MATH_ONLY
275
makemathname(test_fmod_qnan_1)276 static FLOAT_T makemathname(test_fmod_qnan_1)(void) { return makemathname(fmod)(makemathname(qnanval), makemathname(one)); }
makemathname(test_fmod_1_qnan)277 static FLOAT_T makemathname(test_fmod_1_qnan)(void) { return makemathname(fmod)(makemathname(one), makemathname(qnanval)); }
makemathname(test_fmod_snan_1)278 static FLOAT_T makemathname(test_fmod_snan_1)(void) { return makemathname(fmod)(makemathname(snanval), makemathname(one)); }
makemathname(test_fmod_1_snan)279 static FLOAT_T makemathname(test_fmod_1_snan)(void) { return makemathname(fmod)(makemathname(one), makemathname(snanval)); }
makemathname(test_fmod_inf_1)280 static FLOAT_T makemathname(test_fmod_inf_1)(void) { return makemathname(fmod)(makemathname(infval), makemathname(one)); }
makemathname(test_fmod_neginf_1)281 static FLOAT_T makemathname(test_fmod_neginf_1)(void) { return makemathname(fmod)(-makemathname(infval), makemathname(one)); }
makemathname(test_fmod_1_0)282 static FLOAT_T makemathname(test_fmod_1_0)(void) { return makemathname(fmod)(makemathname(one), makemathname(zero)); }
makemathname(test_fmod_0_1)283 static FLOAT_T makemathname(test_fmod_0_1)(void) { return makemathname(fmod)(makemathname(zero), makemathname(one)); }
makemathname(test_fmod_neg0_1)284 static FLOAT_T makemathname(test_fmod_neg0_1)(void) { return makemathname(fmod)(-makemathname(zero), makemathname(one)); }
285
286 #endif
287
makemathname(test_hypot_big)288 static FLOAT_T makemathname(test_hypot_big)(void) { return makemathname(hypot)(makemathname(big), makemathname(big)); }
makemathname(test_hypot_1_qnan)289 static FLOAT_T makemathname(test_hypot_1_qnan)(void) { return makemathname(hypot)(makemathname(one), makemathname(qnanval)); }
makemathname(test_hypot_qnan_1)290 static FLOAT_T makemathname(test_hypot_qnan_1)(void) { return makemathname(hypot)(makemathname(qnanval), makemathname(one)); }
makemathname(test_hypot_inf_qnan)291 static FLOAT_T makemathname(test_hypot_inf_qnan)(void) { return makemathname(hypot)(makemathname(infval), makemathname(qnanval)); }
makemathname(test_hypot_neginf_qnan)292 static FLOAT_T makemathname(test_hypot_neginf_qnan)(void) { return makemathname(hypot)(-makemathname(infval), makemathname(qnanval)); }
makemathname(test_hypot_qnan_inf)293 static FLOAT_T makemathname(test_hypot_qnan_inf)(void) { return makemathname(hypot)(makemathname(qnanval), makemathname(infval)); }
makemathname(test_hypot_qnan_neginf)294 static FLOAT_T makemathname(test_hypot_qnan_neginf)(void) { return makemathname(hypot)(makemathname(qnanval), -makemathname(infval)); }
295 #ifndef SKIP_SNAN_CHECKS
makemathname(test_hypot_snan_inf)296 static FLOAT_T makemathname(test_hypot_snan_inf)(void) { return makemathname(hypot)(makemathname(snanval), makemathname(infval)); }
makemathname(test_hypot_snan_neginf)297 static FLOAT_T makemathname(test_hypot_snan_neginf)(void) { return makemathname(hypot)(makemathname(snanval), -makemathname(infval)); }
298 #endif
makemathname(test_hypot_1_inf)299 static FLOAT_T makemathname(test_hypot_1_inf)(void) { return makemathname(hypot)(makemathname(one), makemathname(infval)); }
makemathname(test_hypot_1_neginf)300 static FLOAT_T makemathname(test_hypot_1_neginf)(void) { return makemathname(hypot)(makemathname(one), -makemathname(infval)); }
makemathname(test_hypot_inf_1)301 static FLOAT_T makemathname(test_hypot_inf_1)(void) { return makemathname(hypot)(makemathname(infval), makemathname(one)); }
makemathname(test_hypot_neginf_1)302 static FLOAT_T makemathname(test_hypot_neginf_1)(void) { return makemathname(hypot)(-makemathname(infval), makemathname(one)); }
303
makemathname(test_ilogb_0)304 static long long makemathname(test_ilogb_0)(void) { return makemathname(ilogb)(makemathname(zero)); }
makemathname(test_ilogb_qnan)305 static long long makemathname(test_ilogb_qnan)(void) { return makemathname(ilogb)(makemathname(qnanval)); }
makemathname(test_ilogb_snan)306 static long long makemathname(test_ilogb_snan)(void) { return makemathname(ilogb)(makemathname(snanval)); }
makemathname(test_ilogb_inf)307 static long long makemathname(test_ilogb_inf)(void) { return makemathname(ilogb)(makemathname(infval)); }
makemathname(test_ilogb_neginf)308 static long long makemathname(test_ilogb_neginf)(void) { return makemathname(ilogb)(-makemathname(infval)); }
309
makemathname(test_fpclassify_snan)310 static long long makemathname(test_fpclassify_snan)(void) { return fpclassify(makemathname(snanval)); }
makemathname(test_fpclassify_nan)311 static long long makemathname(test_fpclassify_nan)(void) { return fpclassify(makemathname(qnanval)); }
makemathname(test_fpclassify_inf)312 static long long makemathname(test_fpclassify_inf)(void) { return fpclassify(makemathname(infval)); }
makemathname(test_fpclassify_neginf)313 static long long makemathname(test_fpclassify_neginf)(void) { return fpclassify(-makemathname(infval)); }
makemathname(test_fpclassify_zero)314 static long long makemathname(test_fpclassify_zero)(void) { return fpclassify(makemathname(zero)); }
makemathname(test_fpclassify_negzero)315 static long long makemathname(test_fpclassify_negzero)(void) { return fpclassify(-makemathname(zero)); }
makemathname(test_fpclassify_small)316 static long long makemathname(test_fpclassify_small)(void) { return fpclassify(makemathname(small)); }
makemathname(test_fpclassify_negsmall)317 static long long makemathname(test_fpclassify_negsmall)(void) { return fpclassify(-makemathname(small)); }
makemathname(test_fpclassify_two)318 static long long makemathname(test_fpclassify_two)(void) { return fpclassify(makemathname(two)); }
makemathname(test_fpclassify_negtwo)319 static long long makemathname(test_fpclassify_negtwo)(void) { return fpclassify(-makemathname(two)); }
320
makemathname(test_isfinite_snan)321 static long long makemathname(test_isfinite_snan)(void) { return !!isfinite(makemathname(snanval)); }
makemathname(test_isfinite_nan)322 static long long makemathname(test_isfinite_nan)(void) { return !!isfinite(makemathname(qnanval)); }
makemathname(test_isfinite_inf)323 static long long makemathname(test_isfinite_inf)(void) { return !!isfinite(makemathname(infval)); }
makemathname(test_isfinite_neginf)324 static long long makemathname(test_isfinite_neginf)(void) { return !!isfinite(-makemathname(infval)); }
makemathname(test_isfinite_zero)325 static long long makemathname(test_isfinite_zero)(void) { return !!isfinite(makemathname(zero)); }
makemathname(test_isfinite_negzero)326 static long long makemathname(test_isfinite_negzero)(void) { return !!isfinite(-makemathname(zero)); }
makemathname(test_isfinite_small)327 static long long makemathname(test_isfinite_small)(void) { return !!isfinite(makemathname(small)); }
makemathname(test_isfinite_negsmall)328 static long long makemathname(test_isfinite_negsmall)(void) { return !!isfinite(-makemathname(small)); }
makemathname(test_isfinite_two)329 static long long makemathname(test_isfinite_two)(void) { return !!isfinite(makemathname(two)); }
makemathname(test_isfinite_negtwo)330 static long long makemathname(test_isfinite_negtwo)(void) { return !!isfinite(-makemathname(two)); }
331
makemathname(test_isnormal_snan)332 static long long makemathname(test_isnormal_snan)(void) { return !!isnormal(makemathname(snanval)); }
makemathname(test_isnormal_nan)333 static long long makemathname(test_isnormal_nan)(void) { return !!isnormal(makemathname(qnanval)); }
makemathname(test_isnormal_inf)334 static long long makemathname(test_isnormal_inf)(void) { return !!isnormal(makemathname(infval)); }
makemathname(test_isnormal_neginf)335 static long long makemathname(test_isnormal_neginf)(void) { return !!isnormal(-makemathname(infval)); }
makemathname(test_isnormal_zero)336 static long long makemathname(test_isnormal_zero)(void) { return !!isnormal(makemathname(zero)); }
makemathname(test_isnormal_negzero)337 static long long makemathname(test_isnormal_negzero)(void) { return !!isnormal(-makemathname(zero)); }
makemathname(test_isnormal_small)338 static long long makemathname(test_isnormal_small)(void) { return !!isnormal(makemathname(small)); }
makemathname(test_isnormal_negsmall)339 static long long makemathname(test_isnormal_negsmall)(void) { return !!isnormal(-makemathname(small)); }
makemathname(test_isnormal_two)340 static long long makemathname(test_isnormal_two)(void) { return !!isnormal(makemathname(two)); }
makemathname(test_isnormal_negtwo)341 static long long makemathname(test_isnormal_negtwo)(void) { return !!isnormal(-makemathname(two)); }
342
makemathname(test_isnan_snan)343 static long long makemathname(test_isnan_snan)(void) { return !!isnan(makemathname(snanval)); }
makemathname(test_isnan_nan)344 static long long makemathname(test_isnan_nan)(void) { return !!isnan(makemathname(qnanval)); }
makemathname(test_isnan_inf)345 static long long makemathname(test_isnan_inf)(void) { return !!isnan(makemathname(infval)); }
makemathname(test_isnan_neginf)346 static long long makemathname(test_isnan_neginf)(void) { return !!isnan(-makemathname(infval)); }
makemathname(test_isnan_zero)347 static long long makemathname(test_isnan_zero)(void) { return !!isnan(makemathname(zero)); }
makemathname(test_isnan_negzero)348 static long long makemathname(test_isnan_negzero)(void) { return !!isnan(-makemathname(zero)); }
makemathname(test_isnan_small)349 static long long makemathname(test_isnan_small)(void) { return !!isnan(makemathname(small)); }
makemathname(test_isnan_negsmall)350 static long long makemathname(test_isnan_negsmall)(void) { return !!isnan(-makemathname(small)); }
makemathname(test_isnan_two)351 static long long makemathname(test_isnan_two)(void) { return !!isnan(makemathname(two)); }
makemathname(test_isnan_negtwo)352 static long long makemathname(test_isnan_negtwo)(void) { return !!isnan(-makemathname(two)); }
353
makemathname(test_isinf_snan)354 static long long makemathname(test_isinf_snan)(void) { return !!isinf(makemathname(snanval)); }
makemathname(test_isinf_nan)355 static long long makemathname(test_isinf_nan)(void) { return !!isinf(makemathname(qnanval)); }
makemathname(test_isinf_inf)356 static long long makemathname(test_isinf_inf)(void) { return !!isinf(makemathname(infval)); }
makemathname(test_isinf_neginf)357 static long long makemathname(test_isinf_neginf)(void) { return !!isinf(-makemathname(infval)); }
makemathname(test_isinf_zero)358 static long long makemathname(test_isinf_zero)(void) { return !!isinf(makemathname(zero)); }
makemathname(test_isinf_negzero)359 static long long makemathname(test_isinf_negzero)(void) { return !!isinf(-makemathname(zero)); }
makemathname(test_isinf_small)360 static long long makemathname(test_isinf_small)(void) { return !!isinf(makemathname(small)); }
makemathname(test_isinf_negsmall)361 static long long makemathname(test_isinf_negsmall)(void) { return !!isinf(-makemathname(small)); }
makemathname(test_isinf_two)362 static long long makemathname(test_isinf_two)(void) { return !!isinf(makemathname(two)); }
makemathname(test_isinf_negtwo)363 static long long makemathname(test_isinf_negtwo)(void) { return !!isinf(-makemathname(two)); }
364
365 #ifndef SIMPLE_MATH_ONLY
366
367 #ifndef NO_BESSEL_TESTS
368
makemathname(test_j0_inf)369 static FLOAT_T makemathname(test_j0_inf)(void) { return makemathname(j0)(makemathname(infval)); }
makemathname(test_j0_qnan)370 static FLOAT_T makemathname(test_j0_qnan)(void) { return makemathname(j0)(makemathname(qnanval)); }
makemathname(test_j0_snan)371 static FLOAT_T makemathname(test_j0_snan)(void) { return makemathname(j0)(makemathname(snanval)); }
372
makemathname(test_j1_inf)373 static FLOAT_T makemathname(test_j1_inf)(void) { return makemathname(j1)(makemathname(infval)); }
makemathname(test_j1_qnan)374 static FLOAT_T makemathname(test_j1_qnan)(void) { return makemathname(j1)(makemathname(qnanval)); }
makemathname(test_j1_snan)375 static FLOAT_T makemathname(test_j1_snan)(void) { return makemathname(j1)(makemathname(snanval)); }
376
makemathname(test_jn_inf)377 static FLOAT_T makemathname(test_jn_inf)(void) { return makemathname(jn)(3, makemathname(infval)); }
makemathname(test_jn_qnan)378 static FLOAT_T makemathname(test_jn_qnan)(void) { return makemathname(jn)(3, makemathname(qnanval)); }
makemathname(test_jn_snan)379 static FLOAT_T makemathname(test_jn_snan)(void) { return makemathname(jn)(3, makemathname(snanval)); }
380 #endif
381
382 #endif
383
makemathname(test_ldexp_1_0)384 static FLOAT_T makemathname(test_ldexp_1_0)(void) { return makemathname(ldexp)(makemathname(one), 0); }
makemathname(test_ldexp_qnan_0)385 static FLOAT_T makemathname(test_ldexp_qnan_0)(void) { return makemathname(ldexp)(makemathname(qnanval), 0); }
makemathname(test_ldexp_snan_0)386 static FLOAT_T makemathname(test_ldexp_snan_0)(void) { return makemathname(ldexp)(makemathname(snanval), 0); }
makemathname(test_ldexp_inf_0)387 static FLOAT_T makemathname(test_ldexp_inf_0)(void) { return makemathname(ldexp)(makemathname(infval), 0); }
makemathname(test_ldexp_neginf_0)388 static FLOAT_T makemathname(test_ldexp_neginf_0)(void) { return makemathname(ldexp)(-makemathname(infval), 0); }
makemathname(test_ldexp_1_negbig)389 static FLOAT_T makemathname(test_ldexp_1_negbig)(void) { return makemathname(ldexp)(makemathname(one), -(__DBL_MAX_EXP__ * 20)); }
makemathname(test_ldexp_1_big)390 static FLOAT_T makemathname(test_ldexp_1_big)(void) { return makemathname(ldexp)(makemathname(one),(__DBL_MAX_EXP__ * 20)); }
391
makemathname(test_rint_qnan)392 static FLOAT_T makemathname(test_rint_qnan)(void) { return makemathname(rint)(makemathname(qnanval)); }
makemathname(test_rint_snan)393 static FLOAT_T makemathname(test_rint_snan)(void) { return makemathname(rint)(makemathname(snanval)); }
makemathname(test_rint_inf)394 static FLOAT_T makemathname(test_rint_inf)(void) { return makemathname(rint)(makemathname(infval)); }
makemathname(test_rint_neginf)395 static FLOAT_T makemathname(test_rint_neginf)(void) { return makemathname(rint)(-makemathname(infval)); }
makemathname(test_rint_big)396 static FLOAT_T makemathname(test_rint_big)(void) { return makemathname(rint)(makemathname(big)); }
makemathname(test_rint_negbig)397 static FLOAT_T makemathname(test_rint_negbig)(void) { return makemathname(rint)(-makemathname(big)); }
makemathname(test_rint_half)398 static FLOAT_T makemathname(test_rint_half)(void) { return makemathname(rint)(makemathname(half)); }
makemathname(test_rint_neghalf)399 static FLOAT_T makemathname(test_rint_neghalf)(void) { return makemathname(rint)(makemathname(half)); }
400
401 #ifndef SIMPLE_MATH_ONLY
402
makemathname(test_nearbyint_qnan)403 static FLOAT_T makemathname(test_nearbyint_qnan)(void) { return makemathname(nearbyint)(makemathname(qnanval)); }
makemathname(test_nearbyint_snan)404 static FLOAT_T makemathname(test_nearbyint_snan)(void) { return makemathname(nearbyint)(makemathname(snanval)); }
makemathname(test_nearbyint_inf)405 static FLOAT_T makemathname(test_nearbyint_inf)(void) { return makemathname(nearbyint)(makemathname(infval)); }
makemathname(test_nearbyint_neginf)406 static FLOAT_T makemathname(test_nearbyint_neginf)(void) { return makemathname(nearbyint)(-makemathname(infval)); }
makemathname(test_nearbyint_big)407 static FLOAT_T makemathname(test_nearbyint_big)(void) { return makemathname(nearbyint)(makemathname(big)); }
makemathname(test_nearbyint_negbig)408 static FLOAT_T makemathname(test_nearbyint_negbig)(void) { return makemathname(nearbyint)(-makemathname(big)); }
makemathname(test_nearbyint_half)409 static FLOAT_T makemathname(test_nearbyint_half)(void) { return makemathname(nearbyint)(makemathname(half)); }
makemathname(test_nearbyint_neghalf)410 static FLOAT_T makemathname(test_nearbyint_neghalf)(void) { return makemathname(nearbyint)(makemathname(half)); }
411
412 #endif
413
414 static volatile long long makemathname(llignore);
415
makemathname(test_lrint_zero)416 static long long makemathname(test_lrint_zero)(void) { return makemathname(lrint)(makemathname(zero)); }
makemathname(test_lrint_negzero)417 static long long makemathname(test_lrint_negzero)(void) { return makemathname(lrint)(makemathname(negzero)); }
makemathname(test_lrint_qnan)418 static long long makemathname(test_lrint_qnan)(void) { makemathname(llignore) = makemathname(lrint)(makemathname(qnanval)); return 0; }
makemathname(test_lrint_snan)419 static long long makemathname(test_lrint_snan)(void) { makemathname(llignore) = makemathname(lrint)(makemathname(snanval)); return 0; }
makemathname(test_lrint_inf)420 static long long makemathname(test_lrint_inf)(void) { makemathname(llignore) = makemathname(lrint)(makemathname(infval)); return 0; }
makemathname(test_lrint_neginf)421 static long long makemathname(test_lrint_neginf)(void) { makemathname(llignore) = makemathname(lrint)(-makemathname(infval)); return 0; }
makemathname(test_lrint_big)422 static long long makemathname(test_lrint_big)(void) { makemathname(llignore) = makemathname(lrint)(makemathname(big)); return 0; }
makemathname(test_lrint_negbig)423 static long long makemathname(test_lrint_negbig)(void) { makemathname(llignore) = makemathname(lrint)(-makemathname(big)); return 0; }
makemathname(test_lrint_long_max_mask)424 static long long makemathname(test_lrint_long_max_mask)(void) { return makemathname(lrint)(makemathname(long_max_mask)); }
makemathname(test_lrint_long_min_mask)425 static long long makemathname(test_lrint_long_min_mask)(void) { return makemathname(lrint)(makemathname(long_min_mask)); }
makemathname(test_lrint_long_max_one)426 static long long makemathname(test_lrint_long_max_one)(void) { return makemathname(lrint)(makemathname(long_max_one)); }
makemathname(test_lrint_long_min_one)427 static long long makemathname(test_lrint_long_min_one)(void) { return makemathname(lrint)(makemathname(long_min_one)); }
428
makemathname(test_llrint_qnan)429 static long long makemathname(test_llrint_qnan)(void) { makemathname(llignore) = makemathname(llrint)(makemathname(qnanval)); return 0; }
makemathname(test_llrint_snan)430 static long long makemathname(test_llrint_snan)(void) { makemathname(llignore) = makemathname(llrint)(makemathname(snanval)); return 0; }
makemathname(test_llrint_inf)431 static long long makemathname(test_llrint_inf)(void) { makemathname(llignore) = makemathname(llrint)(makemathname(infval)); return 0; }
makemathname(test_llrint_neginf)432 static long long makemathname(test_llrint_neginf)(void) { makemathname(llignore) = makemathname(llrint)(-makemathname(infval)); return 0; }
makemathname(test_llrint_big)433 static long long makemathname(test_llrint_big)(void) { makemathname(llignore) = makemathname(llrint)(makemathname(big)); return 0; }
makemathname(test_llrint_negbig)434 static long long makemathname(test_llrint_negbig)(void) { makemathname(llignore) = makemathname(llrint)(-makemathname(big)); return 0; }
makemathname(test_llrint_long_long_max_mask)435 static long long makemathname(test_llrint_long_long_max_mask)(void) { return makemathname(llrint)(makemathname(long_long_max_mask)); }
makemathname(test_llrint_long_long_min_mask)436 static long long makemathname(test_llrint_long_long_min_mask)(void) { return makemathname(llrint)(makemathname(long_long_min_mask)); }
makemathname(test_llrint_long_long_max_one)437 static long long makemathname(test_llrint_long_long_max_one)(void) { return makemathname(llrint)(makemathname(long_long_max_one)); }
makemathname(test_llrint_long_long_min_one)438 static long long makemathname(test_llrint_long_long_min_one)(void) { return makemathname(llrint)(makemathname(long_long_min_one)); }
439
makemathname(test_lround_qnan)440 static long long makemathname(test_lround_qnan)(void) { makemathname(llignore) = makemathname(lround)(makemathname(qnanval)); return 0; }
makemathname(test_lround_snan)441 static long long makemathname(test_lround_snan)(void) { makemathname(llignore) = makemathname(lround)(makemathname(snanval)); return 0; }
makemathname(test_lround_inf)442 static long long makemathname(test_lround_inf)(void) { makemathname(llignore) = makemathname(lround)(makemathname(infval)); return 0; }
makemathname(test_lround_neginf)443 static long long makemathname(test_lround_neginf)(void) { makemathname(llignore) = makemathname(lround)(-makemathname(infval)); return 0; }
makemathname(test_lround_big)444 static long long makemathname(test_lround_big)(void) { makemathname(llignore) = makemathname(lround)(makemathname(big)); return 0; }
makemathname(test_lround_negbig)445 static long long makemathname(test_lround_negbig)(void) { makemathname(llignore) = makemathname(lround)(-makemathname(big)); return 0; }
makemathname(test_lround_long_max_mask)446 static long long makemathname(test_lround_long_max_mask)(void) { return makemathname(lround)(makemathname(long_max_mask)); }
makemathname(test_lround_long_min_mask)447 static long long makemathname(test_lround_long_min_mask)(void) { return makemathname(lround)(makemathname(long_min_mask)); }
makemathname(test_lround_long_max_one)448 static long long makemathname(test_lround_long_max_one)(void) { return makemathname(lround)(makemathname(long_max_one)); }
makemathname(test_lround_long_min_one)449 static long long makemathname(test_lround_long_min_one)(void) { return makemathname(lround)(makemathname(long_min_one)); }
450
makemathname(test_llround_qnan)451 static long long makemathname(test_llround_qnan)(void) { makemathname(llignore) = makemathname(llround)(makemathname(qnanval)); return 0; }
makemathname(test_llround_snan)452 static long long makemathname(test_llround_snan)(void) { makemathname(llignore) = makemathname(llround)(makemathname(snanval)); return 0; }
makemathname(test_llround_inf)453 static long long makemathname(test_llround_inf)(void) { makemathname(llignore) = makemathname(llround)(makemathname(infval)); return 0; }
makemathname(test_llround_neginf)454 static long long makemathname(test_llround_neginf)(void) { makemathname(llignore) = makemathname(llround)(-makemathname(infval)); return 0; }
makemathname(test_llround_big)455 static long long makemathname(test_llround_big)(void) { makemathname(llignore) = makemathname(llround)(makemathname(big)); return 0; }
makemathname(test_llround_negbig)456 static long long makemathname(test_llround_negbig)(void) { makemathname(llignore) = makemathname(llround)(-makemathname(big)); return 0; }
makemathname(test_llround_long_long_max_mask)457 static long long makemathname(test_llround_long_long_max_mask)(void) { return makemathname(llround)(makemathname(long_long_max_mask)); }
makemathname(test_llround_long_long_min_mask)458 static long long makemathname(test_llround_long_long_min_mask)(void) { return makemathname(llround)(makemathname(long_long_min_mask)); }
makemathname(test_llround_long_long_max_one)459 static long long makemathname(test_llround_long_long_max_one)(void) { return makemathname(llround)(makemathname(long_long_max_one)); }
makemathname(test_llround_long_long_min_one)460 static long long makemathname(test_llround_long_long_min_one)(void) { return makemathname(llround)(makemathname(long_long_min_one)); }
461
462 #ifndef SIMPLE_MATH_ONLY
463
makemathname(test_nextafter_0_neg0)464 static FLOAT_T makemathname(test_nextafter_0_neg0)(void) { return makemathname(nextafter)(makemathname(zero), -makemathname(zero)); }
makemathname(test_nextafter_neg0_0)465