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