Replace constants with preprocessor defines

libm Code cleanup.
This commit is contained in:
Siddhesh Poyarekar 2012-12-28 09:40:10 +05:30
parent 7fffbdfff7
commit 99136f8202
6 changed files with 38 additions and 120 deletions

View File

@ -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]

View File

@ -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; }

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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