github.com/afumu/libc@v0.0.6/musl/src/math/fmaxl.c (about)

     1  #include <math.h>
     2  #include <float.h>
     3  
     4  #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
     5  long double fmaxl(long double x, long double y)
     6  {
     7  	return fmax(x, y);
     8  }
     9  #else
    10  long double fmaxl(long double x, long double y)
    11  {
    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) ? y : x;
    19  	return x < y ? y : x;
    20  }
    21  #endif