@@ -317,6 +317,11 @@ def test_fmpz_poly():
317317 assert Z ([1 ,2 ,2 ]).sqrt () is None
318318 assert Z ([1 ,0 ,2 ,0 ,3 ]).deflation () == (Z ([1 ,2 ,3 ]), 2 )
319319 assert Z ([1 ,1 ]).deflation () == (Z ([1 ,1 ]), 1 )
320+ [(r ,m )] = Z ([1 ,1 ]).roots ()
321+ assert m == 1
322+ assert r .overlaps (- 1 )
323+ assert Z ([]).roots () == []
324+ assert Z ([1 ]).roots () == []
320325
321326def test_fmpz_poly_factor ():
322327 Z = flint .fmpz_poly
@@ -498,6 +503,11 @@ def set_bad(i,j):
498503 M6 = M ([[2 ,0 ,0 ],[0 ,2 ,1 ],[0 ,0 ,2 ]])
499504 assert M6 .charpoly () == flint .fmpz_poly ([- 8 ,12 ,- 6 ,1 ])
500505 assert M6 .minpoly () == flint .fmpz_poly ([4 ,- 4 ,1 ])
506+ assert list (M6 ) == [2 ,0 ,0 ,0 ,2 ,1 ,0 ,0 ,2 ]
507+
508+ def test_fmpz_series ():
509+ Z = flint .fmpz_series
510+ Z ([1 ,2 ])
501511
502512def test_fmpq ():
503513 Q = flint .fmpq
@@ -643,8 +653,6 @@ def test_fmpq():
643653 else :
644654 assert func (n ) == val
645655
646-
647-
648656def test_fmpq_poly ():
649657 Q = flint .fmpq_poly
650658 Z = flint .fmpz_poly
@@ -741,6 +749,11 @@ def set_bad():
741749 assert Q .bernoulli_poly (3 ) == Q ([0 ,1 ,- 3 ,2 ],2 )
742750 assert Q .euler_poly (3 ) == Q ([1 ,0 ,- 6 ,4 ],4 )
743751 assert Q .legendre_p (3 ) == Q ([0 ,- 3 ,0 ,5 ],2 )
752+ assert Q ([]).roots () == []
753+ assert Q ([1 ]).roots () == []
754+ [(r ,m )] = Q ([1 ,1 ]).roots ()
755+ assert m == 1
756+ assert r .overlaps (- 1 )
744757
745758def test_fmpq_mat ():
746759 Q = flint .fmpq_mat
@@ -855,6 +868,10 @@ def set_bad(i):
855868 assert M3 .charpoly () == flint .fmpq_poly ([- 1 ,6 ,- 12 ,8 ]) / 8
856869 assert M3 .minpoly () == flint .fmpq_poly ([1 ,- 4 ,4 ]) / 4
857870
871+ def test_fmpq_series ():
872+ Z = flint .fmpq_series
873+ Z ([1 ,2 ])
874+
858875def test_nmod ():
859876 G = flint .nmod
860877 assert G (0 ,2 ) == G (2 ,2 ) == G (- 2 ,2 )
@@ -1123,6 +1140,10 @@ def set_bad2():
11231140 M6 = M6_copy
11241141 assert M6 .nullspace () == (M ([[1 ,15 ,1 ],[0 ,0 ,0 ],[0 ,0 ,0 ]],17 ).transpose (), 1 )
11251142
1143+ def test_nmod_series ():
1144+ # XXX: currently no code in nmod_series.pyx
1145+ pass
1146+
11261147def test_arb ():
11271148 A = flint .arb
11281149 assert A (3 ) > A (2.5 )
@@ -1142,9 +1163,11 @@ def test_arb():
11421163 sys .stdout .write ("test_fmpz_poly_factor..." ); test_fmpz_poly_factor (); print ("OK" )
11431164 sys .stdout .write ("test_fmpz_poly_functions..." ); test_fmpz_poly_functions (); print ("OK" )
11441165 sys .stdout .write ("test_fmpz_mat..." ); test_fmpz_mat (); print ("OK" )
1166+ sys .stdout .write ("test_fmpz_series..." ); test_fmpz_series (); print ("OK" )
11451167 sys .stdout .write ("test_fmpq..." ); test_fmpq (); print ("OK" )
11461168 sys .stdout .write ("test_fmpq_poly..." ); test_fmpq_poly (); print ("OK" )
11471169 sys .stdout .write ("test_fmpq_mat..." ); test_fmpq_mat (); print ("OK" )
1170+ sys .stdout .write ("test_fmpq_series..." ); test_fmpq_series (); print ("OK" )
11481171 sys .stdout .write ("test_nmod..." ); test_nmod (); print ("OK" )
11491172 sys .stdout .write ("test_nmod_poly..." ); test_nmod_poly (); print ("OK" )
11501173 sys .stdout .write ("test_nmod_mat..." ); test_nmod_mat (); print ("OK" )
0 commit comments