Move more constants into static variables

Code cleanup.
This commit is contained in:
Siddhesh Poyarekar 2012-12-21 09:15:10 +05:30
parent 38686a0363
commit da08f647d5
5 changed files with 20 additions and 22 deletions

View File

@ -1,3 +1,15 @@
2013-01-02 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/ieee754/dbl-64/mpa.c [! NO__CONST]: New constant
MPTWO.
(__inv): Remove local variable MPTWO to use the global
constant.
* sysdeps/ieee754/dbl-64/mpa.h: Declare MPTWO.
* sysdeps/ieee754/dbl-64/mpatan.c (__mpatan): Remove local
variable MPTWO.
* sysdeps/ieee754/dbl-64/mpsqrt.c (__mpsqrt): Make MPHALF and
MP3HALFS static const.
2013-01-01 David S. Miller <davem@davemloft.net>
* po/ca.po: Update from translation team.

View File

@ -53,6 +53,7 @@
#ifndef NO__CONST
const mp_no mpone = {1, {1.0, 1.0}};
const mp_no mptwo = {1, {1.0, 2.0}};
#endif
#ifndef NO___ACR
@ -494,10 +495,6 @@ void __inv(const mp_no *x, mp_no *y, int p) {
mp_no z,w;
static const int np1[] = {0,0,0,0,1,2,2,2,2,3,3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4};
const mp_no mptwo = {1,{1.0,2.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}};
__cpy(x,&z,p); z.e=0; __mp_dbl(&z,&t,p);
t=ONE/t; __dbl_mp(t,y,p); EY -= EX;

View File

@ -55,6 +55,7 @@ typedef struct {/* This structure holds the details of a multi-precision */
typedef union { int i[2]; double d; } number;
extern const mp_no mpone;
extern const mp_no mptwo;
#define X x->d
#define Y y->d

View File

@ -48,16 +48,13 @@ __mpatan(mp_no *x, mp_no *y, int p) {
int i,m,n;
double dx;
mp_no
mptwo = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}},
mptwoim1 = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}};
mp_no mps,mpsm,mpt,mpt1,mpt2,mpt3;
/* Choose m and initiate mptwo & mptwoim1 */
/* Choose m and initiate mptwoim1 */
if (EX>0) m=7;
else if (EX<0) m=0;
else {
@ -65,9 +62,8 @@ __mpatan(mp_no *x, mp_no *y, int p) {
for (m=6; m>0; m--)
{if (dx>__atan_xm[m].d) break;}
}
mptwo.e = mptwoim1.e = 1;
mptwo.d[0] = mptwoim1.d[0] = ONE;
mptwo.d[1] = TWO;
mptwoim1.e = 1;
mptwoim1.d[0] = ONE;
/* Reduce x m times */
__mul(x,x,&mpsm,p);

View File

@ -52,19 +52,11 @@ SECTION
__mpsqrt(mp_no *x, mp_no *y, int p) {
int i,m,ey;
double dx,dy;
mp_no
mphalf = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}},
mp3halfs = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}};
static const mp_no
mphalf = {0,{1.0,8388608.0 /* 2^23 */}},
mp3halfs = {1,{1.0,1.0,8388608.0 /* 2^23 */}};
mp_no mpxn,mpz,mpu,mpt1,mpt2;
/* Prepare multi-precision 1/2 and 3/2 */
mphalf.e =0; mphalf.d[0] =ONE; mphalf.d[1] =HALFRAD;
mp3halfs.e=1; mp3halfs.d[0]=ONE; mp3halfs.d[1]=ONE; mp3halfs.d[2]=HALFRAD;
ey=EX/2; __cpy(x,&mpxn,p); mpxn.e -= (ey+ey);
__mp_dbl(&mpxn,&dx,p); dy=fastiroot(dx); __dbl_mp(dy,&mpu,p);
__mul(&mpxn,&mphalf,&mpz,p);