lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 1 | #include <math.h> |
| 2 | |
| 3 | static int testf(float float_x, long double long_double_x, /*float complex float_complex_x,*/ int int_x, long long_x) |
| 4 | { |
| 5 | int r = 0; |
| 6 | r += acosf(float_x); |
| 7 | r += acoshf(float_x); |
| 8 | r += asinf(float_x); |
| 9 | r += asinhf(float_x); |
| 10 | r += atan2f(float_x, float_x); |
| 11 | r += atanf(float_x); |
| 12 | r += atanhf(float_x); |
| 13 | /*r += cargf(float_complex_x); - will fight with complex numbers later */ |
| 14 | r += cbrtf(float_x); |
| 15 | r += ceilf(float_x); |
| 16 | r += copysignf(float_x, float_x); |
| 17 | r += cosf(float_x); |
| 18 | r += coshf(float_x); |
| 19 | r += erfcf(float_x); |
| 20 | r += erff(float_x); |
| 21 | r += exp2f(float_x); |
| 22 | r += expf(float_x); |
| 23 | r += expm1f(float_x); |
| 24 | r += fabsf(float_x); |
| 25 | /*r += fdimf(float_x, float_x); - uclibc does not have it (yet?) */ |
| 26 | r += floorf(float_x); |
| 27 | /*r += fmaf(float_x, float_x, float_x); - uclibc does not have it (yet?) */ |
| 28 | /*r += fmaxf(float_x, float_x); - uclibc does not have it (yet?) */ |
| 29 | /*r += fminf(float_x, float_x); - uclibc does not have it (yet?) */ |
| 30 | r += fmodf(float_x, float_x); |
| 31 | r += frexpf(float_x, &int_x); |
| 32 | r += gammaf(float_x); |
| 33 | r += hypotf(float_x, float_x); |
| 34 | r += ilogbf(float_x); |
| 35 | r += ldexpf(float_x, int_x); |
| 36 | r += lgammaf(float_x); |
| 37 | r += llrintf(float_x); |
| 38 | r += llroundf(float_x); |
| 39 | r += log10f(float_x); |
| 40 | r += log1pf(float_x); |
| 41 | r += log2f(float_x); |
| 42 | r += logbf(float_x); |
| 43 | r += logf(float_x); |
| 44 | r += lrintf(float_x); |
| 45 | r += lroundf(float_x); |
| 46 | r += modff(float_x, &float_x); |
| 47 | /*r += nearbyintf(float_x); - uclibc does not have it (yet?) */ |
| 48 | /*r += nexttowardf(float_x, long_double_x); - uclibc does not have it (yet?) */ |
| 49 | r += powf(float_x, float_x); |
| 50 | r += remainderf(float_x, float_x); |
| 51 | /*r += remquof(float_x, float_x, &int_x); - uclibc does not have it (yet?) */ |
| 52 | r += rintf(float_x); |
| 53 | r += roundf(float_x); |
| 54 | #ifdef __UCLIBC_SUSV3_LEGACY__ |
| 55 | r += scalbf(float_x, float_x); |
| 56 | #endif |
| 57 | /*r += scalblnf(float_x, long_x); - uclibc does not have it (yet?) */ |
| 58 | r += scalbnf(float_x, int_x); |
| 59 | r += significandf(float_x); |
| 60 | r += sinf(float_x); |
| 61 | r += sinhf(float_x); |
| 62 | r += sqrtf(float_x); |
| 63 | r += tanf(float_x); |
| 64 | r += tanhf(float_x); |
| 65 | /*r += tgammaf(float_x); - uclibc does not have it (yet?) */ |
| 66 | r += truncf(float_x); |
| 67 | return r; |
| 68 | } |
| 69 | |
| 70 | static int testl(long double long_double_x, int int_x, long long_x) |
| 71 | { |
| 72 | int r = 0; |
| 73 | r += __finitel(long_double_x); |
| 74 | r += __fpclassifyl(long_double_x); |
| 75 | r += __isinfl(long_double_x); |
| 76 | r += __isnanl(long_double_x); |
| 77 | r += __signbitl(long_double_x); |
| 78 | r += acoshl(long_double_x); |
| 79 | r += acosl(long_double_x); |
| 80 | r += asinhl(long_double_x); |
| 81 | r += asinl(long_double_x); |
| 82 | r += atan2l(long_double_x, long_double_x); |
| 83 | r += atanhl(long_double_x); |
| 84 | r += atanl(long_double_x); |
| 85 | r += cbrtl(long_double_x); |
| 86 | r += ceill(long_double_x); |
| 87 | r += copysignl(long_double_x, long_double_x); |
| 88 | r += coshl(long_double_x); |
| 89 | r += cosl(long_double_x); |
| 90 | r += erfcl(long_double_x); |
| 91 | r += erfl(long_double_x); |
| 92 | r += exp2l(long_double_x); |
| 93 | r += expl(long_double_x); |
| 94 | r += expm1l(long_double_x); |
| 95 | r += fabsl(long_double_x); |
| 96 | r += fdiml(long_double_x, long_double_x); |
| 97 | r += floorl(long_double_x); |
| 98 | r += fmal(long_double_x, long_double_x, long_double_x); |
| 99 | r += fmaxl(long_double_x, long_double_x); |
| 100 | r += fminl(long_double_x, long_double_x); |
| 101 | r += fmodl(long_double_x, long_double_x); |
| 102 | r += frexpl(long_double_x, &int_x); |
| 103 | r += hypotl(long_double_x, long_double_x); |
| 104 | r += ilogbl(long_double_x); |
| 105 | r += ldexpl(long_double_x, int_x); |
| 106 | r += lgammal(long_double_x); |
| 107 | r += llrintl(long_double_x); |
| 108 | r += llroundl(long_double_x); |
| 109 | r += log10l(long_double_x); |
| 110 | r += log1pl(long_double_x); |
| 111 | r += log2l(long_double_x); |
| 112 | r += logbl(long_double_x); |
| 113 | r += logl(long_double_x); |
| 114 | r += lrintl(long_double_x); |
| 115 | r += lroundl(long_double_x); |
| 116 | r += modfl(long_double_x, &long_double_x); |
| 117 | r += nearbyintl(long_double_x); |
| 118 | r += nextafterl(long_double_x, long_double_x); |
| 119 | /* r += nexttowardl(long_double_x, long_double_x); - uclibc doesn't provide this [yet?] */ |
| 120 | r += powl(long_double_x, long_double_x); |
| 121 | r += remainderl(long_double_x, long_double_x); |
| 122 | r += remquol(long_double_x, long_double_x, &int_x); |
| 123 | r += rintl(long_double_x); |
| 124 | r += roundl(long_double_x); |
| 125 | r += scalblnl(long_double_x, long_x); |
| 126 | r += scalbnl(long_double_x, int_x); |
| 127 | r += sinhl(long_double_x); |
| 128 | r += sinl(long_double_x); |
| 129 | r += sqrtl(long_double_x); |
| 130 | r += tanhl(long_double_x); |
| 131 | r += tanl(long_double_x); |
| 132 | r += tgammal(long_double_x); |
| 133 | r += truncl(long_double_x); |
| 134 | return r; |
| 135 | } |
| 136 | |
| 137 | int main(int argc, char **argv) |
| 138 | { |
| 139 | /* Always 0 but gcc hopefully won't be able to notice */ |
| 140 | return 5 & ((long)&testf) & ((long)&testl) & 2; |
| 141 | } |