"Source: Text/Geometry/CrvHyp.text";
"Line: 2849";
"Date: Thu Aug 18 16:02:10 2022";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Geometry/CrvHyp.text, line: 2849
// Example: H134E21 ()
print "Example: H134E21";
ei := GetEchoInput();
SetEchoInput(true);
// Comparison between Shanks and Pollard:
P<x> := PolynomialRing(GF(1000003));
f := x^7 + 123456*x^6 + 123*x^5 + 456*x^4 + 98*x^3 + 76*x^2 + 54*x + 32;
J := Jacobian(HyperellipticCurve(f));
curr_mem := GetMemoryUsage();
ResetMaximumMemoryUsage();
time Order(J : ShanksLimit := 10^15);
assert $1 eq 1001800207033014252;
GetMaximumMemoryUsage() - curr_mem;
delete J`Order;   // clear the result which has been stored
curr_mem := GetMemoryUsage();
ResetMaximumMemoryUsage();
time Order(J : ShanksLimit := 0);
assert $1 eq 1001800207033014252;
GetMaximumMemoryUsage() - curr_mem;
assert $1 eq 0;
SetEchoInput(ei);
