math: fix pow signed shift ub
[oweals/musl.git] / src / math / fminf.c
1 #include <math.h>
2
3 float fminf(float x, float y)
4 {
5         if (isnan(x))
6                 return y;
7         if (isnan(y))
8                 return x;
9         /* handle signed zeros, see C99 Annex F.9.9.2 */
10         if (signbit(x) != signbit(y))
11                 return signbit(x) ? x : y;
12         return x < y ? x : y;
13 }