Date: Sunday, April 8, 2018 @ 23:11:43 Author: arojas Revision: 315359
archrelease: copy trunk to community-x86_64 Added: lcalc/repos/community-x86_64/Lcommon.h.patch (from rev 315358, lcalc/trunk/Lcommon.h.patch) lcalc/repos/community-x86_64/PKGBUILD (from rev 315358, lcalc/trunk/PKGBUILD) lcalc/repos/community-x86_64/gcc-4.9.patch (from rev 315358, lcalc/trunk/gcc-4.9.patch) lcalc/repos/community-x86_64/gcc-5.patch (from rev 315358, lcalc/trunk/gcc-5.patch) lcalc/repos/community-x86_64/lcalc-c++11.patch (from rev 315358, lcalc/trunk/lcalc-c++11.patch) lcalc/repos/community-x86_64/pari-2.7.patch (from rev 315358, lcalc/trunk/pari-2.7.patch) Deleted: lcalc/repos/community-x86_64/Lcommon.h.patch lcalc/repos/community-x86_64/PKGBUILD lcalc/repos/community-x86_64/gcc-4.9.patch lcalc/repos/community-x86_64/gcc-5.patch lcalc/repos/community-x86_64/pari-2.7.patch -------------------+ Lcommon.h.patch | 46 ++++++++--------- PKGBUILD | 97 +++++++++++++++++++------------------ gcc-4.9.patch | 48 +++++++++--------- gcc-5.patch | 112 +++++++++++++++++++++---------------------- lcalc-c++11.patch | 51 +++++++++++++++++++ pari-2.7.patch | 134 ++++++++++++++++++++++++++-------------------------- 6 files changed, 271 insertions(+), 217 deletions(-) Deleted: Lcommon.h.patch =================================================================== --- Lcommon.h.patch 2018-04-08 23:11:04 UTC (rev 315358) +++ Lcommon.h.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -1,23 +0,0 @@ ---- L-1.23/include/Lcommon.h.orig 2011-04-09 04:09:25.984121006 -0300 -+++ L-1.23/include/Lcommon.h 2011-04-09 04:09:58.750265003 -0300 -@@ -25,6 +25,8 @@ inline double lcalc_to_double(const Doub - #ifdef USE_MPFR - inline double lcalc_to_double(const double& x) { return x; } - #endif -+ -+#if 0 - //inline double lcalc_to_double(const long double& x) { return x; } - inline double lcalc_to_double(const int& x) { return x; } - inline double lcalc_to_double(const long long& x) { return x; } -@@ -33,6 +35,10 @@ inline double lcalc_to_double(const char - inline double lcalc_to_double(const long int& x) { return x; } - inline double lcalc_to_double(const unsigned int& x) { return x; } - inline double lcalc_to_double(const long unsigned int& x) { return x; } -+#else -+# define lcalc_to_double(x) ((double)(x)) -+#endif -+ - #define Int(x) (int)(lcalc_to_double(x)) - #define Long(x) (Long)(lcalc_to_double(x)) - #define double(x) (double)(lcalc_to_double(x)) - \ No newline at end of file Copied: lcalc/repos/community-x86_64/Lcommon.h.patch (from rev 315358, lcalc/trunk/Lcommon.h.patch) =================================================================== --- Lcommon.h.patch (rev 0) +++ Lcommon.h.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,23 @@ +--- L-1.23/include/Lcommon.h.orig 2011-04-09 04:09:25.984121006 -0300 ++++ L-1.23/include/Lcommon.h 2011-04-09 04:09:58.750265003 -0300 +@@ -25,6 +25,8 @@ inline double lcalc_to_double(const Doub + #ifdef USE_MPFR + inline double lcalc_to_double(const double& x) { return x; } + #endif ++ ++#if 0 + //inline double lcalc_to_double(const long double& x) { return x; } + inline double lcalc_to_double(const int& x) { return x; } + inline double lcalc_to_double(const long long& x) { return x; } +@@ -33,6 +35,10 @@ inline double lcalc_to_double(const char + inline double lcalc_to_double(const long int& x) { return x; } + inline double lcalc_to_double(const unsigned int& x) { return x; } + inline double lcalc_to_double(const long unsigned int& x) { return x; } ++#else ++# define lcalc_to_double(x) ((double)(x)) ++#endif ++ + #define Int(x) (int)(lcalc_to_double(x)) + #define Long(x) (Long)(lcalc_to_double(x)) + #define double(x) (double)(lcalc_to_double(x)) + \ No newline at end of file Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-04-08 23:11:04 UTC (rev 315358) +++ PKGBUILD 2018-04-08 23:11:43 UTC (rev 315359) @@ -1,47 +0,0 @@ -# $Id$ -# Maintainer: Antonio Rojas <aro...@archlinux.org> - -pkgname=lcalc -pkgver=1.23 -pkgrel=15 -pkgdesc="C++ L-function class library and command line interface" -arch=(i686 x86_64) -url="http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html" -license=(GPL2) -depends=(pari) -makedepends=(chrpath) -#source=("http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-$pkgver.tar.gz" -source=("http://mirrors.mit.edu/sage/spkg/upstream/lcalc/lcalc-$pkgver.tar.bz2" - 'Lcommon.h.patch' 'gcc-4.9.patch' 'pari-2.7.patch' 'gcc-5.patch') -md5sums=('de7dc4e06cff7a89c5d922b4acc2be01' - '8af1dd6d3118bb785f193283a31305a2' - '436dd35b06766dffad0941bcfb511e89' - '187024b6d6f259209645af68ca8787f2' - '88d8a28a75e0bc143d0898f2797d1c54') - -prepare() { - cd $pkgname-$pkgver - patch -p1 -i "$srcdir"/Lcommon.h.patch - patch -p1 -i "$srcdir"/gcc-4.9.patch - patch -p1 -i "$srcdir"/gcc-5.patch -# port to PARI 2.7 API - patch -p1 -i "$srcdir"/pari-2.7.patch -# Install headers where Sage expects them - sed -e 's|include/Lfunction|include/libLfunction|g' -i src/Makefile -} - -build() { - cd $pkgname-$pkgver/src - make PARI_DEFINE="-DINCLUDE_PARI" LOCATION_PARI_H="/usr/include/pari" LOCATION_PARI_LIBRARY="/usr/lib" all -} - -package() { - cd $pkgname-$pkgver/src - mkdir -p "$pkgdir"/usr/{bin,include,lib} - make INSTALL_DIR="$pkgdir"/usr install - -# fix wrong permissions - chmod 644 "$pkgdir"/usr/include/libLfunction/Ldokchitser.h -# fix insecure rpath - chrpath -d "$pkgdir"/usr/bin/lcalc -} Copied: lcalc/repos/community-x86_64/PKGBUILD (from rev 315358, lcalc/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,50 @@ +# $Id$ +# Maintainer: Antonio Rojas <aro...@archlinux.org> + +pkgname=lcalc +pkgver=1.23 +pkgrel=16 +pkgdesc="C++ L-function class library and command line interface" +arch=(x86_64) +url="http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html" +license=(GPL2) +depends=(pari) +makedepends=(chrpath) +#source=("http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-$pkgver.tar.gz" +source=("http://mirrors.mit.edu/sage/spkg/upstream/lcalc/lcalc-$pkgver.tar.bz2" + Lcommon.h.patch gcc-4.9.patch pari-2.7.patch gcc-5.patch lcalc-c++11.patch) +md5sums=('de7dc4e06cff7a89c5d922b4acc2be01' + '8af1dd6d3118bb785f193283a31305a2' + '436dd35b06766dffad0941bcfb511e89' + '187024b6d6f259209645af68ca8787f2' + '88d8a28a75e0bc143d0898f2797d1c54' + 'ad0fcfb066e92fa57b32a78d11f434e1') + +prepare() { + cd $pkgname-$pkgver + patch -p1 -i ../Lcommon.h.patch + patch -p1 -i ../gcc-4.9.patch + patch -p1 -i ../gcc-5.patch +# port to PARI 2.7 API + patch -p1 -i ../pari-2.7.patch +# Install headers where Sage expects them + sed -e 's|include/Lfunction|include/libLfunction|g' -i src/Makefile +# make headers C++11 compliant + patch -p1 -i ../lcalc-c++11.patch +} + +build() { + cd $pkgname-$pkgver/src + make PARI_DEFINE="-DINCLUDE_PARI" LOCATION_PARI_H="/usr/include/pari" LOCATION_PARI_LIBRARY="/usr/lib" all +} + +package() { + cd $pkgname-$pkgver/src + mkdir -p "$pkgdir"/usr/{bin,include,lib} + make INSTALL_DIR="$pkgdir"/usr install + +# fix wrong permissions + chmod 644 "$pkgdir"/usr/include/libLfunction/Ldokchitser.h +# fix insecure rpath + chrpath -d "$pkgdir"/usr/bin/lcalc +} Deleted: gcc-4.9.patch =================================================================== --- gcc-4.9.patch 2018-04-08 23:11:04 UTC (rev 315358) +++ gcc-4.9.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -1,24 +0,0 @@ -diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h ---- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200 -@@ -43,7 +43,7 @@ - //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - template <class ttype> - Complex L_function <ttype>:: --dirichlet_series(Complex s, long long N=-1) -+dirichlet_series(Complex s, long long N) - { - Complex z=0.; - long long m,n; -diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h ---- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200 -@@ -491,7 +491,7 @@ - - //#include "Ldirichlet_series.h" //for computing Dirichlet series - Complex partial_dirichlet_series(Complex s, long long N1, long long N2); -- Complex dirichlet_series(Complex s, long long N); -+ Complex dirichlet_series(Complex s, long long N=-1LL); - - //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series - //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); Copied: lcalc/repos/community-x86_64/gcc-4.9.patch (from rev 315358, lcalc/trunk/gcc-4.9.patch) =================================================================== --- gcc-4.9.patch (rev 0) +++ gcc-4.9.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,24 @@ +diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h +--- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200 +@@ -43,7 +43,7 @@ + //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + template <class ttype> + Complex L_function <ttype>:: +-dirichlet_series(Complex s, long long N=-1) ++dirichlet_series(Complex s, long long N) + { + Complex z=0.; + long long m,n; +diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h +--- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200 +@@ -491,7 +491,7 @@ + + //#include "Ldirichlet_series.h" //for computing Dirichlet series + Complex partial_dirichlet_series(Complex s, long long N1, long long N2); +- Complex dirichlet_series(Complex s, long long N); ++ Complex dirichlet_series(Complex s, long long N=-1LL); + + //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series + //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); Deleted: gcc-5.patch =================================================================== --- gcc-5.patch 2018-04-08 23:11:04 UTC (rev 315358) +++ gcc-5.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -1,56 +0,0 @@ ---- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200 -@@ -77,7 +77,7 @@ - //n=0 should just give log_GAMMA(z)... thus making log_GAMMA - //code obsolete. But leave log_GAMMA intact anyways. - template <class ttype> --precise(ttype) log_GAMMA (ttype z,int n=0) -+precise(ttype) log_GAMMA (ttype z,int n) - { - int M; - precise(ttype) log_G,r,r2,y; -@@ -230,7 +230,7 @@ - //value exp_w which holds exp(-w) - //computes G(z,w), so there's an extra w^(-z) factor. - template <class ttype> --Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) -+Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) - { - - Complex G; -@@ -334,7 +334,7 @@ - - - template <class ttype> --ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction -+ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction - { - - ttype G; -@@ -424,7 +424,7 @@ - } - - template <class ttype> --ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series -+ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series - { - - if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl; -@@ -446,7 +446,7 @@ - - - template <class ttype> --ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) -+ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) - { - - ttype g; -@@ -604,7 +604,7 @@ - } - - template <class ttype> --Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") -+Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) - { - Complex SUM=0; - Copied: lcalc/repos/community-x86_64/gcc-5.patch (from rev 315358, lcalc/trunk/gcc-5.patch) =================================================================== --- gcc-5.patch (rev 0) +++ gcc-5.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,56 @@ +--- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200 +@@ -77,7 +77,7 @@ + //n=0 should just give log_GAMMA(z)... thus making log_GAMMA + //code obsolete. But leave log_GAMMA intact anyways. + template <class ttype> +-precise(ttype) log_GAMMA (ttype z,int n=0) ++precise(ttype) log_GAMMA (ttype z,int n) + { + int M; + precise(ttype) log_G,r,r2,y; +@@ -230,7 +230,7 @@ + //value exp_w which holds exp(-w) + //computes G(z,w), so there's an extra w^(-z) factor. + template <class ttype> +-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) ++Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) + { + + Complex G; +@@ -334,7 +334,7 @@ + + + template <class ttype> +-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction ++ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction + { + + ttype G; +@@ -424,7 +424,7 @@ + } + + template <class ttype> +-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series ++ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series + { + + if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl; +@@ -446,7 +446,7 @@ + + + template <class ttype> +-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) ++ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) + { + + ttype g; +@@ -604,7 +604,7 @@ + } + + template <class ttype> +-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") ++Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) + { + Complex SUM=0; + Copied: lcalc/repos/community-x86_64/lcalc-c++11.patch (from rev 315358, lcalc/trunk/lcalc-c++11.patch) =================================================================== --- lcalc-c++11.patch (rev 0) +++ lcalc-c++11.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,51 @@ +diff --git a/include/Lcommon.h b/include/Lcommon.h +index 1b3be43..081fcb8 100644 +--- a/include/Lcommon.h ++++ b/include/Lcommon.h +@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(decltype(m) i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +@@ -68,8 +68,7 @@ template<class T=Complex> struct smallPoly { + + void resize(int N) { + coeffs.resize(N); +- loop(i,this->N,N) +- coeffs[i]=zero; ++ loop(i,this->N,N) coeffs[i]=zero; + this->N=N; + } + +diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h +index 86ae4df..3b0cb0d 100644 +--- a/include/Lcommon_ld.h ++++ b/include/Lcommon_ld.h +@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(decltype(m) i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +diff --git a/include/Lglobals.h b/include/Lglobals.h +index 60002e4..ca2606c 100644 +--- a/include/Lglobals.h ++++ b/include/Lglobals.h +@@ -24,9 +24,9 @@ + #ifndef Lglobals_H + #define Lglobals_H + ++#include <valarray> + using namespace std; + +-#include <valarray> + #ifdef USE_MPFR + #include "Lgmpfrxx.h" + typedef mpfr_class Double; Deleted: pari-2.7.patch =================================================================== --- pari-2.7.patch 2018-04-08 23:11:04 UTC (rev 315358) +++ pari-2.7.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -1,67 +0,0 @@ ---- src/src/Lcommandline_elliptic.cc 2010-01-31 16:16:45.000000000 +0100 -+++ src/src/Lcommandline_elliptic.cc 2011-05-10 17:08:10.000000000 +0200 -@@ -121,11 +121,11 @@ - - - F = cgetg(6, t_VEC); -- F[1] = lgeti(BIGDEFAULTPREC); -- F[2] = lgeti(BIGDEFAULTPREC); -- F[3] = lgeti(BIGDEFAULTPREC); -- F[4] = lgeti(BIGDEFAULTPREC); -- F[5] = lgeti(BIGDEFAULTPREC); -+ F[1] = (long)cgeti(BIGDEFAULTPREC); -+ F[2] = (long)cgeti(BIGDEFAULTPREC); -+ F[3] = (long)cgeti(BIGDEFAULTPREC); -+ F[4] = (long)cgeti(BIGDEFAULTPREC); -+ F[5] = (long)cgeti(BIGDEFAULTPREC); - - //gaffsg(a1,(GEN) F[1]); - //gaffsg(a2,(GEN) F[2]); -@@ -133,15 +133,15 @@ - //gaffsg(a4,(GEN) F[4]); - //gaffsg(a6,(GEN) F[5]); - -- gaffect(strtoGEN(a1), (GEN) F[1]); -- gaffect(strtoGEN(a2), (GEN) F[2]); -- gaffect(strtoGEN(a3), (GEN) F[3]); -- gaffect(strtoGEN(a4), (GEN) F[4]); -- gaffect(strtoGEN(a6), (GEN) F[5]); -+ gaffect(gp_read_str(a1), (GEN) F[1]); -+ gaffect(gp_read_str(a2), (GEN) F[2]); -+ gaffect(gp_read_str(a3), (GEN) F[3]); -+ gaffect(gp_read_str(a4), (GEN) F[4]); -+ gaffect(gp_read_str(a6), (GEN) F[5]); - -- E = initell(F,BIGDEFAULTPREC); -+ E = ellinit(F, NULL, BIGDEFAULTPREC); - -- C=globalreduction(E); -+ C=ellglobalred(E); - - x=gtodouble((GEN) C[1]); - -@@ -167,8 +167,8 @@ - - p=n; - gaffsg(p,y); -- coeff[p] = Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p)); -- //coeff[p] = Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p)); -+ coeff[p] = Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p)); -+ //coeff[p] = Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p)); - - if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, i.e. bad reduction - { -diff -ru src/src/Lcommandline.cc b/src/Lcommandline.cc ---- src/src/Lcommandline.cc 2012-08-08 23:21:56.000000000 +0200 -+++ b/src/Lcommandline.cc 2014-01-06 14:02:19.463388366 +0100 -@@ -473,7 +473,9 @@ - - #ifdef INCLUDE_PARI - if(do_elliptic_curve){ -- allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double -+ // Reallocate PARI stack -+ paristack_setsize((size_t)N_terms*16 + 1000000, 0); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double -+ - if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl; - initialize_new_L(a1,a2,a3,a4,a6,N_terms); - } Copied: lcalc/repos/community-x86_64/pari-2.7.patch (from rev 315358, lcalc/trunk/pari-2.7.patch) =================================================================== --- pari-2.7.patch (rev 0) +++ pari-2.7.patch 2018-04-08 23:11:43 UTC (rev 315359) @@ -0,0 +1,67 @@ +--- src/src/Lcommandline_elliptic.cc 2010-01-31 16:16:45.000000000 +0100 ++++ src/src/Lcommandline_elliptic.cc 2011-05-10 17:08:10.000000000 +0200 +@@ -121,11 +121,11 @@ + + + F = cgetg(6, t_VEC); +- F[1] = lgeti(BIGDEFAULTPREC); +- F[2] = lgeti(BIGDEFAULTPREC); +- F[3] = lgeti(BIGDEFAULTPREC); +- F[4] = lgeti(BIGDEFAULTPREC); +- F[5] = lgeti(BIGDEFAULTPREC); ++ F[1] = (long)cgeti(BIGDEFAULTPREC); ++ F[2] = (long)cgeti(BIGDEFAULTPREC); ++ F[3] = (long)cgeti(BIGDEFAULTPREC); ++ F[4] = (long)cgeti(BIGDEFAULTPREC); ++ F[5] = (long)cgeti(BIGDEFAULTPREC); + + //gaffsg(a1,(GEN) F[1]); + //gaffsg(a2,(GEN) F[2]); +@@ -133,15 +133,15 @@ + //gaffsg(a4,(GEN) F[4]); + //gaffsg(a6,(GEN) F[5]); + +- gaffect(strtoGEN(a1), (GEN) F[1]); +- gaffect(strtoGEN(a2), (GEN) F[2]); +- gaffect(strtoGEN(a3), (GEN) F[3]); +- gaffect(strtoGEN(a4), (GEN) F[4]); +- gaffect(strtoGEN(a6), (GEN) F[5]); ++ gaffect(gp_read_str(a1), (GEN) F[1]); ++ gaffect(gp_read_str(a2), (GEN) F[2]); ++ gaffect(gp_read_str(a3), (GEN) F[3]); ++ gaffect(gp_read_str(a4), (GEN) F[4]); ++ gaffect(gp_read_str(a6), (GEN) F[5]); + +- E = initell(F,BIGDEFAULTPREC); ++ E = ellinit(F, NULL, BIGDEFAULTPREC); + +- C=globalreduction(E); ++ C=ellglobalred(E); + + x=gtodouble((GEN) C[1]); + +@@ -167,8 +167,8 @@ + + p=n; + gaffsg(p,y); +- coeff[p] = Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p)); +- //coeff[p] = Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p)); ++ coeff[p] = Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p)); ++ //coeff[p] = Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p)); + + if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, i.e. bad reduction + { +diff -ru src/src/Lcommandline.cc b/src/Lcommandline.cc +--- src/src/Lcommandline.cc 2012-08-08 23:21:56.000000000 +0200 ++++ b/src/Lcommandline.cc 2014-01-06 14:02:19.463388366 +0100 +@@ -473,7 +473,9 @@ + + #ifdef INCLUDE_PARI + if(do_elliptic_curve){ +- allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double ++ // Reallocate PARI stack ++ paristack_setsize((size_t)N_terms*16 + 1000000, 0); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double ++ + if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl; + initialize_new_L(a1,a2,a3,a4,a6,N_terms); + }