diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpa.c | 4 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpa2.h | 76 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpatan.h | 14 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpexp.h | 34 | ||||
-rw-r--r-- | sysdeps/ieee754/dbl-64/mpsqrt.h | 20 |
6 files changed, 38 insertions, 120 deletions
diff --git a/ChangeLog b/ChangeLog index 879fe2d3e5..f3e2201bda 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 b5d25ed2a2..cf4f6f7c53 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 cfe22b883a..0d93da3fdc 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 c56b9b5fc1..f920cc22d9 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 758255b0fd..59f5c6786e 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 7cf5b691b8..f776821988 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 |