mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-mathematics/pari: patch update for upstream bug 2441.
Closes: https://bugs.gentoo.org/892035 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
34
sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch
Normal file
34
sci-mathematics/pari/files/pari-2.15.2-ellsea-r1.patch
Normal file
@@ -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
|
||||
|
||||
@@ -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);
|
||||
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user