fix return value of ungetc when argument is outside unsigned char range
[musl.git] / src / math / fminl.c
blob69bc24a79bef742518735980c2ff5919589fbb46
1 #include <math.h>
2 #include <float.h>
4 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
5 long double fminl(long double x, long double y)
7 return fmin(x, y);
9 #else
10 long double fminl(long double x, long double y)
12 if (isnan(x))
13 return y;
14 if (isnan(y))
15 return x;
16 /* handle signed zeros, see C99 Annex F.9.9.2 */
17 if (signbit(x) != signbit(y))
18 return signbit(x) ? x : y;
19 return x < y ? x : y;
21 #endif