crosstool-ng/patches/mpfr/3.1.3/230-gamma.patch
Kirill K. Smirnov 2e6a56d1cc patches: add patches for mpfr
This changeset adds official patches published on
mpfr website.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-09-18 00:01:42 +03:00

78 lines
2.3 KiB
Diff

diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES
--- mpfr-3.1.3-a/PATCHES 2016-02-23 07:43:23.702095604 +0000
+++ mpfr-3.1.3-b/PATCHES 2016-02-23 07:43:23.726095285 +0000
@@ -0,0 +1 @@
+gamma
diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION
--- mpfr-3.1.3-a/VERSION 2016-02-15 15:20:51.306696441 +0000
+++ mpfr-3.1.3-b/VERSION 2016-02-23 07:43:23.726095285 +0000
@@ -1 +1 @@
-3.1.3-p12
+3.1.3-p13
diff -Naurd mpfr-3.1.3-a/src/gamma.c mpfr-3.1.3-b/src/gamma.c
--- mpfr-3.1.3-a/src/gamma.c 2015-06-19 19:55:09.000000000 +0000
+++ mpfr-3.1.3-b/src/gamma.c 2016-02-23 07:43:23.718095391 +0000
@@ -70,6 +70,9 @@
{
mpfr_t x, y;
unsigned long r, k;
+ MPFR_SAVE_EXPO_DECL (expo);
+
+ MPFR_SAVE_EXPO_MARK (expo);
mpfr_init2 (x, 38);
mpfr_init2 (y, 38);
mpfr_set_ui (x, n, MPFR_RNDZ);
@@ -86,6 +89,8 @@
r -= n / k;
mpfr_clear (x);
mpfr_clear (y);
+ MPFR_SAVE_EXPO_FREE (expo);
+
return r;
}
diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h
--- mpfr-3.1.3-a/src/mpfr.h 2016-02-15 15:20:51.302696439 +0000
+++ mpfr-3.1.3-b/src/mpfr.h 2016-02-23 07:43:23.726095285 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 3
-#define MPFR_VERSION_STRING "3.1.3-p12"
+#define MPFR_VERSION_STRING "3.1.3-p13"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c
--- mpfr-3.1.3-a/src/version.c 2016-02-15 15:20:51.306696441 +0000
+++ mpfr-3.1.3-b/src/version.c 2016-02-23 07:43:23.726095285 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.3-p12";
+ return "3.1.3-p13";
}
diff -Naurd mpfr-3.1.3-a/tests/tgamma.c mpfr-3.1.3-b/tests/tgamma.c
--- mpfr-3.1.3-a/tests/tgamma.c 2015-06-19 19:55:10.000000000 +0000
+++ mpfr-3.1.3-b/tests/tgamma.c 2016-02-23 07:43:23.718095391 +0000
@@ -192,6 +192,18 @@
exit (1);
}
+ mpfr_set_prec (x, 2);
+ mpfr_set_prec (y, 2);
+ mpfr_set_ui (x, 2, MPFR_RNDN);
+ mpfr_clear_inexflag ();
+ mpfr_gamma (y, x, MPFR_RNDN);
+ if (mpfr_inexflag_p ())
+ {
+ printf ("Wrong inexact flag for gamma(2)\n");
+ printf ("expected 0, got 1\n");
+ exit (1);
+ }
+
mpfr_clear (x);
mpfr_clear (y);
}