@@ -645,13 +645,13 @@ void rank1::getquartics1()
645
645
static bigint zero = BIGINT (0 );
646
646
IJ_curve = Curvedata (zero,zero,zero,-27 *ii,-27 *jj,0 ); // don't minimise
647
647
648
- if (posdisc)
648
+ if (posdisc)
649
649
{
650
650
gettype (2 ); // get type 2s first as they are a subgroup of index 1 or 2
651
- if (!have_eggpoint)
651
+ if (!( have_eggpoint || have_large_quartics))
652
652
gettype (1 );
653
- }
654
- else
653
+ }
654
+ else
655
655
{
656
656
gettype (3 );
657
657
}
@@ -1401,12 +1401,12 @@ rank1::rank1(Curvedata* ec, int verb, int sel, long lim1, long lim2,long n_aux)
1401
1401
long e0 ,e1 ,e2 ;
1402
1402
if (!intlog2 (n0,e0 ,0 ))
1403
1403
{
1404
- success=0 ;
1405
- cout<<" !!! Fatal error: n0=#E[2]=" <<n0<<" is not a power of 2\n " ;
1406
- cout<<" Please inform author by email !\n " ;
1404
+ success=0 ;
1405
+ cout<<" \n\n !!! Fatal error in mwrank : n0=#E[2]=" <<n0<<" is not a power of 2\n " ;
1406
+ cout<<" This is a bug: please report !\n " ;
1407
1407
return ;
1408
1408
}
1409
-
1409
+
1410
1410
posdisc = is_positive (d1728);
1411
1411
npoints1=npoints2=0 ;
1412
1412
n1=n2=1 ;
@@ -1461,7 +1461,9 @@ rank1::rank1(Curvedata* ec, int verb, int sel, long lim1, long lim2,long n_aux)
1461
1461
long keep_n3 = n3, e3 ;
1462
1462
if (!intlog2 (n3,e3 ,1 ))
1463
1463
{
1464
- cout<<" \n !!! n3 = " <<keep_n3<<" not a power of 2, rounding up to " <<n3<<" \n " ;
1464
+ success=0 ;
1465
+ cout<<" \n\n !!! Fatal error in mwrank: n3 =" <<keep_n3<<" not a power of 2\n " ;
1466
+ cout<<" This is a bug: please report!\n " ;
1465
1467
}
1466
1468
long selmer_rank_B = rank_B + e3 ;
1467
1469
@@ -1473,7 +1475,7 @@ rank1::rank1(Curvedata* ec, int verb, int sel, long lim1, long lim2,long n_aux)
1473
1475
if (!selmer_only)
1474
1476
cout << " Sha rank contribution from B=im(eps) = " << e3 << endl;
1475
1477
}
1476
-
1478
+
1477
1479
long keep_n1=n1, keep_n2=n2;
1478
1480
if (!intlog2 (n1,e1 ,1 ))
1479
1481
{
@@ -1485,13 +1487,13 @@ rank1::rank1(Curvedata* ec, int verb, int sel, long lim1, long lim2,long n_aux)
1485
1487
}
1486
1488
if (!intlog2 (n2,e2 ,0 ))
1487
1489
{
1488
- success=0 ;
1489
- cout<<" \n\n !!! Fatal error: n2 = " <<keep_n2<<" not a power of 2\n " ;
1490
- cout<<" Please inform author by email !\n " ;
1490
+ success=0 ;
1491
+ cout<<" \n\n !!! Fatal error in eclib : n2 = " <<keep_n2<<" not a power of 2\n " ;
1492
+ cout<<" This is a bug: please report !\n " ;
1491
1493
}
1492
-
1494
+
1493
1495
long rank_A = e1 -e0 , selmer_rank_A = e2 -e0 ;
1494
-
1496
+
1495
1497
if (verbose)
1496
1498
{
1497
1499
if (!selmer_only)
0 commit comments