@@ -2755,13 +2755,13 @@ def _all_mpolys():
2755
2755
(
2756
2756
flint .fmpz_mod_mpoly ,
2757
2757
lambda * args , ** kwargs : flint .fmpz_mod_mpoly_ctx .get_context (* args , ** kwargs , modulus = 101 ),
2758
- flint .fmpz ,
2758
+ lambda x : flint .fmpz_mod ( x , flint . fmpz_mod_ctx ( 101 )) ,
2759
2759
True ,
2760
2760
),
2761
2761
(
2762
2762
flint .fmpz_mod_mpoly ,
2763
2763
lambda * args , ** kwargs : flint .fmpz_mod_mpoly_ctx .get_context (* args , ** kwargs , modulus = 100 ),
2764
- flint .fmpz ,
2764
+ lambda x : flint .fmpz_mod ( x , flint . fmpz_mod_ctx ( 100 )) ,
2765
2765
False ,
2766
2766
),
2767
2767
(
@@ -2981,17 +2981,13 @@ def quick_poly():
2981
2981
assert + quick_poly () \
2982
2982
== quick_poly ()
2983
2983
2984
- assert - quick_poly () \
2985
- == mpoly (
2986
- {(0 , 0 ): - 1 , (0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 } if P is not flint .nmod_mpoly
2987
- else {k : ctx .modulus () + v for k , v in {(0 , 0 ): - 1 , (0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 }.items ()}
2988
- )
2984
+ assert - quick_poly () == mpoly ({(0 , 0 ): - 1 , (0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 })
2989
2985
2990
2986
assert quick_poly () \
2991
2987
+ mpoly ({(0 , 0 ): 5 , (0 , 1 ): 6 , (1 , 0 ): 7 , (2 , 2 ): 8 }) \
2992
2988
== mpoly ({(0 , 0 ): 6 , (0 , 1 ): 8 , (1 , 0 ): 10 , (2 , 2 ): 12 })
2993
2989
2994
- for T in [int , S , lambda x : P (x , ctx = ctx )]:
2990
+ for T in [int , S , flint . fmpz , lambda x : P (x , ctx = ctx )]:
2995
2991
p = quick_poly ()
2996
2992
p += T (1 )
2997
2993
q = quick_poly ()
@@ -3008,22 +3004,15 @@ def quick_poly():
3008
3004
assert raises (lambda : quick_poly ().iadd (None ), NotImplementedError )
3009
3005
3010
3006
assert quick_poly () - mpoly ({(0 , 0 ): 5 , (0 , 1 ): 6 , (1 , 0 ): 7 , (2 , 2 ): 8 }) \
3011
- == mpoly (
3012
- {(0 , 0 ): - 4 , (0 , 1 ): - 4 , (1 , 0 ): - 4 , (2 , 2 ): - 4 } if P is not flint .nmod_mpoly
3013
- else {k : ctx .modulus () + v for k , v in {(0 , 0 ): - 4 , (0 , 1 ): - 4 , (1 , 0 ): - 4 , (2 , 2 ): - 4 }.items ()}
3014
- )
3007
+ == mpoly ({(0 , 0 ): - 4 , (0 , 1 ): - 4 , (1 , 0 ): - 4 , (2 , 2 ): - 4 })
3015
3008
3016
- for T in [int , S , int , lambda x : P (x , ctx = ctx )]:
3009
+ for T in [int , S , flint . fmpz , lambda x : P (x , ctx = ctx )]:
3017
3010
p = quick_poly ()
3018
3011
p -= T (1 )
3019
3012
q = quick_poly ()
3020
3013
assert q .isub (T (1 )) is None
3021
3014
assert quick_poly () - T (1 ) == p == q == mpoly ({(0 , 1 ): 2 , (1 , 0 ): 3 , (2 , 2 ): 4 })
3022
- assert T (1 ) - quick_poly () == \
3023
- mpoly (
3024
- {(0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 } if P is not flint .nmod_mpoly
3025
- else {k : ctx .modulus () + v for k , v in {(0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 }.items ()}
3026
- )
3015
+ assert T (1 ) - quick_poly () == mpoly ({(0 , 1 ): - 2 , (1 , 0 ): - 3 , (2 , 2 ): - 4 })
3027
3016
3028
3017
assert raises (lambda : quick_poly () - None , TypeError )
3029
3018
assert raises (lambda : None - quick_poly (), TypeError )
@@ -3042,7 +3031,7 @@ def quick_poly():
3042
3031
(0 , 1 ): 6
3043
3032
})
3044
3033
3045
- for T in [int , S , int , lambda x : P (x , ctx = ctx )]:
3034
+ for T in [int , S , flint . fmpz , lambda x : P (x , ctx = ctx )]:
3046
3035
p = quick_poly ()
3047
3036
p *= T (2 )
3048
3037
q = quick_poly ()
@@ -3083,10 +3072,7 @@ def quick_poly():
3083
3072
assert divmod (quick_poly (), S (1 )) == (quick_poly (), P (ctx = ctx ))
3084
3073
3085
3074
if is_field :
3086
- if (P is flint .fmpz_mod_mpoly or P is flint .nmod_mpoly ):
3087
- assert quick_poly () / 3 == mpoly ({(0 , 0 ): S (34 ), (0 , 1 ): S (68 ), (1 , 0 ): S (1 ), (2 , 2 ): S (35 )})
3088
- else :
3089
- assert quick_poly () / 3 == mpoly ({(0 , 0 ): S (1 , 3 ), (0 , 1 ): S (2 , 3 ), (1 , 0 ): S (1 ), (2 , 2 ): S (4 , 3 )})
3075
+ assert quick_poly () / 3 == mpoly ({(0 , 0 ): S (1 ) / 3 , (0 , 1 ): S (2 ) / 3 , (1 , 0 ): S (1 ), (2 , 2 ): S (4 ) / 3 })
3090
3076
else :
3091
3077
assert raises (lambda : quick_poly () / 3 , DomainError )
3092
3078
0 commit comments