#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double expl(long double x)
{
- return x;
+ return exp(x);
}
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
#include "libm.h"
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double fdiml(long double x, long double y)
+{
+ return fdim(x, y);
+}
+#else
long double fdiml(long double x, long double y)
{
if (isnan(x))
return y;
return x > y ? x - y : 0;
}
+#endif
#include "libm.h"
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double fmaxl(long double x, long double y)
+{
+ return fmax(x, y);
+}
+#else
long double fmaxl(long double x, long double y)
{
if (isnan(x))
return signbit(x) ? y : x;
return x < y ? y : x;
}
+#endif
#include "libm.h"
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double fminl(long double x, long double y)
+{
+ return fmin(x, y);
+}
+#else
long double fminl(long double x, long double y)
{
if (isnan(x))
return signbit(x) ? x : y;
return x < y ? x : y;
}
+#endif
#include <limits.h>
#include "libm.h"
+
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
int ilogbl(long double x)
{
#include "libm.h"
+
double ldexp(double x, int n)
{
return scalbn(x, n);
#include "libm.h"
+
float ldexpf(float x, int n)
{
return scalbnf(x, n);
#include "libm.h"
+
long double ldexpl(long double x, int n)
{
return scalbnl(x, n);
#include "libm.h"
+
long double nexttowardl(long double x, long double y)
{
return nextafterl(x, y);
#include "libm.h"
-#if LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double powl(long double x, long double y)
+{
+ return pow(x, y);
+}
+#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
/* Table size */
#define NXT 32
#include "libm.h"
+
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double remainderl(long double x, long double y)
{
*/
#include "libm.h"
+
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double remquol(long double x, long double y, int *quo)
{
#include <limits.h>
#include "libm.h"
+
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double scalblnl(long double x, long n)
+{
+ return scalbln(x, n);
+}
+#else
long double scalblnl(long double x, long n)
{
if (n > INT_MAX)
n = INT_MIN;
return scalbnl(x, n);
}
+#endif