Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df6633ece2 | ||
|
|
792913b850 | ||
|
|
9f7f15f598 | ||
|
|
a540f85342 |
6 changed files with 7 additions and 250 deletions
|
|
@ -1 +0,0 @@
|
||||||
mpfr-2.3.0.tar.bz2
|
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
mpfr-2.3.1.tar.bz2
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
||||||
# Makefile for source rpm: mpfr
|
|
||||||
# $Id$
|
|
||||||
NAME := mpfr
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attept a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
||||||
|
|
@ -1,223 +0,0 @@
|
||||||
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";
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
Summary: A C library for multiple-precision floating-point computations
|
Summary: A C library for multiple-precision floating-point computations
|
||||||
Name: mpfr
|
Name: mpfr
|
||||||
Version: 2.3.0
|
Version: 2.3.1
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: http://www.mpfr.org/
|
URL: http://www.mpfr.org/
|
||||||
Source0: http://www.mpfr.org/mpfr-current/mpfr-%{version}.tar.bz2
|
Source0: http://www.mpfr.org/mpfr-current/mpfr-%{version}.tar.bz2
|
||||||
Patch0: mpfr-2.3.0-upstream.patch
|
|
||||||
License: LGPLv2+ and GPLv2+ and GFDL
|
License: LGPLv2+ and GPLv2+ and GFDL
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
@ -37,7 +36,6 @@ install the mpfr package.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .up
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
|
@ -85,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%{_infodir}/mpfr.info*
|
%{_infodir}/mpfr.info*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 24 2008 Ivana Varekova <varekova@redhat.com> - 2.3.1-1
|
||||||
|
- update to 2.3.1 (#455167)
|
||||||
|
|
||||||
* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.3.0-3
|
* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.3.0-3
|
||||||
- Autorebuild for GCC 4.3
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
cf7c743e4be122e63eb6f372fc58b657 mpfr-2.3.0.tar.bz2
|
8352b619e04dcc73411a38b39dd855f6 mpfr-2.3.1.tar.bz2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue