summaryrefslogtreecommitdiff
path: root/math/lcalc/files/patch-src_Lcommandline.cc
blob: 3b5dcfe18cc1471476c818adbefc20b96e47e8e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- src/Lcommandline.cc.orig	2012-08-08 21:21:56 UTC
+++ src/Lcommandline.cc
@@ -18,6 +18,8 @@ Check the License for details. You should have receive
 with the package; see the file 'COPYING'. If not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+   Patches borrowed from SageMath.
+
 */
 
 
@@ -412,12 +414,7 @@ int main (int argc, char *argv[])
 
             t2=.5; //t2=.5 because of the GAMMA(s+1/2)
 
-            pari_init(1000000000,2);
-            //pari_init_opts(400000000,2,INIT_DFTm); // the last option is to prevent
-            //pari from giving its interrupt signal when its elliptic curve a_p
-            //algorithm is called and interrupted with ctrl-c. Requires a more current
-            //version of pari, so use pari_init above until I have a configure set up
-            //that detects which pari, if any, is installed.
+            pari_init_opts(16000000, 2, INIT_DFTm);
 
             coeff = new Double[3];
             //compute the conductor which is copied to coeff[1]
@@ -473,7 +470,9 @@ int main (int argc, char *argv[])
 
 #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); 
         }