diff options
Diffstat (limited to 'sci-mathematics/pari')
-rw-r--r-- | sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch | 34 | ||||
-rw-r--r-- | sci-mathematics/pari/files/pari-2.15.2-ellsea.patch | 22 | ||||
-rw-r--r-- | sci-mathematics/pari/pari-2.15.2-r2.ebuild (renamed from sci-mathematics/pari/pari-2.15.2-r1.ebuild) | 2 |
3 files changed, 35 insertions, 23 deletions
diff --git a/sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch b/sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch new file mode 100644 index 000000000000..b8af421c0e56 --- /dev/null +++ b/sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch @@ -0,0 +1,34 @@ +A fix for upstream bug 2441 and gentoo bug 892035, with the changes to +CHANGES and the test suite stripped out (they don't apply cleanly). + +From 6f556664bea5dae9d7101533be65f10b9d6332e2 Mon Sep 17 00:00:00 2001 +From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr> +Date: Fri, 20 Jan 2023 11:13:46 +0100 +Subject: [PATCH 1/1] ellcard(ellinit([1,1]*ffgen([41,16])))-> impossible + inverse [#2441] + +find_isogenous_from_Atkin: check that the kernel divides the division polynomial +--- + CHANGES | 1 + + src/basemath/ellsea.c | 3 ++- + src/test/32/ellff | 3 ++- + src/test/in/ellff | 3 +++ + 4 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/basemath/ellsea.c b/src/basemath/ellsea.c +index a6871fa6a7..05f148eadd 100644 +--- a/src/basemath/ellsea.c ++++ b/src/basemath/ellsea.c +@@ -852,7 +852,8 @@ find_isogenous_from_Atkin(GEN a4, GEN a6, ulong ell, struct meqn *MEQN, GEN g, G + GEN a4t, a6t, h; + a4a6t(&a4t, &a6t, ell, E4t, E6t, T, p); + h = find_kernel(a4, a6, ell, a4t, a6t, pp1, T, p, pp, e); +- if (h) return gerepilecopy(ltop, mkvec3(a4t, a6t, h)); ++ if (h && signe(Fq_elldivpolmod(a4, a6, ell, h, T, pp))==0) ++ return gerepilecopy(ltop, mkvec3(a4t, a6t, h)); + } + } + pari_err_BUG("find_isogenous_from_Atkin, kernel not found"); +-- +2.30.2 + diff --git a/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch b/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch deleted file mode 100644 index a5c19504ea87..000000000000 --- a/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch +++ /dev/null @@ -1,22 +0,0 @@ -# upstream bug https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2441 -# will be fixed in 2.15.3 -diff --git a/src/basemath/ellsea.c b/src/basemath/ellsea.c -index a6871fa6a7..f1e725ea55 100644 ---- a/src/basemath/ellsea.c -+++ b/src/basemath/ellsea.c -@@ -1303,6 +1303,7 @@ find_trace_Elkies_power(GEN a4, GEN a6, ulong ell, long *pt_k, struct meqn *MEQN - lambda = tr ? find_eigen_value_oneroot(a4, a6, ell, tr, kpoly, T, p): - find_eigen_value_power(a4, a6, ell, 1, 1, kpoly, T, p); - if (DEBUGLEVEL>1) err_printf(" [%ld ms]", timer_delay(ti)); -+ if (lambda==ell) return NULL; - if (smallfact && smallfact%(long)ell!=0) - { - ulong pell = pellk%ell; -@@ -1317,6 +1318,7 @@ find_trace_Elkies_power(GEN a4, GEN a6, ulong ell, long *pt_k, struct meqn *MEQN - if (!tmp) { k = cnt-1; break; } - if (DEBUGLEVEL) err_printf(", %Ps", powuu(ell, cnt)); - lambda = find_eigen_value_power(a4, a6, ell, cnt, lambda, gel(tmp,3), T, p); -+ if (lambda == upowuu(ell, cnt)) { k = cnt-1; break; } - Eba4 = Eca4; - Eba6 = Eca6; - Eca4 = gel(tmp,1); diff --git a/sci-mathematics/pari/pari-2.15.2-r1.ebuild b/sci-mathematics/pari/pari-2.15.2-r2.ebuild index 8a767ad7f37d..c25f507e52f3 100644 --- a/sci-mathematics/pari/pari-2.15.2-r1.ebuild +++ b/sci-mathematics/pari/pari-2.15.2-r2.ebuild @@ -35,7 +35,7 @@ PATCHES=( "${FILESDIR}/${PN}"-2.9.4-ppc.patch "${FILESDIR}/${PN}"-2.11.2-no-automagic.patch "${FILESDIR}/${PN}"-2.9.4-fltk-detection.patch - "${FILESDIR}/${PN}"-2.15.2-ellsea.patch + "${FILESDIR}/${PN}"-2.15.2-ellsea-r1.patch "${FILESDIR}/${PN}"-2.15.2-install-doctex.patch ) |