diff --git a/libsrc/arith.cc b/libsrc/arith.cc index 3b819d7..78458ed 100644 --- a/libsrc/arith.cc +++ b/libsrc/arith.cc @@ -192,7 +192,7 @@ vector posdivs(long a, const vector& plist) { // cout << "In posdivs with a = " << a << endl; // cout << plist.size() << " primes: " < dlist(1,1); // cout << "Divisor 0 = 1" << endl; for (const auto& p : plist) { @@ -209,7 +209,7 @@ vector posdivs(long a, const vector& plist) vector alldivs(long a, const vector& plist) {//cout << "In alldivs with a = " << a << endl; // cout << plist.size() << " primes: " < dlist(1,1); // cout << "Divisor 0 = 1" << endl; dlist.push_back(-1); // cout << "Divisor 1 = -1" << endl; for (const auto& p : plist) @@ -226,7 +226,7 @@ vector alldivs(long a, const vector& plist) vector sqdivs(long a, const vector& plist) { - long j,k,p,e,nd = 1; + long j,k,e,nd = 1; vector dlist(1,1); for (const auto& p : plist) { @@ -242,7 +242,7 @@ vector sqdivs(long a, const vector& plist) vector sqfreedivs(long a, const vector& plist) { - long j,k,p,e,nd = 1; + long j,k,e,nd = 1; vector dlist(1,1); for (const auto& p : plist) { diff --git a/libsrc/curvered.cc b/libsrc/curvered.cc index dafbfbc..e9a6257 100644 --- a/libsrc/curvered.cc +++ b/libsrc/curvered.cc @@ -2,25 +2,25 @@ ////////////////////////////////////////////////////////////////////////// // // Copyright 1990-2023 John Cremona -// +// // This file is part of the eclib package. -// +// // eclib is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the // Free Software Foundation; either version 2 of the License, or (at your // option) any later version. -// +// // eclib is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License // for more details. -// +// // You should have received a copy of the GNU General Public License // along with eclib; if not, write to the Free Software Foundation, // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA -// +// ////////////////////////////////////////////////////////////////////////// - + #include #include // for nrootscubic #include // for point counting to get ap @@ -57,9 +57,9 @@ ostream& operator<<(ostream& os, const Kodaira_code& c) // // subroutines -- not general purpose (.cc only) -bigint root(const bigint& aa, int e, const bigint & p) +bigint root(const bigint& aa, int e, const bigint & p) // the e'th root of aa, mod p -{ +{ bigint i, ans, temp; int found=0; const bigint& a = mod(aa, p); for (i = 1; (! found); ++i) @@ -95,12 +95,12 @@ int rootsexist(const bigint& bb, const bigint& cc, const bigint& p) return rootsexist(one,bb,cc,p); } -CurveRed::~CurveRed() +CurveRed::~CurveRed() { } CurveRed::CurveRed(const CurveRed& E) : Curvedata(E), N(E.N) -{ +{ factor_discr(); // will only do anything if not already factored reduct_array = E.reduct_array; } @@ -190,7 +190,7 @@ CurveRed::CurveRed(const Curvedata& E) reduct_array[p] = Reduction_type (ord_p_discr, ord_p_discr - 2, ord_p_j, 4, c_p); continue; } // Type IV - + // else change coords so that p|C.a1,C.a2, p^2|C.a3,C.a4, p^3|C.a6 if ( pdiv2 ) { s = root(C.a2,2,p); @@ -212,11 +212,11 @@ CurveRed::CurveRed(const Curvedata& E) bb=b*b; cc=c*c; bc=b*c; w = 27*d*d - bb*cc + 4*b*bb*d - 18*bc*d + 4*c*cc; x = 3*c - bb; - + if ( div(p,w) ) {if ( div(p,x) ) sw = 3; else sw = 2; } else sw = 1; - + //cout << "Analysing roots of cubic; case " << sw << endl; switch ( sw ) { @@ -243,7 +243,7 @@ CurveRed::CurveRed(const Curvedata& E) a3t = C.a3/my; a4t = (C.a4/p)/mx; a6t = (C.a6/mx)/my; - temp = a3t*a3t + 4*a6t; + temp = a3t*a3t + 4*a6t; if ( div(p,temp ) ) {if ( pdiv2 ) t = my*root(a6t,2,p); else t = my*mod(-a3t*halfmodp, p); @@ -277,7 +277,7 @@ CurveRed::CurveRed(const Curvedata& E) (ord_p_discr, ord_p_discr - ix - iy + 1, ord_p_j, 10 * (ix + iy) - 49, c_p ); break; // Type I*m - + case 3: // Triple root // change coords so that T=0 mod p @@ -532,7 +532,7 @@ void CurveRed::setLocalRootNumber2() if(ri==reduct_array.end()) return; Reduction_type& info = ri->second; int kod = PariKodairaCode(info.Kcode); - int n2 = neron(2,kod); + int n2 = neron(2,kod); #ifdef DEBUG_ESIGN cout<<"\nIn LocalRootNumber2(), n2 = "<second; - if (info.ord_p_N == 1) + if (info.ord_p_N == 1) { info.local_root_number = -kro(-c6,p); return; } - + long sp=posmod(p,24); - if (info.ord_p_j_denom >0) + if (info.ord_p_j_denom >0) { - info.local_root_number = kro_m1(sp); + info.local_root_number = kro_m1(sp); return; } - + long ep=12 / gcd(12,info.ord_p_discr); - if(ep==4) + if(ep==4) { info.local_root_number = kro_m2(sp); return; } - if(odd(ep)) + if(odd(ep)) { - info.local_root_number = kro_3(sp); + info.local_root_number = kro_3(sp); return; } - info.local_root_number = kro_m1(sp); + info.local_root_number = kro_m1(sp); } // Given a prime p, sets to +1 or -1, the "local root number" or local // factor in the sign of the functional equation of L(E,s). // -// This function just delegates to subsidiary ones for the cases +// This function just delegates to subsidiary ones for the cases // p=2, p=3, and p>=5. // void CurveRed::setLocalRootNumber(const bigint& p) { if (is_zero(p)) return; - if (p==2) setLocalRootNumber2(); - else if (p==3) setLocalRootNumber3(); - else setLocalRootNumber_not_2_or_3(p); + if (p==2) setLocalRootNumber2(); + else if (p==3) setLocalRootNumber3(); + else setLocalRootNumber_not_2_or_3(p); } @@ -919,8 +932,8 @@ int kro_m1(long x) // kronecker(-1,x) with x>0 odd { static int kro_m1_tab[4] = {0,1,0,-1}; #ifdef DEBUG_ESIGN - if (!((x>0)&&(odd(x)))) - { + if (!((x>0)&&(odd(x)))) + { cout<<"kro_m1() called with x="<0 odd { static int kro_p2_tab[8] = {0,1,0,-1,0,-1,0,1}; #ifdef DEBUG_ESIGN - if (!((x>0)&&(odd(x)))) + if (!((x>0)&&(odd(x)))) { cout<<"kro_p2() called with x="<0 odd { static int kro_m2_tab[8] = {0,1,0,1,0,-1,0,-1}; #ifdef DEBUG_ESIGN - if (!((x>0)&&(odd(x)))) + if (!((x>0)&&(odd(x)))) { cout<<"kro_m2() called with x="<0)) + if (!(x>0)) { cout<<"kro_3() called with x="< 3 + bigint n=zero; + if(p==two) // curvemodq class only in characteristic > 3 { // Count points naively // y^2+(a1*x+a3)*y-(x^3+a2*x^2+a4*x+a6) = y^2+ay+b - int a1=bigint_mod_long(c.a1,2), a2=bigint_mod_long(c.a2,2), - a3=bigint_mod_long(c.a3,2), a4=bigint_mod_long(c.a4,2), - a6=bigint_mod_long(c.a6,2); + int a1=bigint_mod_long(c.a1,2), a2=bigint_mod_long(c.a2,2), + a3=bigint_mod_long(c.a3,2), a4=bigint_mod_long(c.a4,2), + a6=bigint_mod_long(c.a6,2); // x=0: a = odd(a3); // 1 if odd else 0 - b = odd(a6); + b = odd(a6); n += (a?(b?0:2):1); // x=1: - a = odd(a1+a3); - b = odd(1+a2+a4+a6); + a = odd(a1+a3); + b = odd(1+a2+a4+a6); n += (a?(b?0:2):1); return two-n; } - if(p==three) // curvemodq class only in characteristic > 3 + if(p==three) // curvemodq class only in characteristic > 3 { // Count points naively // y^2+(a1*x+a3)*y-(x^3+a2*x^2+a4*x+a6) = y^2+ay+b - int a1=bigint_mod_long(c.a1,3), a2=bigint_mod_long(c.a2,3), - a3=bigint_mod_long(c.a3,3), a4=bigint_mod_long(c.a4,3), - a6=bigint_mod_long(c.a6,3); + int a1=bigint_mod_long(c.a1,3), a2=bigint_mod_long(c.a2,3), + a3=bigint_mod_long(c.a3,3), a4=bigint_mod_long(c.a4,3), + a6=bigint_mod_long(c.a6,3); for(x=-1; x<2; x++) { a = (((x+a2)*x+a4)*x+a6)%3; b = (a1*x+a3)%3; - d = (b*b+a)%3; + d = (b*b+a)%3; if(d==2)d=-1; if(d==-2)d=1; n += (d+1); } return three-n; } - curvemodq Cq = reduce_curve(c,p); + curvemodq Cq = reduce_curve(c,p); n = Cq.group_order(); bigint ans = one+p-n; return ans; } - diff --git a/libsrc/eclib/mwprocs.h b/libsrc/eclib/mwprocs.h index 7868f73..051cdca 100644 --- a/libsrc/eclib/mwprocs.h +++ b/libsrc/eclib/mwprocs.h @@ -82,7 +82,7 @@ class sieve { int verbose, posdisc, firstnl; bigfloat xmin,x1,x2,x3; int num_aux; - long* auxs; + vector auxs; int** xgood_mod_aux; int** x1good_mod_aux; int** squares; diff --git a/libsrc/heights.cc b/libsrc/heights.cc index 572f75f..644a0eb 100644 --- a/libsrc/heights.cc +++ b/libsrc/heights.cc @@ -323,7 +323,6 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found #ifdef DEBUG_REG cout<<"In regulator with PointArray = " << P << endl; #endif - int i,j,k,d; int n = P.size(); if( n <= 0) return to_bigfloat(1); if(n == 1) return height(P[0]) ; @@ -340,13 +339,13 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found // initialize the matrix of pairings mat_RR height_matrix; height_matrix.SetDims(n,n); - for (i = 0; i < n; i++) + for (int i = 0; i < n; i++) { height_matrix[i][i] = height(P[i]) ; } - for (i = 0; i < n; i++) + for (int i = 0; i < n; i++) { - for (j = i + 1; j < n; j++) + for (int j = i + 1; j < n; j++) { Point Q = P[i] + P[j]; bigfloat h = (height(Q) - height_matrix[i][i] - height_matrix[j][j])/2 ; @@ -361,9 +360,9 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found if (n == 3) { bigfloat pair[3][3] ; - for (i = 0; i < 3; i++) + for (int i = 0; i < 3; i++) {pair[i][i] = height(P[i]) ; - for (j = i + 1; j < 3; j++) + for (int j = i + 1; j < 3; j++) {pair[i][j] = pair[j][i] = height_pairing(P[i], P[j]) ; } } bigfloat reg = (pair[0][0] * ( pair[1][1] * pair[2][2] - pair[1][2] * pair[1][2] ) @@ -378,9 +377,9 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found if (n == 4) { bigfloat pair[4][4] ; - for (i = 0; i < 4; i++) + for (int i = 0; i < 4; i++) {pair[i][i] = height(P[i]) ; - for (j = i + 1; j < 4; j++) + for (int j = i + 1; j < 4; j++) {pair[i][j] = height_pairing(P[i], P[j]) ; } } // @@ -413,25 +412,25 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found } bigfloat pair[MAX_RANK_REG][MAX_RANK_REG] ; // initialize the matrix of pairings - for (i = 0; i < n; i++) + for (int i = 0; i < n; i++) { pair[i][i] = height(P[i]) ; - for (j = i + 1; j < n; j++) + for (int j = i + 1; j < n; j++) { pair[j][i] = pair[i][j] = height_pairing(P[i], P[j]) ; } } // Gaussian elimination // for the first n - 1 rows - for (j = 0 ; j < n - 1; j ++) + for (int j = 0 ; j < n - 1; j ++) {// use row j to pivot with bigfloat pivot = pair[j][j] ; // kill off rows below row j - for (i = j + 1; i < n ; i ++) + for (int i = j + 1; i < n ; i ++) {bigfloat multiplier = pair[i][j] / pivot ; // subtract multiplier * row j from row i //noting the beginning of row i is already zeroed - for (k = j ; k < n; k++) + for (int k = j ; k < n; k++) { pair[i][k] -= multiplier * pair[j][k] ; } @@ -439,7 +438,7 @@ bigfloat regulator(vector& P) // nb not const; sets heights when found } // now reg is the product of the diagonal entries bigfloat reg = to_bigfloat(1) ; - for (d = 0; d < n; d++) reg *= pair[d][d] ; + for (int d = 0; d < n; d++) reg *= pair[d][d] ; return reg ; #endif } diff --git a/libsrc/homspace.cc b/libsrc/homspace.cc index dc7b4aa..202eb43 100644 --- a/libsrc/homspace.cc +++ b/libsrc/homspace.cc @@ -309,11 +309,11 @@ if (verbose>1) } // Compute the number of cusps - long maxncusps =0, dd, pp, nc; + long maxncusps =0, nc; for( const auto& d : dlist) { - nc = ::gcd(dd,modulus/d); - for( const auto& p : plist) // computing phi(dd) + nc = ::gcd(d,modulus/d); + for( const auto& p : plist) // computing phi(d) { if ((nc%p)==0) nc = nc*(p-1)/p; diff --git a/libsrc/isogs.cc b/libsrc/isogs.cc index 776b6a5..efbbc68 100644 --- a/libsrc/isogs.cc +++ b/libsrc/isogs.cc @@ -365,12 +365,14 @@ void IsogenyClass::displaymat(ostream& os)const os << "Isogeny matrix:\n"; os << "\t"; for(j=0; j1) diff --git a/libsrc/mquartic.cc b/libsrc/mquartic.cc index 2cbf631..750f320 100644 --- a/libsrc/mquartic.cc +++ b/libsrc/mquartic.cc @@ -69,17 +69,17 @@ void quartic::set_roots_and_type() if(is_zero(diff)) cout<<"Syzygy satisfied.\n"; else cout<<"Syzygy NOT satisfied.\n"; #endif - int nrr; - if(disc<0) - {type=3; nrr=2;} // 2 real roots - else + if(disc<0) + {type=3;} // 2 real roots + else { if((sign(H)<0)&&(sign(Q)>0)) - {type=2; nrr=4;} // 4 real roots - else - {type=1; nrr=0;} // 0 real roots + {type=2;} // 4 real roots + else + {type=1;} // 0 real roots } #ifdef DEBUG_ROOTS + int nrr = (type==3? 2 : (type==2? 4 : 0)); cout<<"Type = " << type << " ("<1) + if (verbose>1) { if(which) cout<<"\n"; - cout<<"Finding els2 gens for E"; if(which) cout<<"'"; - cout<<" (c"; if(which) cout<<"'"; - cout<<"= "<& elsgens = (which? elsgens1: elsgens0); @@ -423,7 +427,7 @@ void rank2::find_els2gens(int which, const bigint& c, const bigint& d) else cout<<"Just incremented nels2gens to "<=aux) {xcc-=aux; flag-=aux;} -// } -// } -// else // c, aux have common factor -// { -// if(odd(aux)&&((csq%aux)==0)) -// { -// int* flag = xgood_mod_aux[index]; -// int* sqs = squares[index]; -// x=aux; -// while(x--) *flag++ = *sqs++; -// } // end of if(odd(aux)) -// else //default: full recomputation - { - pd1 = posmod(d1 , aux); - pd2 = posmod(d2 , aux); - pd3 = posmod(d3 , aux); - pd4 = posmod(d4 , aux); - pd6 = posmod(d6 , aux); - - long dddf= 24%aux; - long ddf = posmod(2*(pd1*pd1)%aux + 8*pd2+24 , aux); - long df = posmod(pd1*(pd1+2*pd3)%aux + 4*(pd4+pd2+1) , aux); - long f = posmod(((pd3*pd3)%aux+4*pd6) , aux); - - int* flag = xgood_mod_aux[index]; - int* sqs = squares[index]; - long x=aux; + { + pd1 = posmod(d1 , aux); + pd2 = posmod(d2 , aux); + pd3 = posmod(d3 , aux); + pd4 = posmod(d4 , aux); + pd6 = posmod(d6 , aux); + + long dddf= 24%aux; + long ddf = posmod(2*(pd1*pd1)%aux + 8*pd2+24 , aux); + long df = posmod(pd1*(pd1+2*pd3)%aux + 4*(pd4+pd2+1) , aux); + long f = posmod(((pd3*pd3)%aux+4*pd6) , aux); + + int* flag = xgood_mod_aux[index]; + int* sqs = squares[index]; + long x=aux; #ifdef DEBUG_SIEVE - if(verbose) - { - cout<<"aux = "<< aux <<"\n "; - cout<<"pd1,...,pd6 = "<=aux) f -=aux; - df += ddf; if(df >=aux) df -=aux; - ddf +=dddf; if(ddf>=aux) ddf-=aux; - } - - } // end of default case - -// } // end of non-coprime case + f += df; if(f >=aux) f -=aux; + df += ddf; if(df >=aux) df -=aux; + ddf +=dddf; if(ddf>=aux) ddf-=aux; + } + } // end of default case } // end of aux loop #ifdef DEBUG_SIEVE if(verbose) @@ -1100,13 +1046,13 @@ cout<<"amin = " << amin << ", amax = " << amax << endl; pd3 = posmod(d3 , aux); pd4 = posmod(d4 , aux); pd6 = posmod(d6 , aux); - + long dddf= 24%aux; long ddf = posmod(2*(pd1*pd1)%aux + 8*pd2+24 , aux); long df = posmod(pd1*(pd1+2*pd3)%aux + 4*(pd4+pd2+1) , aux); long f = posmod(((pd3*pd3)%aux+4*pd6) , aux); - - int* flag = xgood_mod_aux[index]; + + int* flag = xgood_mod_aux[index]; int* sqs = squares[index]; long x=aux; while(x--) @@ -1130,18 +1076,18 @@ void sieve::a_search(const long& amin, const long& amax) a--; if (verbose) cout<<"sieve::search: trying c = "<=0); i--) { long& amodi = amod[i]; amodi++; diff --git a/libsrc/newforms.cc b/libsrc/newforms.cc index 7a1a00a..244102b 100644 --- a/libsrc/newforms.cc +++ b/libsrc/newforms.cc @@ -1154,8 +1154,6 @@ void newforms::display(void) const } } -#define DEBUG_SCALING - void newforms::display_modular_symbol_map(int check) const { long i,j,k; @@ -1787,21 +1785,19 @@ void newforms::makebases(int flag, int all_nf) // basisflag controls what ::use() does with the nfs when found // j1ds counts through the newforms as they are found basisflag=flag; - int i; j1ds = 0; // counts through newforms as they are recovered vector< vector > eigs; if (all_nf) { - nf_subset.clear(); - for(i=0; i1) cout<<"merging newforms " << nf_subset << endl; - int inf, jnf; unfix_eigs(); sort(); - for(jnf=0; jnfnsymb); @@ -1882,9 +1877,9 @@ vector newforms::apvec(long p) // computes a[p] for each newform //cout<<"In apvec with p = "< apv(n1ds); vec v; - long i,j,iq,ap; + long i,iq,ap; if(::divides(p,modulus)) // we already have all the aq - { + { if(::divides(p*p,modulus)) for (i=0; i newforms::apvec(long p) // computes a[p] for each newform } return apv; } - + // now p is a good prime long maxap=(long)(2*sqrt((double)p)); // for validity check diff --git a/libsrc/oldforms.cc b/libsrc/oldforms.cc index 1d13f1e..44fd320 100644 --- a/libsrc/oldforms.cc +++ b/libsrc/oldforms.cc @@ -176,7 +176,7 @@ void oldforms::getoldclasses(long d, int verbose) } if(verbose>1) cout<<"betas: "< nextoldformap(nap); - primevar pr; long iform, c, ip, p, aq; int bit; + primevar pr; long iform, c, ip, aq; int bit; for(iform=0; iform& aqlist=olddata.nflist[iform].aqlist; diff --git a/libsrc/pcprocs.cc b/libsrc/pcprocs.cc index 37c1838..89a03f1 100644 --- a/libsrc/pcprocs.cc +++ b/libsrc/pcprocs.cc @@ -79,7 +79,8 @@ int newforms::find_matrix(long i, long dmax, int&rp_known, bigfloat&x0, bigfloat for(d=nf_d; (d1) cout << "Invalid c-invariants" << endl; } - // We relax the closeness criterion here, but do not - // ignore it completely since there have been cases where - // c4,c6 were valid & give the right conductor but are not - // actually correct. - close = (c4c6err<0.01); + if(validc4c6) { Curve C(ic4,ic6); diff --git a/libsrc/smat_elim.cc b/libsrc/smat_elim.cc index b7a3575..a81d0f7 100644 --- a/libsrc/smat_elim.cc +++ b/libsrc/smat_elim.cc @@ -416,8 +416,8 @@ smat smat_elim::kernel( vec& pc, vec& npc) smat smat_elim::new_kernel( vec& pc, vec& npc) { - int i,ic,ir, j, jj, ip, t,tt, n, r, c; - scalar v, w; + int i,ir, j, jj, t, r, c; + scalar v; #if TRACE_ELIM cout<<"Starting sparse_elimination()..."<rel_space_->bas(); - level = depth; + int level = depth; while (level--) { ECLOG(2) << "["<0 - } - ssubspace *spm_rel, *spm_abs; + ssubspace *spm_rel; //, *spm_abs; SCALAR eig = denom1; - // if(depth) eig*=denom(*s); smat subconjmat; // only used when depth>0 if( bigmats ) { + ssubspace* s; + s = data.abs_space_; // only used when depth>0 subconjmat = (depth) ? restrict_mat(data.conjmat_, *s) : data.conjmat_; // will only be a 2x2 in this case (genus 1 only!) } else { - //subconjmat = h->s_opmat_restricted(-1,*s,1,verbose); subconjmat = make_nested_submat(-1,data); } diff --git a/progs/aplist.cc b/progs/aplist.cc index 6f44065..233d2bb 100644 --- a/progs/aplist.cc +++ b/progs/aplist.cc @@ -35,7 +35,7 @@ int main() cout<<"Enter output filename: "; cin>>filename; ofstream output(filename.c_str()); - int n1,n2; short temp; + int n1,n2; cout<<"Enter first and last values of n: "; cin>>n1>>n2; for (int n=n1; n<=n2; n++) @@ -45,17 +45,15 @@ int main() if (!datafile) cout<<"No file "<>firstn>>lastn; for(n=firstn; n<=lastn; n++) { @@ -47,7 +46,6 @@ int main(void) } else { - short temp_short; int temp_int; datafile.read((char*)&temp_int,sizeof(int)); // = number of newforms nnf=temp_int; @@ -62,12 +60,12 @@ int main(void) int* batch_i = new int[ntotal]; datafile.read((char*)batch_i,ntotal*sizeof(int)); delete[] batch_i; - + // skip over aq for each newform ntotal = naq*nnf; short* batch = new short[ntotal]; datafile.read((char*)batch,ntotal*sizeof(short)); - + // read and check ap for each newform ntotal = nap*nnf; delete[] batch; @@ -92,7 +90,7 @@ int main(void) delete[] batch; } // ends if(nnf>0) } // ends if(datafile) - + datafile.close(); if(ok) cout << n << " "; else diff --git a/progs/h1clist.cc b/progs/h1clist.cc index 57d5669..e6041ca 100644 --- a/progs/h1clist.cc +++ b/progs/h1clist.cc @@ -70,7 +70,7 @@ int main(void) int noldap=25; nf.createfromdata(1,noldap,0); // do not create from scratch if data absent int nnf = nf.n1ds; - int inf = 1; + // int inf = 1; if(nnf>0) { // cout<<"****************************"<>inf; while((inf>0)&&(inf<=nnf)) { diff --git a/progs/moreap.cc b/progs/moreap.cc index 184e30f..965d83e 100644 --- a/progs/moreap.cc +++ b/progs/moreap.cc @@ -34,7 +34,7 @@ int main(void) { int n=1; - int lastn, stopp, output, showeigs, showforms, findcurves; + int stopp, output, showeigs, showforms, findcurves; int nnf, nap; cout << "Program moreap\n"; cout << "---------------\n\n"; @@ -48,6 +48,7 @@ int main(void) if(findcurves) set_precision(60); #endif #ifdef AUTOLOOP + int lastn; cout << "How many primes for Hecke eigenvalues? "; cin >> stopp; cout << endl; cout<<"Enter first and last N: ";cin>>n>>lastn; n--; diff --git a/progs/nfcount.cc b/progs/nfcount.cc index c481464..c521bca 100644 --- a/progs/nfcount.cc +++ b/progs/nfcount.cc @@ -28,7 +28,6 @@ int main(void) { int limit,n=1,count=0,firstn, verbose; - int getindex=0; cout << "Verbose? (0/1) " << endl; cin >> verbose; cout<<"Enter first and last N: ";cin>>firstn>>limit; n=firstn-1; cout<1) { if (curve_output) - curve_out_filename = single_curve_filename(n); - curve_out.open(curve_out_filename.c_str()); + { + curve_out_filename = single_curve_filename(n); + curve_out.open(curve_out_filename.c_str()); + } cout << ">>>Level " << n; // Temporary code to skip non-square-free levels // @@ -100,7 +102,7 @@ int main(void) cout << "Finished level "<lplus, mplus=nfi->mplus; - long s = nfi->sfe; - //nfi->dotplus=1; nfi->dotminus=1; // In case wrong values were on the file! // STEP 1: find the real period using L(f,1) is L/P nonzero,