rpms/mpfr/devel mpfr-2.3.0-upstream.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 mpfr.spec, 1.4, 1.5 sources, 1.2, 1.3 mpfr-2.2.1-upstream.patch, 1.1, NONE

Ivana Varekova (varekova) fedora-extras-commits at redhat.com
Thu Sep 20 09:16:20 UTC 2007


Author: varekova

Update of /cvs/pkgs/rpms/mpfr/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3453

Modified Files:
	.cvsignore mpfr.spec sources 
Added Files:
	mpfr-2.3.0-upstream.patch 
Removed Files:
	mpfr-2.2.1-upstream.patch 
Log Message:
- update to 2.3.0
- fix license flag


mpfr-2.3.0-upstream.patch:

--- NEW FILE mpfr-2.3.0-upstream.patch ---
diff -Naurd mpfr-2.3.0-a/Makefile.am mpfr-2.3.0-b/Makefile.am
--- mpfr-2.3.0-a/Makefile.am	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/Makefile.am	2007-09-02 23:19:32.000000000 +0000
@@ -32,8 +32,13 @@
 
 MAKEINFOFLAGS = --enable-encoding
 
-get_patches.c: PATCHES get_patches.sh
-	./get_patches.sh > $@ || rm -f $@
+# Important note: If for some reason, srcdir is read-only at build time
+# (and you use objdir != srcdir), then you need to rebuild get_patches.c
+# (with "make get_patches.c") just after patching the MPFR source. This
+# should not be a problem in practice, in particular because "make dist"
+# automatically rebuilds get_patches.c before generating the archives.
+$(srcdir)/get_patches.c: PATCHES get_patches.sh
+	(cd $(srcdir) && ./get_patches.sh) > $@ || rm -f $@
 
 # Do not add get_patches.c to CLEANFILES so that this file doesn't
 # need to be (re)built as long as no patches are applied. Anyway the
diff -Naurd mpfr-2.3.0-a/Makefile.in mpfr-2.3.0-b/Makefile.in
--- mpfr-2.3.0-a/Makefile.in	2007-08-29 10:27:18.000000000 +0000
+++ mpfr-2.3.0-b/Makefile.in	2007-09-02 23:59:30.000000000 +0000
@@ -1665,8 +1665,13 @@
 	uninstall-info-am uninstall-libLTLIBRARIES
 
 
-get_patches.c: PATCHES get_patches.sh
-	./get_patches.sh > $@ || rm -f $@
+# Important note: If for some reason, srcdir is read-only at build time
+# (and you use objdir != srcdir), then you need to rebuild get_patches.c
+# (with "make get_patches.c") just after patching the MPFR source. This
+# should not be a problem in practice, in particular because "make dist"
+# automatically rebuilds get_patches.c before generating the archives.
+$(srcdir)/get_patches.c: PATCHES get_patches.sh
+	(cd $(srcdir) && ./get_patches.sh) > $@ || rm -f $@
 
 tune:
 	$(MAKE) $(AM_MAKEFLAGS) tuneup$(EXEEXT)
diff -Naurd mpfr-2.3.0-a/PATCHES mpfr-2.3.0-b/PATCHES
--- mpfr-2.3.0-a/PATCHES	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/PATCHES	2007-09-02 23:59:50.000000000 +0000
@@ -0,0 +1 @@
+get_patches
diff -Naurd mpfr-2.3.0-a/VERSION mpfr-2.3.0-b/VERSION
--- mpfr-2.3.0-a/VERSION	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/VERSION	2007-09-02 23:55:55.000000000 +0000
@@ -1 +1 @@
-2.3.0
+2.3.0-p1
diff -Naurd mpfr-2.3.0-a/mpfr.h mpfr-2.3.0-b/mpfr.h
--- mpfr-2.3.0-a/mpfr.h	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/mpfr.h	2007-09-02 23:55:55.000000000 +0000
@@ -27,7 +27,7 @@
 #define MPFR_VERSION_MAJOR 2
 #define MPFR_VERSION_MINOR 3
 #define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "2.3.0"
+#define MPFR_VERSION_STRING "2.3.0-p1"
 
 /* Macros dealing with MPFR VERSION */
 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.3.0-a/tests/tversion.c mpfr-2.3.0-b/tests/tversion.c
--- mpfr-2.3.0-a/tests/tversion.c	2007-08-29 10:18:10.000000000 +0000
+++ mpfr-2.3.0-b/tests/tversion.c	2007-09-02 23:55:55.000000000 +0000
@@ -46,7 +46,7 @@
   version = mpfr_get_version ();
 
   /* This test is disabled when a suffix (e.g. -dev) has been defined. */
-#if 1
+#if 0
   sprintf (buffer, "%d.%d.%d", MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR,
            MPFR_VERSION_PATCHLEVEL);
   if (strcmp (buffer, version) != 0)
diff -Naurd mpfr-2.3.0-a/version.c mpfr-2.3.0-b/version.c
--- mpfr-2.3.0-a/version.c	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/version.c	2007-09-02 23:55:55.000000000 +0000
@@ -25,5 +25,5 @@
 const char *
 mpfr_get_version (void)
 {
-  return "2.3.0";
+  return "2.3.0-p1";
 }
diff -Naurd mpfr-2.3.0-a/PATCHES mpfr-2.3.0-b/PATCHES
--- mpfr-2.3.0-a/PATCHES	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/PATCHES	2007-09-03 00:03:46.000000000 +0000
@@ -0,0 +1 @@
+mpfr_acosh
diff -Naurd mpfr-2.3.0-a/VERSION mpfr-2.3.0-b/VERSION
--- mpfr-2.3.0-a/VERSION	2007-09-02 23:55:55.000000000 +0000
+++ mpfr-2.3.0-b/VERSION	2007-09-03 00:02:12.000000000 +0000
@@ -1 +1 @@
-2.3.0-p1
+2.3.0-p2
diff -Naurd mpfr-2.3.0-a/acosh.c mpfr-2.3.0-b/acosh.c
--- mpfr-2.3.0-a/acosh.c	2007-08-29 10:18:11.000000000 +0000
+++ mpfr-2.3.0-b/acosh.c	2007-08-31 17:20:08.000000000 +0000
@@ -73,7 +73,7 @@
     /* Declaration of the size variables */
     mp_prec_t Ny = MPFR_PREC(y);   /* Precision of output variable */
     mp_prec_t Nt;                  /* Precision of the intermediary variable */
-    mp_exp_t  err, exp_te, exp_ti; /* Precision of error */
+    mp_exp_t  err, exp_te, d;      /* Precision of error */
     MPFR_ZIV_DECL (loop);
 
     /* compute the precision of intermediary variable */
@@ -91,13 +91,35 @@
         mpfr_mul (t, x, x, GMP_RNDD);      /* x^2 */
         exp_te = MPFR_GET_EXP (t);
         mpfr_sub_ui (t, t, 1, GMP_RNDD);   /* x^2-1 */
-        exp_ti = MPFR_GET_EXP (t);
-        mpfr_sqrt (t, t, GMP_RNDN);        /* sqrt(x^2-1) */
-        mpfr_add (t, t, x, GMP_RNDN);      /* sqrt(x^2-1)+x */
-        mpfr_log (t, t, GMP_RNDN);         /* ln(sqrt(x^2-1)+x)*/
+        if (MPFR_UNLIKELY (MPFR_IS_ZERO (t)))
+          {
+            mpfr_t z;
+
+            /* This means that x is very close to 1: x = 1 + z with
+               z < 2^(-Nt). Instead of increasing the precision, let's
+               compute x^2-1 by (x+1)(x-1) with an accuracy of about
+               Nt bits. */
+            mpfr_init2 (z, Nt);
+            mpfr_add_ui (t, x, 1, GMP_RNDD);
+            mpfr_sub_ui (z, x, 1, GMP_RNDD);
+            mpfr_mul (t, t, z, GMP_RNDD);
+            d = 2;
+            mpfr_sqrt (t, t, GMP_RNDN);        /* sqrt(x^2-1) */
+            mpfr_add (t, t, z, GMP_RNDN);      /* sqrt(x^2-1)+z */
+            mpfr_clear (z);
+            mpfr_log1p (t, t, GMP_RNDN);       /* log1p(sqrt(x^2-1)+z) */
+          }
+        else
+          {
+            d = exp_te - MPFR_GET_EXP (t);
+            d = MAX (1, d);
+            mpfr_sqrt (t, t, GMP_RNDN);        /* sqrt(x^2-1) */
+            mpfr_add (t, t, x, GMP_RNDN);      /* sqrt(x^2-1)+x */
+            mpfr_log (t, t, GMP_RNDN);         /* ln(sqrt(x^2-1)+x) */
+          }
 
         /* error estimate -- see algorithms.tex */
-        err = 3 + MAX (1, exp_te - exp_ti) - MPFR_GET_EXP(t);
+        err = 3 + d - MPFR_GET_EXP (t);
         /* error is bounded by 1/2 + 2^err <= 2^(1+max(-1,err)) */
         err = 1 + MAX (-1, err);
         if (MPFR_LIKELY (MPFR_CAN_ROUND (t, Nt - err, Ny, rnd_mode)))
@@ -117,9 +139,3 @@
   MPFR_SAVE_EXPO_FREE (expo);
   return mpfr_check_range (y, inexact, rnd_mode);
 }
-
-
-
-
-
-
diff -Naurd mpfr-2.3.0-a/mpfr.h mpfr-2.3.0-b/mpfr.h
--- mpfr-2.3.0-a/mpfr.h	2007-09-02 23:55:55.000000000 +0000
+++ mpfr-2.3.0-b/mpfr.h	2007-09-03 00:02:12.000000000 +0000
@@ -27,7 +27,7 @@
 #define MPFR_VERSION_MAJOR 2
 #define MPFR_VERSION_MINOR 3
 #define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "2.3.0-p1"
+#define MPFR_VERSION_STRING "2.3.0-p2"
 
 /* Macros dealing with MPFR VERSION */
 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.3.0-a/tests/tacosh.c mpfr-2.3.0-b/tests/tacosh.c
--- mpfr-2.3.0-a/tests/tacosh.c	2007-08-29 10:18:10.000000000 +0000
+++ mpfr-2.3.0-b/tests/tacosh.c	2007-08-31 17:20:00.000000000 +0000
@@ -123,12 +123,40 @@
   mpfr_clear (y);
 }
 
+/* With MPFR 2.3.0, this yields an assertion failure in mpfr_acosh. */
+static void
+bug20070831 (void)
+{
+  mpfr_t x, y, z;
+  int inex;
+
+  mpfr_init2 (x, 256);
+  mpfr_init2 (y, 32);
+  mpfr_init2 (z, 32);
+  mpfr_set_ui (x, 1, GMP_RNDN);
+  mpfr_nextabove (x);
+  inex = mpfr_acosh (y, x, GMP_RNDZ);
+  mpfr_set_ui_2exp (z, 1, -127, GMP_RNDN);
+  mpfr_nextbelow (z);
+  MPFR_ASSERTN (inex < 0);
+  if (!mpfr_equal_p (y, z))
+    {
+      printf ("Error in bug20070831:\nexpected ");
+      mpfr_dump (z);
+      printf ("got      ");
+      mpfr_dump (y);
+      exit (1);
+    }
+  mpfr_clears (x, y, z, (void *) 0);
+}
+
 int
 main (int argc, char *argv[])
 {
   tests_start_mpfr ();
 
   special ();
+  bug20070831 ();
 
   test_generic (2, 100, 25);
 
diff -Naurd mpfr-2.3.0-a/version.c mpfr-2.3.0-b/version.c
--- mpfr-2.3.0-a/version.c	2007-09-02 23:55:55.000000000 +0000
+++ mpfr-2.3.0-b/version.c	2007-09-03 00:02:12.000000000 +0000
@@ -25,5 +25,5 @@
 const char *
 mpfr_get_version (void)
 {
-  return "2.3.0-p1";
+  return "2.3.0-p2";
 }


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/mpfr/devel/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore	6 Aug 2007 13:08:47 -0000	1.2
+++ .cvsignore	20 Sep 2007 09:15:48 -0000	1.3
@@ -1 +1 @@
-mpfr-2.2.1.tar.bz2
+mpfr-2.3.0.tar.bz2


Index: mpfr.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mpfr/devel/mpfr.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- mpfr.spec	28 Aug 2007 10:24:15 -0000	1.4
+++ mpfr.spec	20 Sep 2007 09:15:48 -0000	1.5
@@ -1,10 +1,10 @@
 Summary: A C library for multiple-precision floating-point computations
 Name: mpfr
-Version: 2.2.1
-Release: 2%{dist}
+Version: 2.3.0
+Release: 1%{dist}
 URL: http://www.mpfr.org/
 Source0: http://www.mpfr.org/mpfr-current/mpfr-%{version}.tar.bz2
-Patch0: mpfr-2.2.1-upstream.patch
+Patch0: mpfr-2.3.0-upstream.patch
 License: LGPLv2+ and GPLv2+ and GFDL
 Group: System Environment/Libraries
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -41,7 +41,7 @@
 
 %build
 
-%configure --disable-assert --enable-shared
+%configure --disable-assert
 make %{?_smp_mflags}
 
 %install
@@ -85,6 +85,10 @@
 %{_infodir}/mpfr.info*
 
 %changelog
+* Thu Sep 20 2007 Ivana Varekova <varekova at redhat.com> 2.3.0-1
+- update to 2.3.0
+- fix license flag
+
 * Mon Aug 20 2007 Ivana Varekova <varekova at redhat.com> 2.2.1-2
 - spec file cleanup (#253440)
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/mpfr/devel/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources	6 Aug 2007 13:08:47 -0000	1.2
+++ sources	20 Sep 2007 09:15:48 -0000	1.3
@@ -1 +1 @@
-40bf06f8081461d8db7d6f4ad5b9f6bd  mpfr-2.2.1.tar.bz2
+cf7c743e4be122e63eb6f372fc58b657  mpfr-2.3.0.tar.bz2


--- mpfr-2.2.1-upstream.patch DELETED ---




More information about the fedora-extras-commits mailing list