From aeda5ebcc5d6fa115c61e94350c01e010c5e2369 Mon Sep 17 00:00:00 2001 From: John Cremona Date: Wed, 26 Aug 2015 12:37:01 +0100 Subject: [PATCH] Bug fix for mwrank with test example added --- configure.ac | 2 +- libsrc/eclib/options.h | 2 +- libsrc/mrank1.cc | 32 +++++++++++++++++--------------- tests/in/tmrank.in | 1 + tests/out/tmrank.out | 1 + 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/configure.ac b/configure.ac index b10a0ee7..b967fe47 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.65]) -AC_INIT([eclib], [20150510], [john.cremona@gmail.com]) +AC_INIT([eclib], [20150826], [john.cremona@gmail.com]) AM_INIT_AUTOMAKE([-Wall]) AC_MSG_NOTICE([Configuring eclib...]) AC_CONFIG_SRCDIR([libsrc]) diff --git a/libsrc/eclib/options.h b/libsrc/eclib/options.h index 6919f5b6..6e1b3e9f 100644 --- a/libsrc/eclib/options.h +++ b/libsrc/eclib/options.h @@ -27,7 +27,7 @@ #define DEFAULT_VERBOSE 1 #define DEFAULT_PRECISION 15 #define DEFAULT_HLIMQ 10 -#define DEFAULT_NAUX 8 +#define DEFAULT_NAUX 15 #define DEFAULT_HLIMC 0 #define DEFAULT_TRACEEQUIV 0 #define DEFAULT_PTL -99 // if not set manually will be set to same as verbose diff --git a/libsrc/mrank1.cc b/libsrc/mrank1.cc index 8c6cf810..933ad86a 100644 --- a/libsrc/mrank1.cc +++ b/libsrc/mrank1.cc @@ -645,13 +645,13 @@ void rank1::getquartics1() static bigint zero = BIGINT(0); IJ_curve = Curvedata(zero,zero,zero,-27*ii,-27*jj,0); // don't minimise - if (posdisc) + if (posdisc) { gettype(2); // get type 2s first as they are a subgroup of index 1 or 2 - if(!have_eggpoint) + if(!(have_eggpoint || have_large_quartics)) gettype(1); - } - else + } + else { gettype(3); } @@ -1401,12 +1401,12 @@ rank1::rank1(Curvedata* ec, int verb, int sel, long lim1, long lim2,long n_aux) long e0,e1,e2; if(!intlog2(n0,e0,0)) { - success=0; - cout<<"!!! Fatal error: n0=#E[2]="<