Browse Source

prune math code on archs with binary64 long double

__polevll, __p1evll and exp10l were provided on archs when long double
is the same as double. The first two were completely unused and exp10l
can be a wrapper around exp10.
Szabolcs Nagy 10 years ago
parent
commit
0c32c2635e
2 changed files with 10 additions and 0 deletions
  1. 3 0
      src/math/__polevll.c
  2. 7 0
      src/math/exp10l.c

+ 3 - 0
src/math/__polevll.c

@@ -56,6 +56,8 @@
 
 #include "libm.h"
 
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+#else
 /*
  * Polynomial evaluator:
  *  P[0] x^n  +  P[1] x^(n-1)  +  ...  +  P[n]
@@ -88,3 +90,4 @@ long double __p1evll(long double x, const long double *P, int n)
 
 	return y;
 }
+#endif

+ 7 - 0
src/math/exp10l.c

@@ -2,6 +2,12 @@
 #include <math.h>
 #include "libc.h"
 
+#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+long double exp10l(long double x)
+{
+	return exp10(x);
+}
+#else
 long double exp10l(long double x)
 {
 	static const long double p10[] = {
@@ -18,5 +24,6 @@ long double exp10l(long double x)
 	}
 	return powl(10.0, x);
 }
+#endif
 
 weak_alias(exp10l, pow10l);