summaryrefslogtreecommitdiffstats
path: root/source/l/mpfr/patches/patch06
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/mpfr/patches/patch06')
-rw-r--r--source/l/mpfr/patches/patch06389
1 files changed, 389 insertions, 0 deletions
diff --git a/source/l/mpfr/patches/patch06 b/source/l/mpfr/patches/patch06
new file mode 100644
index 000000000..6d6922366
--- /dev/null
+++ b/source/l/mpfr/patches/patch06
@@ -0,0 +1,389 @@
+diff -Naurd mpfr-4.2.0-a/PATCHES mpfr-4.2.0-b/PATCHES
+--- mpfr-4.2.0-a/PATCHES 2023-05-12 15:06:11.789722083 +0000
++++ mpfr-4.2.0-b/PATCHES 2023-05-12 15:06:11.885721962 +0000
+@@ -0,0 +1 @@
++tests-reuse
+diff -Naurd mpfr-4.2.0-a/VERSION mpfr-4.2.0-b/VERSION
+--- mpfr-4.2.0-a/VERSION 2023-05-12 15:05:01.085811835 +0000
++++ mpfr-4.2.0-b/VERSION 2023-05-12 15:06:11.885721962 +0000
+@@ -1 +1 @@
+-4.2.0-p5
++4.2.0-p6
+diff -Naurd mpfr-4.2.0-a/src/mpfr.h mpfr-4.2.0-b/src/mpfr.h
+--- mpfr-4.2.0-a/src/mpfr.h 2023-05-12 15:05:01.077811846 +0000
++++ mpfr-4.2.0-b/src/mpfr.h 2023-05-12 15:06:11.877721972 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 4
+ #define MPFR_VERSION_MINOR 2
+ #define MPFR_VERSION_PATCHLEVEL 0
+-#define MPFR_VERSION_STRING "4.2.0-p5"
++#define MPFR_VERSION_STRING "4.2.0-p6"
+
+ /* User macros:
+ MPFR_USE_FILE: Define it to make MPFR define functions dealing
+diff -Naurd mpfr-4.2.0-a/src/version.c mpfr-4.2.0-b/src/version.c
+--- mpfr-4.2.0-a/src/version.c 2023-05-12 15:05:01.081811839 +0000
++++ mpfr-4.2.0-b/src/version.c 2023-05-12 15:06:11.885721962 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "4.2.0-p5";
++ return "4.2.0-p6";
+ }
+diff -Naurd mpfr-4.2.0-a/tests/reuse.c mpfr-4.2.0-b/tests/reuse.c
+--- mpfr-4.2.0-a/tests/reuse.c 2023-01-05 17:09:48.000000000 +0000
++++ mpfr-4.2.0-b/tests/reuse.c 2023-05-12 15:06:11.869721983 +0000
+@@ -78,22 +78,16 @@
+ mpfr_const_pi (x, MPFR_RNDN);
+ MPFR_SET_EXP (x, MPFR_GET_EXP (x)-1);
+ break;
+- default:
++ case 11:
+ mpfr_urandomb (x, RANDS);
+ if (RAND_BOOL ())
+ mpfr_neg (x, x, MPFR_RNDN);
+ break;
++ default:
++ MPFR_ASSERTN (0);
+ }
+ }
+
+-/* same as mpfr_cmp, but returns 0 for both NaN's */
+-static int
+-mpfr_compare (mpfr_srcptr a, mpfr_srcptr b)
+-{
+- return (MPFR_IS_NAN(a)) ? !MPFR_IS_NAN(b) :
+- (MPFR_IS_NAN(b) || mpfr_cmp(a, b));
+-}
+-
+ static void
+ test3 (int (*testfunc)(mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mpfr_rnd_t),
+ const char *foo, mpfr_prec_t prec, mpfr_rnd_t rnd)
+@@ -112,10 +106,10 @@
+
+ /* for each variable, consider each of the following 6 possibilities:
+ NaN, +Infinity, -Infinity, +0, -0 or a random number */
+- for (i=0; i < SPECIAL_MAX*SPECIAL_MAX ; i++)
++ for (i = 0; i < SPECIAL_MAX * SPECIAL_MAX; i++)
+ {
+- set_special (ref2, i%SPECIAL_MAX);
+- set_special (ref3, i/SPECIAL_MAX);
++ set_special (ref2, i % SPECIAL_MAX);
++ set_special (ref3, i / SPECIAL_MAX);
+
+ /* reference call: foo(a, b, c) */
+ testfunc (ref1, ref2, ref3, rnd);
+@@ -124,11 +118,11 @@
+ mpfr_set (res1, ref2, rnd); /* exact operation */
+ testfunc (res1, res1, ref3, rnd);
+
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, a, c) with %s for ", foo,
+ mpfr_print_rnd_mode (rnd));
+- DISP("a=",ref2); DISP2(", c=",ref3);
++ DISP("a=", ref2); DISP2(", c=", ref3);
+ printf ("expected "); mpfr_dump (ref1);
+ printf ("got "); mpfr_dump (res1);
+ exit (1);
+@@ -137,11 +131,12 @@
+ /* foo(a, b, a) */
+ mpfr_set (res1, ref3, rnd);
+ testfunc (res1, ref2, res1, rnd);
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, b, a) for ", foo);
+- DISP("b=",ref2); DISP2(", a=", ref3);
+- DISP("expected ", ref1); DISP2(", got ",res1);
++ DISP("b=", ref2); DISP2(", a=", ref3);
++ printf ("expected "); mpfr_dump (ref1);
++ printf ("got "); mpfr_dump (res1);
+ exit (1);
+ }
+
+@@ -151,11 +146,12 @@
+ mpfr_set (res1, ref2, rnd);
+ testfunc (res1, res1, res1, rnd);
+
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, a, a) for ", foo);
+- DISP2("a=",ref2);
+- DISP("expected ", ref1); DISP2(", got ", res1);
++ DISP2("a=", ref2);
++ printf ("expected "); mpfr_dump (ref1);
++ printf ("got "); mpfr_dump (res1);
+ exit (1);
+ }
+ }
+@@ -187,13 +183,13 @@
+ /* for each variable, consider each of the following 6 possibilities:
+ NaN, +Infinity, -Infinity, +0, -0 or a random number */
+
+- for (i=0; i<SPECIAL_MAX; i++)
++ for (i = 0; i < SPECIAL_MAX; i++)
+ {
+ set_special (op1, i);
+- for (j=0; j<SPECIAL_MAX; j++)
++ for (j = 0; j < SPECIAL_MAX; j++)
+ {
+ set_special (op2, j);
+- for (k=0; k<SPECIAL_MAX; k++)
++ for (k = 0; k < SPECIAL_MAX; k++)
+ {
+ set_special (op3, k);
+
+@@ -204,11 +200,12 @@
+ mpfr_set (res, op1, rnd); /* exact operation */
+ testfunc (res, res, op2, op3, rnd);
+
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", b=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+@@ -216,11 +213,12 @@
+ mpfr_set (res, op2, rnd);
+ testfunc (res, op1, res, op3, rnd);
+
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", b=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+@@ -228,35 +226,38 @@
+ mpfr_set (res, op3, rnd);
+ testfunc (res, op1, op2, res, rnd);
+
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", b=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+- /* foo(a, a, a,c) */
++ /* foo(a, a, a, c) */
+ testfunc (ref, op1, op1, op3, rnd);
+ mpfr_set (res, op1, rnd);
+ testfunc (res, res, res, op3, rnd);
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", a=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+- /* foo(a, a, b,a) */
++ /* foo(a, a, b, a) */
+ testfunc (ref, op1, op2, op1, rnd);
+ mpfr_set (res, op1, rnd);
+ testfunc (res, res, op2, res, rnd);
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", a=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+@@ -264,11 +265,12 @@
+ testfunc (ref, op1, op2, op2, rnd);
+ mpfr_set (res, op2, rnd);
+ testfunc (res, op1, res, res, rnd);
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, b, c) for ", foo);
+ DISP("a=", op1); DISP(", a=", op2); DISP2(", c=", op3);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+
+@@ -276,11 +278,12 @@
+ testfunc (ref, op1, op1, op1, rnd);
+ mpfr_set (res, op1, rnd);
+ testfunc (res, res, res, res, rnd);
+- if (mpfr_compare (res, ref))
++ if (! SAME_VAL (res, ref))
+ {
+ printf ("Error for %s(a, a, a, a) for ", foo);
+ DISP2("a=", op1);
+- DISP("expected ", ref); DISP2(", got ", res);
++ printf ("expected "); mpfr_dump (ref);
++ printf ("got "); mpfr_dump (res);
+ exit (1);
+ }
+ }
+@@ -313,10 +316,10 @@
+
+ /* ref2 can be NaN, +Inf, -Inf, +0, -0 or any number
+ ref3 can be 0 or any number */
+- for (i=0; i<SPECIAL_MAX*2; i++)
++ for (i = 0; i < SPECIAL_MAX * 2; i++)
+ {
+- set_special (ref2, i%SPECIAL_MAX);
+- ref3 = i/SPECIAL_MAX == 0 ? 0 : randlimb ();
++ set_special (ref2, i % SPECIAL_MAX);
++ ref3 = i / SPECIAL_MAX == 0 ? 0 : randlimb ();
+
+ /* reference call: foo(a, b, c) */
+ testfunc (ref1, ref2, ref3, rnd);
+@@ -325,10 +328,10 @@
+ mpfr_set (res1, ref2, rnd); /* exact operation */
+ testfunc (res1, res1, ref3, rnd);
+
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, a, c) for c=%u\n", foo, ref3);
+- DISP2("a=",ref2);
++ DISP2("a=", ref2);
+ printf ("expected "); mpfr_dump (ref1);
+ printf ("got "); mpfr_dump (res1);
+ exit (1);
+@@ -356,10 +359,10 @@
+ mpfr_init2 (ref3, prec);
+ mpfr_init2 (res1, prec);
+
+- for (i=0; i<SPECIAL_MAX*2; i++)
++ for (i = 0; i < SPECIAL_MAX * 2; i++)
+ {
+- set_special (ref3, i%SPECIAL_MAX);
+- ref2 = i/SPECIAL_MAX==0 ? 0 : randlimb ();
++ set_special (ref3, i % SPECIAL_MAX);
++ ref2 = i / SPECIAL_MAX == 0 ? 0 : randlimb ();
+
+ /* reference call: foo(a, b, c) */
+ testfunc (ref1, ref2, ref3, rnd);
+@@ -367,7 +370,7 @@
+ /* foo(a, b, a) */
+ mpfr_set (res1, ref3, rnd); /* exact operation */
+ testfunc (res1, ref2, res1, rnd);
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, b, a) for b=%u \n", foo, ref2);
+ DISP2("a=", ref3);
+@@ -397,7 +400,7 @@
+ mpfr_init2 (ref2, prec);
+ mpfr_init2 (res1, prec);
+
+- for (i=0; i<SPECIAL_MAX; i++)
++ for (i = 0; i < SPECIAL_MAX; i++)
+ {
+ set_special (ref2, i);
+
+@@ -407,7 +410,7 @@
+ /* foo(a, a) */
+ mpfr_set (res1, ref2, rnd); /* exact operation */
+ testfunc (res1, res1, rnd);
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, a) for ", foo);
+ DISP2("a=", ref2);
+@@ -437,7 +440,7 @@
+ mpfr_init2 (ref2, prec);
+ mpfr_init2 (res1, prec);
+
+- for (i=0; i<SPECIAL_MAX; i++)
++ for (i = 0; i < SPECIAL_MAX; i++)
+ {
+ set_special (ref2, i);
+
+@@ -447,10 +450,10 @@
+ /* foo(a, a) */
+ mpfr_set (res1, ref2, MPFR_RNDN); /* exact operation */
+ testfunc (res1, res1);
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for %s(a, a) for ", foo);
+- DISP2("a=",ref2);
++ DISP2("a=", ref2);
+ DISP("expected", ref1); DISP2(", got ", res1);
+ exit (1);
+ }
+@@ -479,7 +482,7 @@
+ mpfr_init2 (res1, prec);
+ mpfr_init2 (res2, prec);
+
+- for (i=0; i<SPECIAL_MAX; i++)
++ for (i = 0; i < SPECIAL_MAX; i++)
+ {
+ set_special (ref3, i);
+
+@@ -489,12 +492,12 @@
+ /* foo(a, b, a) */
+ mpfr_set (res1, ref3, rnd); /* exact operation */
+ testfunc (res1, res2, res1, rnd);
+- if (mpfr_compare (res1, ref1) || mpfr_compare (res2, ref2))
++ if (! SAME_VAL (res1, ref1) || ! SAME_VAL (res2, ref2))
+ {
+ printf ("Error for %s(a, b, a) for rnd=%s, ", foo,
+ mpfr_print_rnd_mode (rnd));
+- DISP2("a=",ref3);
+- DISP("expected (", ref1); DISP(",",ref2);
++ DISP2("a=", ref3);
++ DISP("expected (", ref1); DISP(",", ref2);
+ DISP("), got (", res1); DISP(",", res2); printf(")\n");
+ exit (1);
+ }
+@@ -502,11 +505,11 @@
+ /* foo(a, b, b) */
+ mpfr_set (res2, ref3, rnd); /* exact operation */
+ testfunc (res1, res2, res2, rnd);
+- if (mpfr_compare (res1, ref1) || mpfr_compare (res2, ref2))
++ if (! SAME_VAL (res1, ref1) || ! SAME_VAL (res2, ref2))
+ {
+ printf ("Error for %s(a, b, b) for ", foo);
+- DISP2("b=",ref3);
+- DISP("expected (", ref1); DISP(",",ref2);
++ DISP2("b=", ref3);
++ DISP("expected (", ref1); DISP(",", ref2);
+ DISP("), got (", res1); DISP(",", res2); printf(")\n");
+ exit (1);
+ }
+@@ -561,10 +564,10 @@
+ mpfr_set (res1, ref2, rnd); /* exact operation */
+ mpfr_pow (res1, res1, ref3, rnd);
+
+- if (mpfr_compare (res1, ref1))
++ if (! SAME_VAL (res1, ref1))
+ {
+ printf ("Error for pow_int(a, a, c) for ");
+- DISP("a=",ref2); DISP2(", c=",ref3);
++ DISP("a=", ref2); DISP2(", c=", ref3);
+ printf ("expected "); mpfr_dump (ref1);
+ printf ("got "); mpfr_dump (res1);
+ exit (1);