This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-79-g7490eb8


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  7490eb81ae6b3d9e2c9784fd845e0fc2d5484292 (commit)
       via  751b85f795da302bca360388c3314bbbe1cc0bc0 (commit)
      from  7e9b080575fd68c788c33623594ba5516fa7ceb0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7490eb81ae6b3d9e2c9784fd845e0fc2d5484292

commit 7490eb81ae6b3d9e2c9784fd845e0fc2d5484292
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Thu Jan 10 14:56:04 2013 +0530

    Fix formatting in mpexp.c

diff --git a/ChangeLog b/ChangeLog
index 5cd7df0..1e8a85c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2013-01-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
+	* sysdeps/ieee754/dbl-64/mpexp.c: Fix formatting.
+
 	* sysdeps/ieee754/dbl-64/mpexp.c (__mpexp): New array of
 	doubles __mpexp_twomm1.  Adjust usage.
 	* sysdeps/ieee754/dbl-64/mpexp.h (__mpexp_twomm1):
diff --git a/sysdeps/ieee754/dbl-64/mpexp.c b/sysdeps/ieee754/dbl-64/mpexp.c
index ac41ecf..feca23c 100644
--- a/sysdeps/ieee754/dbl-64/mpexp.c
+++ b/sysdeps/ieee754/dbl-64/mpexp.c
@@ -37,17 +37,20 @@
 # define SECTION
 #endif
 
-/* Multi-Precision exponential function subroutine (for p >= 4,          */
-/* 2**(-55) <= abs(x) <= 1024).                                          */
+/* Multi-Precision exponential function subroutine (for p >= 4,
+   2**(-55) <= abs(x) <= 1024).  */
 void
 SECTION
-__mpexp(mp_no *x, mp_no *y, int p) {
-
-  int i,j,k,m,m1,m2,n;
-  double a,b;
-  static const int np[33] = {0,0,0,0,3,3,4,4,5,4,4,5,5,5,6,6,6,6,6,6,
-			     6,6,6,6,7,7,7,7,8,8,8,8,8};
-  static const int m1p[33]=
+__mpexp (mp_no *x, mp_no *y, int p)
+{
+  int i, j, k, m, m1, m2, n;
+  double a, b;
+  static const int np[33] =
+    {
+      0, 0, 0, 0, 3, 3, 4, 4, 5, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6,
+      6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8
+    };
+  static const int m1p[33] =
     {
       0, 0, 0, 0,
       17, 23, 23, 28,
@@ -72,29 +75,55 @@ __mpexp(mp_no *x, mp_no *y, int p) {
       0x1.0p-70, 0x1.0p-73, 0x1.0p-76, 0x1.0p-78,
       0x1.0p-81
     };
-  static const int m1np[7][18] = {
-		 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-		 { 0, 0, 0, 0,36,48,60,72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-		 { 0, 0, 0, 0,24,32,40,48,56,64,72, 0, 0, 0, 0, 0, 0, 0},
-		 { 0, 0, 0, 0,17,23,29,35,41,47,53,59,65, 0, 0, 0, 0, 0},
-		 { 0, 0, 0, 0, 0, 0,23,28,33,38,42,47,52,57,62,66, 0, 0},
-		 { 0, 0, 0, 0, 0, 0, 0, 0,27, 0, 0,39,43,47,51,55,59,63},
-		 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,43,47,50,54}};
-  mp_no mpk   = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
-		    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
-		    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,mpak,mpt1,mpt2;
+  static const int m1np[7][18] =
+    {
+      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+      {0, 0, 0, 0, 36, 48, 60, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+      {0, 0, 0, 0, 24, 32, 40, 48, 56, 64, 72, 0, 0, 0, 0, 0, 0, 0},
+      {0, 0, 0, 0, 17, 23, 29, 35, 41, 47, 53, 59, 65, 0, 0, 0, 0, 0},
+      {0, 0, 0, 0, 0, 0, 23, 28, 33, 38, 42, 47, 52, 57, 62, 66, 0, 0},
+      {0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 39, 43, 47, 51, 55, 59, 63},
+      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 47, 50, 54}
+    };
+  mp_no mpk =
+    {
+      0,
+      {
+	0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+	0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+	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, mpak, mpt1, mpt2;
 
-  /* Choose m,n and compute a=2**(-m) */
-  n = np[p];    m1 = m1p[p];    a = __mpexp_twomm1[p];
-  for (i=0; i<EX; i++)  a *= RADIXI;
-  for (   ; i>EX; i--)  a *= RADIX;
-  b = X[1]*RADIXI;   m2 = 24*EX;
-  for (; b<HALF; m2--)  { a *= TWO;   b *= TWO; }
-  if (b == HALF) {
-    for (i=2; i<=p; i++) { if (X[i]!=ZERO)  break; }
-    if (i==p+1)  { m2--;  a *= TWO; }
-  }
+  /* Choose m,n and compute a=2**(-m).  */
+  n = np[p];
+  m1 = m1p[p];
+  a = __mpexp_twomm1[p];
+  for (i = 0; i < EX; i++)
+    a *= RADIXI;
+  for (; i > EX; i--)
+    a *= RADIX;
+  b = X[1] * RADIXI;
+  m2 = 24 * EX;
+  for (; b < HALF; m2--)
+    {
+      a *= TWO;
+      b *= TWO;
+    }
+  if (b == HALF)
+    {
+      for (i = 2; i <= p; i++)
+	{
+	  if (X[i] != ZERO)
+	    break;
+	}
+      if (i == p + 1)
+	{
+	  m2--;
+	  a *= TWO;
+	}
+    }
 
   m = m1 + m2;
   if (__glibc_unlikely (m <= 0))
@@ -112,30 +141,42 @@ __mpexp(mp_no *x, mp_no *y, int p) {
 	  break;
     }
 
-  /* Compute s=x*2**(-m). Put result in mps */
-  __dbl_mp(a,&mpt1,p);
-  __mul(x,&mpt1,&mps,p);
+  /* Compute s=x*2**(-m). Put result in mps.  */
+  __dbl_mp (a, &mpt1, p);
+  __mul (x, &mpt1, &mps, p);
 
-  /* Evaluate the polynomial. Put result in mpt2 */
-  mpk.e = 1;   mpk.d[0] = ONE;   mpk.d[1]=n;
-  __dvd(&mps,&mpk,&mpt1,p);
-  __add(&mpone,&mpt1,&mpak,p);
-  for (k=n-1; k>1; k--) {
-    __mul(&mps,&mpak,&mpt1,p);
-    mpk.d[1] = k;
-    __dvd(&mpt1,&mpk,&mpt2,p);
-    __add(&mpone,&mpt2,&mpak,p);
-  }
-  __mul(&mps,&mpak,&mpt1,p);
-  __add(&mpone,&mpt1,&mpt2,p);
+  /* Evaluate the polynomial. Put result in mpt2.  */
+  mpk.e = 1;
+  mpk.d[0] = ONE;
+  mpk.d[1] = n;
+  __dvd (&mps, &mpk, &mpt1, p);
+  __add (&mpone, &mpt1, &mpak, p);
+  for (k = n - 1; k > 1; k--)
+    {
+      __mul (&mps, &mpak, &mpt1, p);
+      mpk.d[1] = k;
+      __dvd (&mpt1, &mpk, &mpt2, p);
+      __add (&mpone, &mpt2, &mpak, p);
+    }
+  __mul (&mps, &mpak, &mpt1, p);
+  __add (&mpone, &mpt1, &mpt2, p);
 
-  /* Raise polynomial value to the power of 2**m. Put result in y */
-  for (k=0,j=0; k<m; ) {
-    __mul(&mpt2,&mpt2,&mpt1,p);  k++;
-    if (k==m)  { j=1;  break; }
-    __mul(&mpt1,&mpt1,&mpt2,p);  k++;
-  }
-  if (j)  __cpy(&mpt1,y,p);
-  else    __cpy(&mpt2,y,p);
+  /* Raise polynomial value to the power of 2**m. Put result in y.  */
+  for (k = 0, j = 0; k < m;)
+    {
+      __mul (&mpt2, &mpt2, &mpt1, p);
+      k++;
+      if (k == m)
+	{
+	  j = 1;
+	  break;
+	}
+      __mul (&mpt1, &mpt1, &mpt2, p);
+      k++;
+    }
+  if (j)
+    __cpy (&mpt1, y, p);
+  else
+    __cpy (&mpt2, y, p);
   return;
 }

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=751b85f795da302bca360388c3314bbbe1cc0bc0

commit 751b85f795da302bca360388c3314bbbe1cc0bc0
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Thu Jan 10 14:53:40 2013 +0530

    Make __mpexp_twomm1 an array of doubles
    
    Cleanup to get rid of the `number` muck which is not necessary here.

diff --git a/ChangeLog b/ChangeLog
index ec80b44..5cd7df0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-01-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	* sysdeps/ieee754/dbl-64/mpexp.c (__mpexp): New array of
+	doubles __mpexp_twomm1.  Adjust usage.
+	* sysdeps/ieee754/dbl-64/mpexp.h (__mpexp_twomm1):
+	Remove.
+
 2013-01-10  Andreas Schwab  <schwab@suse.de>
 
 	[BZ #14964]
diff --git a/sysdeps/ieee754/dbl-64/mpexp.c b/sysdeps/ieee754/dbl-64/mpexp.c
index c404820..ac41ecf 100644
--- a/sysdeps/ieee754/dbl-64/mpexp.c
+++ b/sysdeps/ieee754/dbl-64/mpexp.c
@@ -47,8 +47,31 @@ __mpexp(mp_no *x, mp_no *y, int p) {
   double a,b;
   static const int np[33] = {0,0,0,0,3,3,4,4,5,4,4,5,5,5,6,6,6,6,6,6,
 			     6,6,6,6,7,7,7,7,8,8,8,8,8};
-  static const int m1p[33]= {0,0,0,0,17,23,23,28,27,38,42,39,43,47,43,47,50,54,
-			       57,60,64,67,71,74,68,71,74,77,70,73,76,78,81};
+  static const int m1p[33]=
+    {
+      0, 0, 0, 0,
+      17, 23, 23, 28,
+      27, 38, 42, 39,
+      43, 47, 43, 47,
+      50, 54, 57, 60,
+      64, 67, 71, 74,
+      68, 71, 74, 77,
+      70, 73, 76, 78,
+      81
+    };
+  /* Stored values for 2^-m, where values of m are defined in M1P above.   */
+  static const double __mpexp_twomm1[33] =
+    {
+      0x1.0p0, 0x1.0p0, 0x1.0p0, 0x1.0p0,
+      0x1.0p-17, 0x1.0p-23, 0x1.0p-23, 0x1.0p-28,
+      0x1.0p-27, 0x1.0p-38, 0x1.0p-42, 0x1.0p-39,
+      0x1.0p-43, 0x1.0p-47, 0x1.0p-43, 0x1.0p-47,
+      0x1.0p-50, 0x1.0p-54, 0x1.0p-57, 0x1.0p-60,
+      0x1.0p-64, 0x1.0p-67, 0x1.0p-71, 0x1.0p-74,
+      0x1.0p-68, 0x1.0p-71, 0x1.0p-74, 0x1.0p-77,
+      0x1.0p-70, 0x1.0p-73, 0x1.0p-76, 0x1.0p-78,
+      0x1.0p-81
+    };
   static const int m1np[7][18] = {
 		 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 		 { 0, 0, 0, 0,36,48,60,72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
@@ -63,7 +86,7 @@ __mpexp(mp_no *x, mp_no *y, int p) {
   mp_no mps,mpak,mpt1,mpt2;
 
   /* Choose m,n and compute a=2**(-m) */
-  n = np[p];    m1 = m1p[p];    a = __mpexp_twomm1[p].d;
+  n = np[p];    m1 = m1p[p];    a = __mpexp_twomm1[p];
   for (i=0; i<EX; i++)  a *= RADIXI;
   for (   ; i>EX; i--)  a *= RADIX;
   b = X[1]*RADIXI;   m2 = 24*EX;
diff --git a/sysdeps/ieee754/dbl-64/mpexp.h b/sysdeps/ieee754/dbl-64/mpexp.h
index 2b26386..401de58 100644
--- a/sysdeps/ieee754/dbl-64/mpexp.h
+++ b/sysdeps/ieee754/dbl-64/mpexp.h
@@ -27,90 +27,6 @@
 #ifndef MPEXP_H
 #define MPEXP_H
 
-extern const number __mpexp_twomm1[33] attribute_hidden;
-
-#ifndef AVOID_MPEXP_H
-#ifdef BIG_ENDI
-  const number
-	__mpexp_twomm1[33] = {                     /* 2**-m1 */
-/**/                  {{0x3ff00000, 0x00000000} }, /* 1      */
-/**/                  {{0x3ff00000, 0x00000000} }, /* 1      */
-/**/                  {{0x3ff00000, 0x00000000} }, /* 1      */
-/**/                  {{0x3ff00000, 0x00000000} }, /* 1      */
-/**/                  {{0x3ee00000, 0x00000000} }, /* 2**-17 */
-/**/                  {{0x3e800000, 0x00000000} }, /* 2**-23 */
-/**/                  {{0x3e800000, 0x00000000} }, /* 2**-23 */
-/**/                  {{0x3e300000, 0x00000000} }, /* 2**-28 */
-/**/                  {{0x3e400000, 0x00000000} }, /* 2**-27 */
-/**/                  {{0x3d900000, 0x00000000} }, /* 2**-38 */
-/**/                  {{0x3d500000, 0x00000000} }, /* 2**-42 */
-/**/                  {{0x3d800000, 0x00000000} }, /* 2**-39 */
-/**/                  {{0x3d400000, 0x00000000} }, /* 2**-43 */
-/**/                  {{0x3d000000, 0x00000000} }, /* 2**-47 */
-/**/                  {{0x3d400000, 0x00000000} }, /* 2**-43 */
-/**/                  {{0x3d000000, 0x00000000} }, /* 2**-47 */
-/**/                  {{0x3cd00000, 0x00000000} }, /* 2**-50 */
-/**/                  {{0x3c900000, 0x00000000} }, /* 2**-54 */
-/**/                  {{0x3c600000, 0x00000000} }, /* 2**-57 */
-/**/                  {{0x3c300000, 0x00000000} }, /* 2**-60 */
-/**/                  {{0x3bf00000, 0x00000000} }, /* 2**-64 */
-/**/                  {{0x3bc00000, 0x00000000} }, /* 2**-67 */
-/**/                  {{0x3b800000, 0x00000000} }, /* 2**-71 */
-/**/                  {{0x3b500000, 0x00000000} }, /* 2**-74 */
-/**/                  {{0x3bb00000, 0x00000000} }, /* 2**-68 */
-/**/                  {{0x3b800000, 0x00000000} }, /* 2**-71 */
-/**/                  {{0x3b500000, 0x00000000} }, /* 2**-74 */
-/**/                  {{0x3b200000, 0x00000000} }, /* 2**-77 */
-/**/                  {{0x3b900000, 0x00000000} }, /* 2**-70 */
-/**/                  {{0x3b600000, 0x00000000} }, /* 2**-73 */
-/**/                  {{0x3b300000, 0x00000000} }, /* 2**-76 */
-/**/                  {{0x3b100000, 0x00000000} }, /* 2**-78 */
-/**/                  {{0x3ae00000, 0x00000000} }, /* 2**-81 */
-  };
-
-#else
-#ifdef LITTLE_ENDI
-  const number
-	__mpexp_twomm1[33] = {                     /* 2**-m1 */
-/**/                  {{0x00000000, 0x3ff00000} }, /* 1      */
-/**/                  {{0x00000000, 0x3ff00000} }, /* 1      */
-/**/                  {{0x00000000, 0x3ff00000} }, /* 1      */
-/**/                  {{0x00000000, 0x3ff00000} }, /* 1      */
-/**/                  {{0x00000000, 0x3ee00000} }, /* 2**-17 */
-/**/                  {{0x00000000, 0x3e800000} }, /* 2**-23 */
-/**/                  {{0x00000000, 0x3e800000} }, /* 2**-23 */
-/**/                  {{0x00000000, 0x3e300000} }, /* 2**-28 */
-/**/                  {{0x00000000, 0x3e400000} }, /* 2**-27 */
-/**/                  {{0x00000000, 0x3d900000} }, /* 2**-38 */
-/**/                  {{0x00000000, 0x3d500000} }, /* 2**-42 */
-/**/                  {{0x00000000, 0x3d800000} }, /* 2**-39 */
-/**/                  {{0x00000000, 0x3d400000} }, /* 2**-43 */
-/**/                  {{0x00000000, 0x3d000000} }, /* 2**-47 */
-/**/                  {{0x00000000, 0x3d400000} }, /* 2**-43 */
-/**/                  {{0x00000000, 0x3d000000} }, /* 2**-47 */
-/**/                  {{0x00000000, 0x3cd00000} }, /* 2**-50 */
-/**/                  {{0x00000000, 0x3c900000} }, /* 2**-54 */
-/**/                  {{0x00000000, 0x3c600000} }, /* 2**-57 */
-/**/                  {{0x00000000, 0x3c300000} }, /* 2**-60 */
-/**/                  {{0x00000000, 0x3bf00000} }, /* 2**-64 */
-/**/                  {{0x00000000, 0x3bc00000} }, /* 2**-67 */
-/**/                  {{0x00000000, 0x3b800000} }, /* 2**-71 */
-/**/                  {{0x00000000, 0x3b500000} }, /* 2**-74 */
-/**/                  {{0x00000000, 0x3bb00000} }, /* 2**-68 */
-/**/                  {{0x00000000, 0x3b800000} }, /* 2**-71 */
-/**/                  {{0x00000000, 0x3b500000} }, /* 2**-74 */
-/**/                  {{0x00000000, 0x3b200000} }, /* 2**-77 */
-/**/                  {{0x00000000, 0x3b900000} }, /* 2**-70 */
-/**/                  {{0x00000000, 0x3b600000} }, /* 2**-73 */
-/**/                  {{0x00000000, 0x3b300000} }, /* 2**-76 */
-/**/                  {{0x00000000, 0x3b100000} }, /* 2**-78 */
-/**/                  {{0x00000000, 0x3ae00000} }, /* 2**-81 */
-  };
-
-#endif
-#endif
-#endif
-
 #define  RADIX     0x1.0p24		/* 2^24 */
 #define  RADIXI    0x1.0p-24		/* 2^-24 */
 #define  ZERO      0.0			/* 0 */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                      |    9 ++
 sysdeps/ieee754/dbl-64/mpexp.c |  174 +++++++++++++++++++++++++++-------------
 sysdeps/ieee754/dbl-64/mpexp.h |   84 -------------------
 3 files changed, 128 insertions(+), 139 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]