Code cleanup.
+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.
#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
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;
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
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 {
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);
__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);