aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2012-12-28 09:40:10 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2012-12-28 09:40:10 +0530
commit99136f82027a5d6276c94a25d8392a7b571a08a3 (patch)
treebeecdcf8fbbe006aa512fb0a6eab478535d5dcb9
parent7fffbdfff7d39cec0783e5b9381fa4093484c235 (diff)
downloadglibc-99136f82027a5d6276c94a25d8392a7b571a08a3.zip
glibc-99136f82027a5d6276c94a25d8392a7b571a08a3.tar.gz
glibc-99136f82027a5d6276c94a25d8392a7b571a08a3.tar.bz2
Replace constants with preprocessor defines
libm Code cleanup.
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/ieee754/dbl-64/mpa.c4
-rw-r--r--sysdeps/ieee754/dbl-64/mpa2.h76
-rw-r--r--sysdeps/ieee754/dbl-64/mpatan.h14
-rw-r--r--sysdeps/ieee754/dbl-64/mpexp.h34
-rw-r--r--sysdeps/ieee754/dbl-64/mpsqrt.h20
6 files changed, 38 insertions, 120 deletions
diff --git a/ChangeLog b/ChangeLog
index 879fe2d..f3e2201 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-12-28 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * sysdeps/ieee754/dbl-64/mpa.c (norm): Define R as RADIXI.
+ (norm): Likewise.
+ * sysdeps/ieee754/dbl-64/mpa2.h: Remove all static const
+ variables with preprocessor constants.
+ * sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
+ * sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
+ * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
+
2012-12-27 Bruno Haible <bruno@clisp.org>
[BZ #14317]
diff --git a/sysdeps/ieee754/dbl-64/mpa.c b/sysdeps/ieee754/dbl-64/mpa.c
index b5d25ed..cf4f6f7 100644
--- a/sysdeps/ieee754/dbl-64/mpa.c
+++ b/sysdeps/ieee754/dbl-64/mpa.c
@@ -139,7 +139,7 @@ static void __cpymn(const mp_no *x, int m, mp_no *y, int n) {
/* number *y, normalized case (|x| >= 2**(-1022))) */
static void norm(const mp_no *x, double *y, int p)
{
- #define R radixi.d
+ #define R RADIXI
int i;
#if 0
int k;
@@ -199,7 +199,7 @@ static void denorm(const mp_no *x, double *y, int p)
double a,v;
#endif
-#define R radixi.d
+#define R RADIXI
if (EX<-44 || (EX==-44 && X[1]<TWO5))
{ *y=ZERO; return; }
diff --git a/sysdeps/ieee754/dbl-64/mpa2.h b/sysdeps/ieee754/dbl-64/mpa2.h
index cfe22b8..0d93da3 100644
--- a/sysdeps/ieee754/dbl-64/mpa2.h
+++ b/sysdeps/ieee754/dbl-64/mpa2.h
@@ -30,65 +30,21 @@
#ifndef MPA2_H
#define MPA2_H
-
-#ifdef BIG_ENDI
-static const number
-/**/ radix = {{0x41700000, 0x00000000} }, /* 2**24 */
-/**/ radixi = {{0x3e700000, 0x00000000} }, /* 2**-24 */
-/**/ cutter = {{0x44b00000, 0x00000000} }, /* 2**76 */
-/**/ zero = {{0x00000000, 0x00000000} }, /* 0 */
-/**/ one = {{0x3ff00000, 0x00000000} }, /* 1 */
-/**/ mone = {{0xbff00000, 0x00000000} }, /* -1 */
-/**/ two = {{0x40000000, 0x00000000} }, /* 2 */
-/**/ two5 = {{0x40400000, 0x00000000} }, /* 2**5 */
-/**/ two10 = {{0x40900000, 0x00000000} }, /* 2**10 */
-/**/ two18 = {{0x41100000, 0x00000000} }, /* 2**18 */
-/**/ two19 = {{0x41200000, 0x00000000} }, /* 2**19 */
-/**/ two23 = {{0x41600000, 0x00000000} }, /* 2**23 */
-/**/ two52 = {{0x43300000, 0x00000000} }, /* 2**52 */
-/**/ two57 = {{0x43800000, 0x00000000} }, /* 2**57 */
-/**/ two71 = {{0x44600000, 0x00000000} }, /* 2**71 */
-/**/ twom1032 = {{0x00000400, 0x00000000} }; /* 2**-1032 */
-
-#else
-#ifdef LITTLE_ENDI
-static const number
-/**/ radix = {{0x00000000, 0x41700000} }, /* 2**24 */
-/**/ radixi = {{0x00000000, 0x3e700000} }, /* 2**-24 */
-/**/ cutter = {{0x00000000, 0x44b00000} }, /* 2**76 */
-/**/ zero = {{0x00000000, 0x00000000} }, /* 0 */
-/**/ one = {{0x00000000, 0x3ff00000} }, /* 1 */
-/**/ mone = {{0x00000000, 0xbff00000} }, /* -1 */
-/**/ two = {{0x00000000, 0x40000000} }, /* 2 */
-/**/ two5 = {{0x00000000, 0x40400000} }, /* 2**5 */
-/**/ two10 = {{0x00000000, 0x40900000} }, /* 2**10 */
-/**/ two18 = {{0x00000000, 0x41100000} }, /* 2**18 */
-/**/ two19 = {{0x00000000, 0x41200000} }, /* 2**19 */
-/**/ two23 = {{0x00000000, 0x41600000} }, /* 2**23 */
-/**/ two52 = {{0x00000000, 0x43300000} }, /* 2**52 */
-/**/ two57 = {{0x00000000, 0x43800000} }, /* 2**57 */
-/**/ two71 = {{0x00000000, 0x44600000} }, /* 2**71 */
-/**/ twom1032 = {{0x00000000, 0x00000400} }; /* 2**-1032 */
-
-#endif
-#endif
-
-#define RADIX radix.d
-#define RADIXI radixi.d
-#define CUTTER cutter.d
-#define ZERO zero.d
-#define ONE one.d
-#define MONE mone.d
-#define TWO two.d
-#define TWO5 two5.d
-#define TWO10 two10.d
-#define TWO18 two18.d
-#define TWO19 two19.d
-#define TWO23 two23.d
-#define TWO52 two52.d
-#define TWO57 two57.d
-#define TWO71 two71.d
-#define TWOM1032 twom1032.d
-
+#define RADIX 0x1.0p24 /* 2^24 */
+#define RADIXI 0x1.0p-24 /* 2^-24 */
+#define CUTTER 0x1.0p76 /* 2^76 */
+#define ZERO 0.0 /* 0 */
+#define ONE 1.0 /* 1 */
+#define MONE -1.0 /* -1 */
+#define TWO -2.0 /* -2 */
+#define TWO5 0x1.0p5 /* 2^5 */
+#define TWO10 0x1.0p10 /* 2^10 */
+#define TWO18 0x1.0p18 /* 2^18 */
+#define TWO19 0x1.0p19 /* 2^19 */
+#define TWO23 0x1.0p23 /* 2^23 */
+#define TWO52 0x1.0p52 /* 2^52 */
+#define TWO57 0x1.0p57 /* 2^57 */
+#define TWO71 0x1.0p71 /* 2^71 */
+#define TWOM1032 0x1.0p-1032 /* 2^-1032 */
#endif
diff --git a/sysdeps/ieee754/dbl-64/mpatan.h b/sysdeps/ieee754/dbl-64/mpatan.h
index c56b9b5..f920cc2 100644
--- a/sysdeps/ieee754/dbl-64/mpatan.h
+++ b/sysdeps/ieee754/dbl-64/mpatan.h
@@ -30,8 +30,6 @@
extern const number __atan_xm[8] attribute_hidden;
extern const number __atan_twonm1[33] attribute_hidden;
extern const number __atan_twom[8] attribute_hidden;
-extern const number __atan_one attribute_hidden;
-extern const number __atan_two attribute_hidden;
extern const int __atan_np[33] attribute_hidden;
@@ -97,10 +95,6 @@ extern const int __atan_np[33] attribute_hidden;
/**/ {{0x40600000, 0x00000000} }, /* 128.0 */
};
- const number
-/**/ __atan_one = {{0x3ff00000, 0x00000000} }, /* 1 */
-/**/ __atan_two = {{0x40000000, 0x00000000} }; /* 2 */
-
#else
#ifdef LITTLE_ENDI
@@ -164,10 +158,6 @@ __atan_twonm1[33] = { /* 2n-1 */
/**/ {{0x00000000, 0x40600000} }, /* 128.0 */
};
- const number
-/**/ __atan_one = {{0x00000000, 0x3ff00000} }, /* 1 */
-/**/ __atan_two = {{0x00000000, 0x40000000} }; /* 2 */
-
#endif
#endif
@@ -178,5 +168,5 @@ __atan_twonm1[33] = { /* 2n-1 */
#endif
#endif
-#define ONE __atan_one.d
-#define TWO __atan_two.d
+#define ONE 1.0
+#define TWO 2.0
diff --git a/sysdeps/ieee754/dbl-64/mpexp.h b/sysdeps/ieee754/dbl-64/mpexp.h
index 758255b..59f5c67 100644
--- a/sysdeps/ieee754/dbl-64/mpexp.h
+++ b/sysdeps/ieee754/dbl-64/mpexp.h
@@ -28,13 +28,6 @@
#define MPEXP_H
extern const number __mpexp_twomm1[33] attribute_hidden;
-extern const number __mpexp_radix attribute_hidden;
-extern const number __mpexp_radixi attribute_hidden;
-extern const number __mpexp_zero attribute_hidden;
-extern const number __mpexp_one attribute_hidden;
-extern const number __mpexp_two attribute_hidden;
-extern const number __mpexp_half attribute_hidden;
-
#ifndef AVOID_MPEXP_H
#ifdef BIG_ENDI
@@ -75,14 +68,6 @@ extern const number __mpexp_half attribute_hidden;
/**/ {{0x3ae00000, 0x00000000} }, /* 2**-81 */
};
- const number
-/**/ __mpexp_radix = {{0x41700000, 0x00000000} }, /* 2**24 */
-/**/ __mpexp_radixi = {{0x3e700000, 0x00000000} }, /* 2**-24 */
-/**/ __mpexp_zero = {{0x00000000, 0x00000000} }, /* 0 */
-/**/ __mpexp_one = {{0x3ff00000, 0x00000000} }, /* 1 */
-/**/ __mpexp_two = {{0x40000000, 0x00000000} }, /* 2 */
-/**/ __mpexp_half = {{0x3fe00000, 0x00000000} }; /* 1/2 */
-
#else
#ifdef LITTLE_ENDI
const number
@@ -121,23 +106,16 @@ extern const number __mpexp_half attribute_hidden;
/**/ {{0x00000000, 0x3b100000} }, /* 2**-78 */
/**/ {{0x00000000, 0x3ae00000} }, /* 2**-81 */
};
- const number
-/**/ __mpexp_radix = {{0x00000000, 0x41700000} }, /* 2**24 */
-/**/ __mpexp_radixi = {{0x00000000, 0x3e700000} }, /* 2**-24 */
-/**/ __mpexp_zero = {{0x00000000, 0x00000000} }, /* 0 */
-/**/ __mpexp_one = {{0x00000000, 0x3ff00000} }, /* 1 */
-/**/ __mpexp_two = {{0x00000000, 0x40000000} }, /* 2 */
-/**/ __mpexp_half = {{0x00000000, 0x3fe00000} }; /* 1/2 */
#endif
#endif
#endif
-#define RADIX __mpexp_radix.d
-#define RADIXI __mpexp_radixi.d
-#define ZERO __mpexp_zero.d
-#define ONE __mpexp_one.d
-#define TWO __mpexp_two.d
-#define HALF __mpexp_half.d
+#define RADIX 0x1.0p24 /* 2^24 */
+#define RADIXI 0x1.0p-24 /* 2^-24 */
+#define ZERO 0.0 /* 0 */
+#define ONE 1.0 /* 1 */
+#define TWO 2.0 /* 2 */
+#define HALF 0x1.0p-1 /* 1/2 */
#endif
diff --git a/sysdeps/ieee754/dbl-64/mpsqrt.h b/sysdeps/ieee754/dbl-64/mpsqrt.h
index 7cf5b69..f776821 100644
--- a/sysdeps/ieee754/dbl-64/mpsqrt.h
+++ b/sysdeps/ieee754/dbl-64/mpsqrt.h
@@ -27,31 +27,15 @@
#ifndef MPSQRT_H
#define MPSQRT_H
-extern const number __mpsqrt_one attribute_hidden;
-extern const number __mpsqrt_halfrad attribute_hidden;
extern const int __mpsqrt_mp[33] attribute_hidden;
#ifndef AVOID_MPSQRT_H
-#ifdef BIG_ENDI
- const number
-/**/ __mpsqrt_one = {{0x3ff00000, 0x00000000} }, /* 1 */
-/**/ __mpsqrt_halfrad = {{0x41600000, 0x00000000} }; /* 2**23 */
-
-#else
-#ifdef LITTLE_ENDI
- const number
-/**/ __mpsqrt_one = {{0x00000000, 0x3ff00000} }, /* 1 */
-/**/ __mpsqrt_halfrad = {{0x00000000, 0x41600000} }; /* 2**23 */
-
-#endif
-#endif
-
const int __mpsqrt_mp[33] = {0,0,0,0,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4};
#endif
-#define ONE __mpsqrt_one.d
-#define HALFRAD __mpsqrt_halfrad.d
+#define ONE 1.0 /* 1 */
+#define HALFRAD 0x1.0p23 /* 2^23 */
#endif