@@ -2480,9 +2480,13 @@ def test_division_matrix():
2480
2480
2481
2481
def _all_polys ():
2482
2482
return [
2483
- # (poly_type, scalar_type, is_field)
2483
+ # (poly_type, scalar_type, is_field, characteristic)
2484
+
2485
+ # Z and Q
2484
2486
(flint .fmpz_poly , flint .fmpz , False , flint .fmpz (0 )),
2485
2487
(flint .fmpq_poly , flint .fmpq , True , flint .fmpz (0 )),
2488
+
2489
+ # Z/pZ (p prime)
2486
2490
(lambda * a : flint .nmod_poly (* a , 17 ), lambda x : flint .nmod (x , 17 ), True , flint .fmpz (17 )),
2487
2491
(lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (163 )),
2488
2492
lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (163 )),
@@ -2493,6 +2497,8 @@ def _all_polys():
2493
2497
(lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (2 ** 255 - 19 )),
2494
2498
lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (2 ** 255 - 19 )),
2495
2499
True , flint .fmpz (2 ** 255 - 19 )),
2500
+
2501
+ # GF(p^k) (p prime)
2496
2502
(lambda * a : flint .fq_default_poly (* a , flint .fq_default_poly_ctx (2 ** 127 - 1 )),
2497
2503
lambda x : flint .fq_default (x , flint .fq_default_ctx (2 ** 127 - 1 )),
2498
2504
True , flint .fmpz (2 ** 127 - 1 )),
@@ -2511,6 +2517,8 @@ def _all_polys():
2511
2517
(lambda * a : flint .fq_default_poly (* a , flint .fq_default_poly_ctx (11 , 5 )),
2512
2518
lambda x : flint .fq_default (x , flint .fq_default_ctx (11 , 5 )),
2513
2519
True , flint .fmpz (11 )),
2520
+
2521
+ # Z/nZ (n composite)
2514
2522
(lambda * a : flint .nmod_poly (* a , 16 ), lambda x : flint .nmod (x , 16 ), False , flint .fmpz (16 )),
2515
2523
(lambda * a : flint .fmpz_mod_poly (* a , flint .fmpz_mod_poly_ctx (164 )),
2516
2524
lambda x : flint .fmpz_mod (x , flint .fmpz_mod_ctx (164 )),
0 commit comments