fp(x) = [fingerprint(x), fingerprint(x, 32), fingerprint(x, 96]
print("INT");
fingerprint(1)
fingerprint(-1)
fingerprint(0)
print("REAL");
fingerprint(0.)
fingerprint(0.e-10)
fingerprint(Pi)
fingerprint(-Pi)
print("INTMOD");
fingerprint(Mod(2,3))
print("FRAC");
fingerprint(1/2)
fingerprint(2/3)
fingerprint(-3/2)
print("FFELT");
fingerprint(ffgen(8,'t))
fingerprint(1 + ffgen(8,'t))
fingerprint(ffgen(16,'t))
fingerprint(ffgen(16,'u))
p = 2^64+13;
fingerprint(ffgen(p,'t))
fingerprint(ffgen(p,'u))
g = ffgen(p^2,'t);
fingerprint(g)
fingerprint(g+2)
print("QUAD");
fingerprint(quadgen(5,'w))
fingerprint(1 + quadgen(5,'w))
fingerprint(1 - quadgen(5,'w))
fingerprint(quadgen(5,'t))
print("COMPLEX");
fingerprint(1-2*I)
fingerprint(-2+I)
fingerprint(1-2*I)
print("PADIC");
fingerprint(O(2^3))
fingerprint(O(2^4))
fingerprint(O(2^-2))
fingerprint(O(3^3))
fingerprint(1 + O(3^3))
fingerprint(1 + O(3^4))
print("POLMOD");
fingerprint(Mod(0,x))
fingerprint(Mod(0,y))
fingerprint(Mod(1,x))
print("POL");
fingerprint(Pol(1))
fingerprint(Pol(1, y))
fingerprint(0.*x)
fingerprint(x+2)
fingerprint(2*x+1)
print("SER");
fingerprint(O(x^2))
fingerprint(O(x^3))
fingerprint(O(x^-1))
fingerprint(1+O(x))
fingerprint(1+O(y))
fingerprint(x+O(x^2))
fingerprint(x+O(x^3))
print("RFRAC")
fingerprint(1/x)
fingerprint(-1/x)
fingerprint((x+1)/x^2)
print("QFB")
fingerprint([1,3,2])
fingerprint([1,-3,2])
print("VEC")
fingerprint([])
fingerprint([0])
fingerprint([1])
fingerprint([-1])
fingerprint([1,1])
print("COL")
fingerprint([]~)
fingerprint([0]~)
fingerprint([1]~)
fingerprint([-1]~)
fingerprint([1,1]~)
print("MAT")
fingerprint([;])
fingerprint(Mat(0))
fingerprint(matrix(2,2))
fingerprint(matrix(3,2))
fingerprint(matrix(2,3))
print("LIST")
fingerprint(List())
fingerprint(List(1))
fingerprint(List([1,2]))
print("STR")
fingerprint("")
fingerprint("a")
fingerprint("A")
fingerprint("abc")
fingerprint("abcdefghijklmnop")
print("VECSMALL")
fingerprint(Vecsmall([]))
fingerprint(Vecsmall(1))
fingerprint(Vecsmall(-1))
fingerprint(Vecsmall([1,2,3]))
fingerprint(Vecsmall([3,2,1]))
print("CLOSURE")
fingerprint(sin)
fingerprint(x->x+1)
f(x, y="a")=Str(x, y);
fingerprint(f)
print("ERROR")
fingerprint(iferr(1/0,E,E))
print("INFINITY")
fingerprint(oo)
fingerprint(-oo)

\\ ERRORS, keep at end
fingerprint(0, 0)
