[arch-commits] Commit in mpfr/repos (7 files)

Allan McRae allan at archlinux.org
Sat Aug 20 07:14:07 UTC 2011


    Date: Saturday, August 20, 2011 @ 03:14:06
  Author: allan
Revision: 135911

db-move: moved mpfr from [testing] to [core] (i686)

Added:
  mpfr/repos/core-i686/PKGBUILD
    (from rev 135900, mpfr/repos/testing-i686/PKGBUILD)
  mpfr/repos/core-i686/mpfr-3.0.1.p4.patch
    (from rev 135900, mpfr/repos/testing-i686/mpfr-3.0.1.p4.patch)
  mpfr/repos/core-i686/mpfr.install
    (from rev 135900, mpfr/repos/testing-i686/mpfr.install)
Deleted:
  mpfr/repos/core-i686/PKGBUILD
  mpfr/repos/core-i686/mpfr-3.0.1.p4.patch
  mpfr/repos/core-i686/mpfr.install
  mpfr/repos/testing-i686/

---------------------+
 PKGBUILD            |   76 ++---
 mpfr-3.0.1.p4.patch |  734 +++++++++++++++++++++++++-------------------------
 mpfr.install        |   40 +-
 3 files changed, 425 insertions(+), 425 deletions(-)

Deleted: core-i686/PKGBUILD
===================================================================
--- core-i686/PKGBUILD	2011-08-20 07:14:03 UTC (rev 135910)
+++ core-i686/PKGBUILD	2011-08-20 07:14:06 UTC (rev 135911)
@@ -1,38 +0,0 @@
-# $Id$
-# Maintainer: Allan McRae <allan at archlinux.org>
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-# Contributor: damir <damir at archlinux.org>
-
-pkgname=mpfr
-_pkgver=3.0.1
-_patchlevel=p4
-pkgver=${_pkgver}.${_patchlevel}
-pkgrel=1
-pkgdesc="Multiple-precision floating-point library"
-arch=('i686' 'x86_64')
-url="http://www.mpfr.org/"
-license=('LGPL')
-depends=('gmp>=5.0')
-options=('!libtool')
-install=mpfr.install
-source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz
-        mpfr-${_pkgver}.${_patchlevel}.patch)
-md5sums=('645882d9d179113a70af84d27086ed9f'
-         '52c2ac5ffbbbf0c68f08e89f016ba7aa')
-
-build() {
-  cd "${srcdir}/${pkgname}-${_pkgver}"
-  patch -Np1 -i $srcdir/mpfr-${_pkgver}.${_patchlevel}.patch
-  ./configure --prefix=/usr --enable-thread-safe --enable-shared
-  make
-}
-
-check() {
-  cd "${srcdir}/${pkgname}-${_pkgver}"
-  make check
-}
-
-package() {
-  cd "${srcdir}/${pkgname}-${_pkgver}"
-  make DESTDIR="${pkgdir}" install
-}

Copied: mpfr/repos/core-i686/PKGBUILD (from rev 135900, mpfr/repos/testing-i686/PKGBUILD)
===================================================================
--- core-i686/PKGBUILD	                        (rev 0)
+++ core-i686/PKGBUILD	2011-08-20 07:14:06 UTC (rev 135911)
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: damir <damir at archlinux.org>
+
+pkgname=mpfr
+_pkgver=3.0.1
+_patchlevel=p4
+pkgver=${_pkgver}.${_patchlevel}
+pkgrel=2
+pkgdesc="Multiple-precision floating-point library"
+arch=('i686' 'x86_64')
+url="http://www.mpfr.org/"
+license=('LGPL')
+depends=('gmp>=5.0')
+options=('!libtool')
+install=mpfr.install
+source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz
+        mpfr-${_pkgver}.${_patchlevel}.patch)
+md5sums=('645882d9d179113a70af84d27086ed9f'
+         '52c2ac5ffbbbf0c68f08e89f016ba7aa')
+
+build() {
+  cd "${srcdir}/${pkgname}-${_pkgver}"
+  patch -Np1 -i $srcdir/mpfr-${_pkgver}.${_patchlevel}.patch
+  ./configure --prefix=/usr --enable-thread-safe --enable-shared
+  make
+}
+
+check() {
+  cd "${srcdir}/${pkgname}-${_pkgver}"
+  make check
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${_pkgver}"
+  make DESTDIR="${pkgdir}" install
+}

Deleted: core-i686/mpfr-3.0.1.p4.patch
===================================================================
--- core-i686/mpfr-3.0.1.p4.patch	2011-08-20 07:14:03 UTC (rev 135910)
+++ core-i686/mpfr-3.0.1.p4.patch	2011-08-20 07:14:06 UTC (rev 135911)
@@ -1,367 +0,0 @@
-diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
---- mpfr-3.0.1-a/PATCHES	2011-04-12 10:50:02.000000000 +0000
-+++ mpfr-3.0.1-b/PATCHES	2011-04-12 10:50:02.000000000 +0000
-@@ -0,0 +1 @@
-+asin_exprange
-diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
---- mpfr-3.0.1-a/VERSION	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/VERSION	2011-04-12 10:50:02.000000000 +0000
-@@ -1 +1 @@
--3.0.1
-+3.0.1-p1
-diff -Naurd mpfr-3.0.1-a/asin.c mpfr-3.0.1-b/asin.c
---- mpfr-3.0.1-a/asin.c	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/asin.c	2011-04-12 10:50:02.000000000 +0000
-@@ -63,11 +63,14 @@
- 
-   compared = mpfr_cmp_ui (xp, 1);
- 
-+  MPFR_SAVE_EXPO_MARK (expo);
-+
-   if (MPFR_UNLIKELY (compared >= 0))
-     {
-       mpfr_clear (xp);
-       if (compared > 0)                  /* asin(x) = NaN for |x| > 1 */
-         {
-+          MPFR_SAVE_EXPO_FREE (expo);
-           MPFR_SET_NAN (asin);
-           MPFR_RET_NAN;
-         }
-@@ -80,13 +83,11 @@
-               inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode));
-               MPFR_CHANGE_SIGN (asin);
-             }
--          mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */
--          return inexact;
-+          mpfr_div_2ui (asin, asin, 1, rnd_mode);
-         }
-     }
--
--  MPFR_SAVE_EXPO_MARK (expo);
--
-+  else
-+    {
-   /* Compute exponent of 1 - ABS(x) */
-   mpfr_ui_sub (xp, 1, xp, MPFR_RNDD);
-   MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0);
-@@ -115,6 +116,7 @@
-   inexact = mpfr_set (asin, xp, rnd_mode);
- 
-   mpfr_clear (xp);
-+    }
- 
-   MPFR_SAVE_EXPO_FREE (expo);
-   return mpfr_check_range (asin, inexact, rnd_mode);
-diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
---- mpfr-3.0.1-a/mpfr.h	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/mpfr.h	2011-04-12 10:50:02.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 0
- #define MPFR_VERSION_PATCHLEVEL 1
--#define MPFR_VERSION_STRING "3.0.1"
-+#define MPFR_VERSION_STRING "3.0.1-p1"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.0.1-a/tests/tasin.c mpfr-3.0.1-b/tests/tasin.c
---- mpfr-3.0.1-a/tests/tasin.c	2011-04-04 10:19:17.000000000 +0000
-+++ mpfr-3.0.1-b/tests/tasin.c	2011-04-12 10:50:02.000000000 +0000
-@@ -219,6 +219,49 @@
-   mpfr_clear (y);
- }
- 
-+static void
-+reduced_expo_range (void)
-+{
-+  mpfr_exp_t emin, emax;
-+  mpfr_t x, y, ex_y;
-+  int inex, ex_inex;
-+  unsigned int flags, ex_flags;
-+
-+  emin = mpfr_get_emin ();
-+  emax = mpfr_get_emax ();
-+
-+  mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0);
-+  mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN);
-+
-+  mpfr_set_emin (1);
-+  mpfr_set_emax (1);
-+  mpfr_clear_flags ();
-+  inex = mpfr_asin (y, x, MPFR_RNDA);
-+  flags = __gmpfr_flags;
-+  mpfr_set_emin (emin);
-+  mpfr_set_emax (emax);
-+
-+  mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN);
-+  ex_inex = -1;
-+  ex_flags = MPFR_FLAGS_INEXACT;
-+
-+  if (SIGN (inex) != ex_inex || flags != ex_flags ||
-+      ! mpfr_equal_p (y, ex_y))
-+    {
-+      printf ("Error in reduced_expo_range\non x = ");
-+      mpfr_dump (x);
-+      printf ("Expected y = ");
-+      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
-+      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
-+      printf ("Got      y = ");
-+      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
-+      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
-+      exit (1);
-+    }
-+
-+  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
-+}
-+
- int
- main (void)
- {
-@@ -226,6 +269,7 @@
- 
-   special ();
-   special_overflow ();
-+  reduced_expo_range ();
- 
-   test_generic (2, 100, 15);
- 
-diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
---- mpfr-3.0.1-a/version.c	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/version.c	2011-04-12 10:50:02.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.0.1";
-+  return "3.0.1-p1";
- }
-diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
---- mpfr-3.0.1-a/PATCHES	2011-05-04 11:18:33.000000000 +0000
-+++ mpfr-3.0.1-b/PATCHES	2011-05-04 11:18:33.000000000 +0000
-@@ -0,0 +1 @@
-+rec_sqrt-carry
-diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
---- mpfr-3.0.1-a/VERSION	2011-04-12 10:50:02.000000000 +0000
-+++ mpfr-3.0.1-b/VERSION	2011-05-04 11:18:33.000000000 +0000
-@@ -1 +1 @@
--3.0.1-p1
-+3.0.1-p2
-diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
---- mpfr-3.0.1-a/mpfr.h	2011-04-12 10:50:02.000000000 +0000
-+++ mpfr-3.0.1-b/mpfr.h	2011-05-04 11:18:33.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 0
- #define MPFR_VERSION_PATCHLEVEL 1
--#define MPFR_VERSION_STRING "3.0.1-p1"
-+#define MPFR_VERSION_STRING "3.0.1-p2"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.0.1-a/rec_sqrt.c mpfr-3.0.1-b/rec_sqrt.c
---- mpfr-3.0.1-a/rec_sqrt.c	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/rec_sqrt.c	2011-05-04 11:18:33.000000000 +0000
-@@ -375,20 +375,37 @@
-       MPFR_ASSERTD(un == ln + 1 || un == ln + 2);
-       /* the high un-ln limbs of u will overlap the low part of {x+ln,xn},
-          we need to add or subtract the overlapping part {u + ln, un - ln} */
-+      /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1
-+         below (with size = th) mustn't be used. In such a case, the limb
-+         (carry) will be 0, so that this is semantically a no-op, but if
-+         mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a
-+         non-atomic read/write in a place that is not always allocated,
-+         with the possible consequences: a crash if the corresponding
-+         address is not mapped, or (rather unlikely) memory corruption
-+         if another process/thread writes at the same place; things may
-+         be worse with future GMP versions. Hence the tests carry != 0. */
-       if (neg == 0)
-         {
-           if (ln > 0)
-             MPN_COPY (x, u, ln);
-           cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln);
-           /* add cu at x+un */
--          cy += mpn_add_1 (x + un, x + un, th, cu);
-+          if (cu != 0)
-+            {
-+              MPFR_ASSERTD (th != 0);
-+              cy += mpn_add_1 (x + un, x + un, th, cu);
-+            }
-         }
-       else /* negative case */
-         {
-           /* subtract {u+ln, un-ln} from {x+ln,un} */
-           cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln);
-           /* carry cy is at x+un, like cu */
--          cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
-+          if (cy + cu != 0)
-+            {
-+              MPFR_ASSERTD (th != 0);
-+              cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
-+            }
-           /* cy cannot be zero, since the most significant bit of Xh is 1,
-              and the correction is bounded by 2^{-h+3} */
-           MPFR_ASSERTD(cy == 0);
-diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
---- mpfr-3.0.1-a/version.c	2011-04-12 10:50:02.000000000 +0000
-+++ mpfr-3.0.1-b/version.c	2011-05-04 11:18:33.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.0.1-p1";
-+  return "3.0.1-p2";
- }
-diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
---- mpfr-3.0.1-a/PATCHES	2011-05-05 00:00:35.000000000 +0000
-+++ mpfr-3.0.1-b/PATCHES	2011-05-05 00:00:35.000000000 +0000
-@@ -0,0 +1 @@
-+atan-expo-range
-diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
---- mpfr-3.0.1-a/VERSION	2011-05-04 11:18:33.000000000 +0000
-+++ mpfr-3.0.1-b/VERSION	2011-05-05 00:00:35.000000000 +0000
-@@ -1 +1 @@
--3.0.1-p2
-+3.0.1-p3
-diff -Naurd mpfr-3.0.1-a/atan.c mpfr-3.0.1-b/atan.c
---- mpfr-3.0.1-a/atan.c	2011-04-04 10:19:18.000000000 +0000
-+++ mpfr-3.0.1-b/atan.c	2011-05-05 00:00:35.000000000 +0000
-@@ -431,5 +431,5 @@
-   MPFR_GROUP_CLEAR (group);
- 
-   MPFR_SAVE_EXPO_FREE (expo);
--  return mpfr_check_range (arctgt, inexact, rnd_mode);
-+  return mpfr_check_range (atan, inexact, rnd_mode);
- }
-diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
---- mpfr-3.0.1-a/mpfr.h	2011-05-04 11:18:33.000000000 +0000
-+++ mpfr-3.0.1-b/mpfr.h	2011-05-05 00:00:35.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 0
- #define MPFR_VERSION_PATCHLEVEL 1
--#define MPFR_VERSION_STRING "3.0.1-p2"
-+#define MPFR_VERSION_STRING "3.0.1-p3"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.0.1-a/tests/tatan.c mpfr-3.0.1-b/tests/tatan.c
---- mpfr-3.0.1-a/tests/tatan.c	2011-04-04 10:19:17.000000000 +0000
-+++ mpfr-3.0.1-b/tests/tatan.c	2011-05-05 00:00:35.000000000 +0000
-@@ -535,6 +535,52 @@
-   mpfr_clears (a, x, y, (mpfr_ptr) 0);
- }
- 
-+/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html
-+ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure).
-+ */
-+static void
-+reduced_expo_range (void)
-+{
-+  mpfr_exp_t emin, emax;
-+  mpfr_t x, y, ex_y;
-+  int inex, ex_inex;
-+  unsigned int flags, ex_flags;
-+
-+  emin = mpfr_get_emin ();
-+  emax = mpfr_get_emax ();
-+
-+  mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0);
-+  mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN);
-+
-+  mpfr_set_emin (-5);
-+  mpfr_set_emax (-5);
-+  mpfr_clear_flags ();
-+  inex = mpfr_atan (y, x, MPFR_RNDN);
-+  flags = __gmpfr_flags;
-+  mpfr_set_emin (emin);
-+  mpfr_set_emax (emax);
-+
-+  mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN);
-+  ex_inex = 1;
-+  ex_flags = MPFR_FLAGS_INEXACT;
-+
-+  if (SIGN (inex) != ex_inex || flags != ex_flags ||
-+      ! mpfr_equal_p (y, ex_y))
-+    {
-+      printf ("Error in reduced_expo_range\non x = ");
-+      mpfr_dump (x);
-+      printf ("Expected y = ");
-+      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
-+      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
-+      printf ("Got      y = ");
-+      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
-+      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
-+      exit (1);
-+    }
-+
-+  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
-+}
-+
- int
- main (int argc, char *argv[])
- {
-@@ -546,6 +592,7 @@
-   smallvals_atan2 ();
-   atan2_bug_20071003 ();
-   atan2_different_prec ();
-+  reduced_expo_range ();
- 
-   test_generic_atan  (2, 200, 17);
-   test_generic_atan2 (2, 200, 17);
-diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
---- mpfr-3.0.1-a/version.c	2011-05-04 11:18:33.000000000 +0000
-+++ mpfr-3.0.1-b/version.c	2011-05-05 00:00:35.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.0.1-p2";
-+  return "3.0.1-p3";
- }
-diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
---- mpfr-3.0.1-a/PATCHES	2011-05-09 14:48:24.000000000 +0000
-+++ mpfr-3.0.1-b/PATCHES	2011-05-09 14:48:24.000000000 +0000
-@@ -0,0 +1 @@
-+texp-zero
-diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
---- mpfr-3.0.1-a/VERSION	2011-05-05 00:00:35.000000000 +0000
-+++ mpfr-3.0.1-b/VERSION	2011-05-09 14:48:24.000000000 +0000
-@@ -1 +1 @@
--3.0.1-p3
-+3.0.1-p4
-diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
---- mpfr-3.0.1-a/mpfr.h	2011-05-05 00:00:35.000000000 +0000
-+++ mpfr-3.0.1-b/mpfr.h	2011-05-09 14:48:24.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 0
- #define MPFR_VERSION_PATCHLEVEL 1
--#define MPFR_VERSION_STRING "3.0.1-p3"
-+#define MPFR_VERSION_STRING "3.0.1-p4"
- 
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.0.1-a/tests/texp.c mpfr-3.0.1-b/tests/texp.c
---- mpfr-3.0.1-a/tests/texp.c	2011-04-04 10:19:17.000000000 +0000
-+++ mpfr-3.0.1-b/tests/texp.c	2011-05-09 14:48:24.000000000 +0000
-@@ -170,7 +170,9 @@
-       mpfr_set_prec (x, prec);
-       mpfr_set_prec (y, prec);
-       mpfr_set_prec (z, prec);
--      mpfr_urandomb (x, RANDS);
-+      do
-+        mpfr_urandomb (x, RANDS);
-+      while (MPFR_IS_ZERO (x));  /* 0 is handled by mpfr_exp only */
-       rnd = RND_RAND ();
-       mpfr_exp_2 (y, x, rnd);
-       mpfr_exp_3 (z, x, rnd);
-diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
---- mpfr-3.0.1-a/version.c	2011-05-05 00:00:35.000000000 +0000
-+++ mpfr-3.0.1-b/version.c	2011-05-09 14:48:24.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
--  return "3.0.1-p3";
-+  return "3.0.1-p4";
- }

Copied: mpfr/repos/core-i686/mpfr-3.0.1.p4.patch (from rev 135900, mpfr/repos/testing-i686/mpfr-3.0.1.p4.patch)
===================================================================
--- core-i686/mpfr-3.0.1.p4.patch	                        (rev 0)
+++ core-i686/mpfr-3.0.1.p4.patch	2011-08-20 07:14:06 UTC (rev 135911)
@@ -0,0 +1,367 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES	2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES	2011-04-12 10:50:02.000000000 +0000
+@@ -0,0 +1 @@
++asin_exprange
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/VERSION	2011-04-12 10:50:02.000000000 +0000
+@@ -1 +1 @@
+-3.0.1
++3.0.1-p1
+diff -Naurd mpfr-3.0.1-a/asin.c mpfr-3.0.1-b/asin.c
+--- mpfr-3.0.1-a/asin.c	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/asin.c	2011-04-12 10:50:02.000000000 +0000
+@@ -63,11 +63,14 @@
+ 
+   compared = mpfr_cmp_ui (xp, 1);
+ 
++  MPFR_SAVE_EXPO_MARK (expo);
++
+   if (MPFR_UNLIKELY (compared >= 0))
+     {
+       mpfr_clear (xp);
+       if (compared > 0)                  /* asin(x) = NaN for |x| > 1 */
+         {
++          MPFR_SAVE_EXPO_FREE (expo);
+           MPFR_SET_NAN (asin);
+           MPFR_RET_NAN;
+         }
+@@ -80,13 +83,11 @@
+               inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode));
+               MPFR_CHANGE_SIGN (asin);
+             }
+-          mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */
+-          return inexact;
++          mpfr_div_2ui (asin, asin, 1, rnd_mode);
+         }
+     }
+-
+-  MPFR_SAVE_EXPO_MARK (expo);
+-
++  else
++    {
+   /* Compute exponent of 1 - ABS(x) */
+   mpfr_ui_sub (xp, 1, xp, MPFR_RNDD);
+   MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0);
+@@ -115,6 +116,7 @@
+   inexact = mpfr_set (asin, xp, rnd_mode);
+ 
+   mpfr_clear (xp);
++    }
+ 
+   MPFR_SAVE_EXPO_FREE (expo);
+   return mpfr_check_range (asin, inexact, rnd_mode);
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h	2011-04-12 10:50:02.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1"
++#define MPFR_VERSION_STRING "3.0.1-p1"
+ 
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tasin.c mpfr-3.0.1-b/tests/tasin.c
+--- mpfr-3.0.1-a/tests/tasin.c	2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tasin.c	2011-04-12 10:50:02.000000000 +0000
+@@ -219,6 +219,49 @@
+   mpfr_clear (y);
+ }
+ 
++static void
++reduced_expo_range (void)
++{
++  mpfr_exp_t emin, emax;
++  mpfr_t x, y, ex_y;
++  int inex, ex_inex;
++  unsigned int flags, ex_flags;
++
++  emin = mpfr_get_emin ();
++  emax = mpfr_get_emax ();
++
++  mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0);
++  mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN);
++
++  mpfr_set_emin (1);
++  mpfr_set_emax (1);
++  mpfr_clear_flags ();
++  inex = mpfr_asin (y, x, MPFR_RNDA);
++  flags = __gmpfr_flags;
++  mpfr_set_emin (emin);
++  mpfr_set_emax (emax);
++
++  mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN);
++  ex_inex = -1;
++  ex_flags = MPFR_FLAGS_INEXACT;
++
++  if (SIGN (inex) != ex_inex || flags != ex_flags ||
++      ! mpfr_equal_p (y, ex_y))
++    {
++      printf ("Error in reduced_expo_range\non x = ");
++      mpfr_dump (x);
++      printf ("Expected y = ");
++      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
++      printf ("Got      y = ");
++      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
++      exit (1);
++    }
++
++  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (void)
+ {
+@@ -226,6 +269,7 @@
+ 
+   special ();
+   special_overflow ();
++  reduced_expo_range ();
+ 
+   test_generic (2, 100, 15);
+ 
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/version.c	2011-04-12 10:50:02.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+-  return "3.0.1";
++  return "3.0.1-p1";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES	2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES	2011-05-04 11:18:33.000000000 +0000
+@@ -0,0 +1 @@
++rec_sqrt-carry
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION	2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/VERSION	2011-05-04 11:18:33.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p1
++3.0.1-p2
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h	2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h	2011-05-04 11:18:33.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p1"
++#define MPFR_VERSION_STRING "3.0.1-p2"
+ 
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/rec_sqrt.c mpfr-3.0.1-b/rec_sqrt.c
+--- mpfr-3.0.1-a/rec_sqrt.c	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/rec_sqrt.c	2011-05-04 11:18:33.000000000 +0000
+@@ -375,20 +375,37 @@
+       MPFR_ASSERTD(un == ln + 1 || un == ln + 2);
+       /* the high un-ln limbs of u will overlap the low part of {x+ln,xn},
+          we need to add or subtract the overlapping part {u + ln, un - ln} */
++      /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1
++         below (with size = th) mustn't be used. In such a case, the limb
++         (carry) will be 0, so that this is semantically a no-op, but if
++         mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a
++         non-atomic read/write in a place that is not always allocated,
++         with the possible consequences: a crash if the corresponding
++         address is not mapped, or (rather unlikely) memory corruption
++         if another process/thread writes at the same place; things may
++         be worse with future GMP versions. Hence the tests carry != 0. */
+       if (neg == 0)
+         {
+           if (ln > 0)
+             MPN_COPY (x, u, ln);
+           cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln);
+           /* add cu at x+un */
+-          cy += mpn_add_1 (x + un, x + un, th, cu);
++          if (cu != 0)
++            {
++              MPFR_ASSERTD (th != 0);
++              cy += mpn_add_1 (x + un, x + un, th, cu);
++            }
+         }
+       else /* negative case */
+         {
+           /* subtract {u+ln, un-ln} from {x+ln,un} */
+           cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln);
+           /* carry cy is at x+un, like cu */
+-          cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++          if (cy + cu != 0)
++            {
++              MPFR_ASSERTD (th != 0);
++              cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++            }
+           /* cy cannot be zero, since the most significant bit of Xh is 1,
+              and the correction is bounded by 2^{-h+3} */
+           MPFR_ASSERTD(cy == 0);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c	2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/version.c	2011-05-04 11:18:33.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+-  return "3.0.1-p1";
++  return "3.0.1-p2";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES	2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES	2011-05-05 00:00:35.000000000 +0000
+@@ -0,0 +1 @@
++atan-expo-range
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION	2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/VERSION	2011-05-05 00:00:35.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p2
++3.0.1-p3
+diff -Naurd mpfr-3.0.1-a/atan.c mpfr-3.0.1-b/atan.c
+--- mpfr-3.0.1-a/atan.c	2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/atan.c	2011-05-05 00:00:35.000000000 +0000
+@@ -431,5 +431,5 @@
+   MPFR_GROUP_CLEAR (group);
+ 
+   MPFR_SAVE_EXPO_FREE (expo);
+-  return mpfr_check_range (arctgt, inexact, rnd_mode);
++  return mpfr_check_range (atan, inexact, rnd_mode);
+ }
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h	2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h	2011-05-05 00:00:35.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p2"
++#define MPFR_VERSION_STRING "3.0.1-p3"
+ 
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tatan.c mpfr-3.0.1-b/tests/tatan.c
+--- mpfr-3.0.1-a/tests/tatan.c	2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tatan.c	2011-05-05 00:00:35.000000000 +0000
+@@ -535,6 +535,52 @@
+   mpfr_clears (a, x, y, (mpfr_ptr) 0);
+ }
+ 
++/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html
++ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure).
++ */
++static void
++reduced_expo_range (void)
++{
++  mpfr_exp_t emin, emax;
++  mpfr_t x, y, ex_y;
++  int inex, ex_inex;
++  unsigned int flags, ex_flags;
++
++  emin = mpfr_get_emin ();
++  emax = mpfr_get_emax ();
++
++  mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0);
++  mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN);
++
++  mpfr_set_emin (-5);
++  mpfr_set_emax (-5);
++  mpfr_clear_flags ();
++  inex = mpfr_atan (y, x, MPFR_RNDN);
++  flags = __gmpfr_flags;
++  mpfr_set_emin (emin);
++  mpfr_set_emax (emax);
++
++  mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN);
++  ex_inex = 1;
++  ex_flags = MPFR_FLAGS_INEXACT;
++
++  if (SIGN (inex) != ex_inex || flags != ex_flags ||
++      ! mpfr_equal_p (y, ex_y))
++    {
++      printf ("Error in reduced_expo_range\non x = ");
++      mpfr_dump (x);
++      printf ("Expected y = ");
++      mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++      printf ("\n         inex = %d, flags = %u\n", ex_inex, ex_flags);
++      printf ("Got      y = ");
++      mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++      printf ("\n         inex = %d, flags = %u\n", SIGN (inex), flags);
++      exit (1);
++    }
++
++  mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -546,6 +592,7 @@
+   smallvals_atan2 ();
+   atan2_bug_20071003 ();
+   atan2_different_prec ();
++  reduced_expo_range ();
+ 
+   test_generic_atan  (2, 200, 17);
+   test_generic_atan2 (2, 200, 17);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c	2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/version.c	2011-05-05 00:00:35.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+-  return "3.0.1-p2";
++  return "3.0.1-p3";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES	2011-05-09 14:48:24.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES	2011-05-09 14:48:24.000000000 +0000
+@@ -0,0 +1 @@
++texp-zero
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION	2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/VERSION	2011-05-09 14:48:24.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p3
++3.0.1-p4
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h	2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h	2011-05-09 14:48:24.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p3"
++#define MPFR_VERSION_STRING "3.0.1-p4"
+ 
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/texp.c mpfr-3.0.1-b/tests/texp.c
+--- mpfr-3.0.1-a/tests/texp.c	2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/texp.c	2011-05-09 14:48:24.000000000 +0000
+@@ -170,7 +170,9 @@
+       mpfr_set_prec (x, prec);
+       mpfr_set_prec (y, prec);
+       mpfr_set_prec (z, prec);
+-      mpfr_urandomb (x, RANDS);
++      do
++        mpfr_urandomb (x, RANDS);
++      while (MPFR_IS_ZERO (x));  /* 0 is handled by mpfr_exp only */
+       rnd = RND_RAND ();
+       mpfr_exp_2 (y, x, rnd);
+       mpfr_exp_3 (z, x, rnd);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c	2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/version.c	2011-05-09 14:48:24.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+-  return "3.0.1-p3";
++  return "3.0.1-p4";
+ }

Deleted: core-i686/mpfr.install
===================================================================
--- core-i686/mpfr.install	2011-08-20 07:14:03 UTC (rev 135910)
+++ core-i686/mpfr.install	2011-08-20 07:14:06 UTC (rev 135911)
@@ -1,20 +0,0 @@
-info_dir=usr/share/info
-info_files=(mpfr.info)
-
-post_install() {
-  [ -x usr/bin/install-info ] || return 0
-  for f in ${info_files[@]}; do
-    install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
-  done
-}
-
-post_upgrade() {
-  post_install $1
-}
-
-pre_remove() {
-  [ -x usr/bin/install-info ] || return 0
-  for f in ${info_files[@]}; do
-    install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
-  done
-}

Copied: mpfr/repos/core-i686/mpfr.install (from rev 135900, mpfr/repos/testing-i686/mpfr.install)
===================================================================
--- core-i686/mpfr.install	                        (rev 0)
+++ core-i686/mpfr.install	2011-08-20 07:14:06 UTC (rev 135911)
@@ -0,0 +1,20 @@
+info_dir=usr/share/info
+info_files=(mpfr.info)
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  for f in ${info_files[@]}; do
+    install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for f in ${info_files[@]}; do
+    install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+  done
+}




More information about the arch-commits mailing list