fmin.c raw

   1  #include <math.h>
   2  
   3  double fmin(double x, double 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  }
  14