@@ -2480,9 +2480,13 @@ def test_division_matrix():
24802480
24812481def _all_polys ():
24822482 return [
2483- # (poly_type, scalar_type, is_field)
2483+ # (poly_type, scalar_type, is_field, characteristic)
2484+
2485+ # Z and Q
24842486 (flint .fmpz_poly , flint .fmpz , False , flint .fmpz (0 )),
24852487 (flint .fmpq_poly , flint .fmpq , True , flint .fmpz (0 )),
2488+
2489+ # Z/pZ (p prime)
24862490 (lambda * a : flint .nmod_poly (* a , 17 ), lambda x : flint .nmod (x , 17 ), True , flint .fmpz (17 )),
24872491 (lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (163 )),
24882492 lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (163 )),
@@ -2493,6 +2497,8 @@ def _all_polys():
24932497 (lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (2 ** 255 - 19 )),
24942498 lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (2 ** 255 - 19 )),
24952499 True , flint .fmpz (2 ** 255 - 19 )),
2500+
2501+ # GF(p^k) (p prime)
24962502 (lambda * a : flint .fq_default_poly (* a , flint .fq_default_poly_ctx (2 ** 127 - 1 )),
24972503 lambda x : flint .fq_default (x , flint .fq_default_ctx (2 ** 127 - 1 )),
24982504 True , flint .fmpz (2 ** 127 - 1 )),
@@ -2511,6 +2517,8 @@ def _all_polys():
25112517 (lambda * a : flint .fq_default_poly (* a , flint .fq_default_poly_ctx (11 , 5 )),
25122518 lambda x : flint .fq_default (x , flint .fq_default_ctx (11 , 5 )),
25132519 True , flint .fmpz (11 )),
2520+
2521+ # Z/nZ (n composite)
25142522 (lambda * a : flint .nmod_poly (* a , 16 ), lambda x : flint .nmod (x , 16 ), False , flint .fmpz (16 )),
25152523 (lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (164 )),
25162524 lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (164 )),
0 commit comments