aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp.c17
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp2.c16
-rw-r--r--sysdeps/ieee754/dbl-64/w_exp.c1
-rw-r--r--sysdeps/ieee754/dbl-64/w_exp2.c1
4 files changed, 29 insertions, 6 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c
index 37fdafcfa0..9e55c50a4d 100644
--- a/sysdeps/ieee754/dbl-64/e_exp.c
+++ b/sysdeps/ieee754/dbl-64/e_exp.c
@@ -20,6 +20,9 @@
#include <stdint.h>
#include <math-barriers.h>
#include <math-narrow-eval.h>
+#include <math-svid-compat.h>
+#include <shlib-compat.h>
+#include <libm-alias-double.h>
#include "math_config.h"
#define N (1 << EXP_TABLE_BITS)
@@ -91,7 +94,7 @@ top12 (double x)
double
SECTION
-__ieee754_exp (double x)
+__exp (double x)
{
uint32_t abstop;
uint64_t ki, idx, top, sbits;
@@ -153,6 +156,14 @@ __ieee754_exp (double x)
is no spurious underflow here even without fma. */
return scale + scale * tmp;
}
-#ifndef __ieee754_exp
-strong_alias (__ieee754_exp, __exp_finite)
+#ifndef __exp
+hidden_def (__exp)
+strong_alias (__exp, __ieee754_exp)
+strong_alias (__exp, __exp_finite)
+# if LIBM_SVID_COMPAT
+versioned_symbol (libm, __exp, exp, GLIBC_2_29);
+libm_alias_double_other (__exp, exp)
+# else
+libm_alias_double (__exp, exp)
+# endif
#endif
diff --git a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c
index 96afcf9c20..48741e8452 100644
--- a/sysdeps/ieee754/dbl-64/e_exp2.c
+++ b/sysdeps/ieee754/dbl-64/e_exp2.c
@@ -20,6 +20,9 @@
#include <stdint.h>
#include <math-barriers.h>
#include <math-narrow-eval.h>
+#include <math-svid-compat.h>
+#include <shlib-compat.h>
+#include <libm-alias-double.h>
#include "math_config.h"
#define N (1 << EXP_TABLE_BITS)
@@ -84,7 +87,7 @@ top12 (double x)
}
double
-__ieee754_exp2 (double x)
+__exp2 (double x)
{
uint32_t abstop;
uint64_t ki, idx, top, sbits;
@@ -140,6 +143,13 @@ __ieee754_exp2 (double x)
is no spurious underflow here even without fma. */
return scale + scale * tmp;
}
-#ifndef __ieee754_exp2
-strong_alias (__ieee754_exp2, __exp2_finite)
+#ifndef __exp2
+strong_alias (__exp2, __ieee754_exp2)
+strong_alias (__exp2, __exp2_finite)
+# if LIBM_SVID_COMPAT
+versioned_symbol (libm, __exp2, exp2, GLIBC_2_29);
+libm_alias_double_other (__exp2, exp2)
+# else
+libm_alias_double (__exp2, exp2)
+# endif
#endif
diff --git a/sysdeps/ieee754/dbl-64/w_exp.c b/sysdeps/ieee754/dbl-64/w_exp.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ieee754/dbl-64/w_exp.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ieee754/dbl-64/w_exp2.c b/sysdeps/ieee754/dbl-64/w_exp2.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ieee754/dbl-64/w_exp2.c
@@ -0,0 +1 @@
+/* Not needed. */