OLD | NEW |
1 #include <math.h> | 1 #include <math.h> |
2 #include <float.h> | 2 #include <float.h> |
3 | 3 |
4 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 | 4 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 |
5 long double fminl(long double x, long double y) | 5 long double fminl(long double x, long double y) { |
6 { | 6 return fmin(x, y); |
7 » return fmin(x, y); | |
8 } | 7 } |
9 #else | 8 #else |
10 long double fminl(long double x, long double y) | 9 long double fminl(long double x, long double y) { |
11 { | 10 if (isnan(x)) |
12 » if (isnan(x)) | 11 return y; |
13 » » return y; | 12 if (isnan(y)) |
14 » if (isnan(y)) | 13 return x; |
15 » » return x; | 14 /* handle signed zeros, see C99 Annex F.9.9.2 */ |
16 » /* handle signed zeros, see C99 Annex F.9.9.2 */ | 15 if (signbit(x) != signbit(y)) |
17 » if (signbit(x) != signbit(y)) | 16 return signbit(x) ? x : y; |
18 » » return signbit(x) ? x : y; | 17 return x < y ? x : y; |
19 » return x < y ? x : y; | |
20 } | 18 } |
21 #endif | 19 #endif |
OLD | NEW |