Skip to content

Commit 7b06cca

Browse files
committed
typ: more tweaks from test suite
1 parent 291b565 commit 7b06cca

File tree

3 files changed

+45
-39
lines changed

3 files changed

+45
-39
lines changed

src/flint/test/test_all.py

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2583,6 +2583,12 @@ def _all_polys() -> list[tuple[Any, Any, bool, flint.fmpz]]:
25832583

25842584

25852585
def test_polys():
2586+
# To test type annotations, uncomment:
2587+
# P: type[flint.fmpq_poly]
2588+
# S: type[flint.fmpq]
2589+
# is_field: bool
2590+
# characteristic: flint.fmpz
2591+
25862592
for P, S, is_field, characteristic in _all_polys():
25872593

25882594
composite_characteristic = characteristic != 0 and not characteristic.is_prime()
@@ -2593,12 +2599,12 @@ def test_polys():
25932599

25942600
assert P([S(1)]) == P([1]) == P(P([1])) == P(1)
25952601

2596-
assert raises(lambda: P([None]), TypeError)
2597-
assert raises(lambda: P(object()), TypeError)
2598-
assert raises(lambda: P(None), TypeError)
2599-
assert raises(lambda: P(None, None), TypeError)
2600-
assert raises(lambda: P([1,2], None), TypeError)
2601-
assert raises(lambda: P(1, None), TypeError)
2602+
assert raises(lambda: P([None]), TypeError) # type: ignore
2603+
assert raises(lambda: P(object()), TypeError) # type: ignore
2604+
assert raises(lambda: P(None), TypeError) # type: ignore
2605+
assert raises(lambda: P(None, None), TypeError) # type: ignore
2606+
assert raises(lambda: P([1,2], None), TypeError) # type: ignore
2607+
assert raises(lambda: P(1, None), TypeError) # type: ignore
26022608

26032609
assert len(P([])) == P([]).length() == 0
26042610
assert len(P([1])) == P([1]).length() == 1
@@ -2642,18 +2648,18 @@ def test_polys():
26422648
assert (None == P([1])) is False
26432649
assert (None != P([1])) is True
26442650

2645-
assert raises(lambda: P([1]) < P([1]), TypeError)
2646-
assert raises(lambda: P([1]) <= P([1]), TypeError)
2647-
assert raises(lambda: P([1]) > P([1]), TypeError)
2648-
assert raises(lambda: P([1]) >= P([1]), TypeError)
2649-
assert raises(lambda: P([1]) < None, TypeError)
2650-
assert raises(lambda: P([1]) <= None, TypeError)
2651-
assert raises(lambda: P([1]) > None, TypeError)
2652-
assert raises(lambda: P([1]) >= None, TypeError)
2653-
assert raises(lambda: None < P([1]), TypeError)
2654-
assert raises(lambda: None <= P([1]), TypeError)
2655-
assert raises(lambda: None > P([1]), TypeError)
2656-
assert raises(lambda: None >= P([1]), TypeError)
2651+
assert raises(lambda: P([1]) < P([1]), TypeError) # type: ignore
2652+
assert raises(lambda: P([1]) <= P([1]), TypeError) # type: ignore
2653+
assert raises(lambda: P([1]) > P([1]), TypeError) # type: ignore
2654+
assert raises(lambda: P([1]) >= P([1]), TypeError) # type: ignore
2655+
assert raises(lambda: P([1]) < None, TypeError) # type: ignore
2656+
assert raises(lambda: P([1]) <= None, TypeError) # type: ignore
2657+
assert raises(lambda: P([1]) > None, TypeError) # type: ignore
2658+
assert raises(lambda: P([1]) >= None, TypeError) # type: ignore
2659+
assert raises(lambda: None < P([1]), TypeError) # type: ignore
2660+
assert raises(lambda: None <= P([1]), TypeError) # type: ignore
2661+
assert raises(lambda: None > P([1]), TypeError) # type: ignore
2662+
assert raises(lambda: None >= P([1]), TypeError) # type: ignore
26572663

26582664
assert P([1, 2, 3])[1] == S(2)
26592665
assert P([1, 2, 3])[-1] == S(0)
@@ -2693,7 +2699,7 @@ def setbad(obj, i, val):
26932699
assert p(0) == p(S(0)) == S(1) == 1
26942700
assert p(1) == p(S(1)) == S(6) == 6
26952701
assert p(p) == P([6, 16, 36, 36, 27])
2696-
assert raises(lambda: p(None), TypeError)
2702+
assert raises(lambda: p(None), TypeError) # type: ignore
26972703

26982704
assert bool(P([])) is False
26992705
assert bool(P([1])) is True
@@ -2713,26 +2719,26 @@ def setbad(obj, i, val):
27132719
assert P([1, 2, 3]) + T(1) == P([2, 2, 3])
27142720
assert T(1) + P([1, 2, 3]) == P([2, 2, 3])
27152721

2716-
assert raises(lambda: P([1, 2, 3]) + None, TypeError)
2717-
assert raises(lambda: None + P([1, 2, 3]), TypeError)
2722+
assert raises(lambda: P([1, 2, 3]) + None, TypeError) # type: ignore
2723+
assert raises(lambda: None + P([1, 2, 3]), TypeError) # type: ignore
27182724

27192725
assert P([1, 2, 3]) - P([4, 5, 6]) == P([-3, -3, -3])
27202726

27212727
for T in [int, S, flint.fmpz]:
27222728
assert P([1, 2, 3]) - T(1) == P([0, 2, 3])
27232729
assert T(1) - P([1, 2, 3]) == P([0, -2, -3])
27242730

2725-
assert raises(lambda: P([1, 2, 3]) - None, TypeError)
2726-
assert raises(lambda: None - P([1, 2, 3]), TypeError)
2731+
assert raises(lambda: P([1, 2, 3]) - None, TypeError) # type: ignore
2732+
assert raises(lambda: None - P([1, 2, 3]), TypeError) # type: ignore
27272733

27282734
assert P([1, 2, 3]) * P([4, 5, 6]) == P([4, 13, 28, 27, 18])
27292735

27302736
for T in [int, S, flint.fmpz]:
27312737
assert P([1, 2, 3]) * T(2) == P([2, 4, 6])
27322738
assert T(2) * P([1, 2, 3]) == P([2, 4, 6])
27332739

2734-
assert raises(lambda: P([1, 2, 3]) * None, TypeError)
2735-
assert raises(lambda: None * P([1, 2, 3]), TypeError)
2740+
assert raises(lambda: P([1, 2, 3]) * None, TypeError) # type: ignore
2741+
assert raises(lambda: None * P([1, 2, 3]), TypeError) # type: ignore
27362742

27372743
assert P([1, 2, 1]) // P([1, 1]) == P([1, 1])
27382744
assert P([1, 2, 1]) % P([1, 1]) == P([0])
@@ -2758,13 +2764,13 @@ def setbad(obj, i, val):
27582764
assert 1 % P([1, 1]) == P([1])
27592765
assert divmod(1, P([1, 1])) == (P([0]), P([1]))
27602766

2761-
assert raises(lambda: P([1, 2, 1]) // None, TypeError)
2762-
assert raises(lambda: P([1, 2, 1]) % None, TypeError)
2763-
assert raises(lambda: divmod(P([1, 2, 1]), None), TypeError)
2767+
assert raises(lambda: P([1, 2, 1]) // None, TypeError) # type: ignore
2768+
assert raises(lambda: P([1, 2, 1]) % None, TypeError) # type: ignore
2769+
assert raises(lambda: divmod(P([1, 2, 1]), None), TypeError) # type: ignore
27642770

2765-
assert raises(lambda: None // P([1, 1]), TypeError)
2766-
assert raises(lambda: None % P([1, 1]), TypeError)
2767-
assert raises(lambda: divmod(None, P([1, 1])), TypeError)
2771+
assert raises(lambda: None // P([1, 1]), TypeError) # type: ignore
2772+
assert raises(lambda: None % P([1, 1]), TypeError) # type: ignore
2773+
assert raises(lambda: divmod(None, P([1, 1])), TypeError) # type: ignore
27682774

27692775
assert raises(lambda: P([1, 2, 1]) // 0, ZeroDivisionError)
27702776
assert raises(lambda: P([1, 2, 1]) % 0, ZeroDivisionError)
@@ -2799,32 +2805,32 @@ def setbad(obj, i, val):
27992805
assert P([1, 1]) ** 1 == P([1, 1])
28002806
assert P([1, 1]) ** 2 == P([1, 2, 1])
28012807
assert raises(lambda: P([1, 1]) ** -1, DomainError)
2802-
assert raises(lambda: P([1, 1]) ** None, TypeError)
2808+
assert raises(lambda: P([1, 1]) ** None, TypeError) # type: ignore
28032809

28042810
# XXX: Not sure what this should do in general:
28052811
p = P([1, 1])
28062812
mod = P([1, 1])
28072813
if type(p) not in [flint.fmpz_mod_poly, flint.nmod_poly, flint.fq_default_poly]:
2808-
assert raises(lambda: pow(p, 2, mod), NotImplementedError)
2814+
assert raises(lambda: pow(p, 2, mod), NotImplementedError) # type: ignore
28092815
else:
28102816
assert p * p % mod == pow(p, 2, mod)
28112817

28122818
if not composite_characteristic:
28132819
assert P([1, 2, 1]).gcd(P([1, 1])) == P([1, 1])
2814-
assert raises(lambda: P([1, 2, 1]).gcd(None), TypeError)
2820+
assert raises(lambda: P([1, 2, 1]).gcd(None), TypeError) # type: ignore
28152821
elif nmod_poly_will_crash:
28162822
pass
28172823
else:
28182824
# Z/nZ for n not prime
28192825
assert raises(lambda: P([1, 2, 1]).gcd(P([1, 1])), DomainError)
2820-
assert raises(lambda: P([1, 2, 1]).gcd(None), TypeError)
2826+
assert raises(lambda: P([1, 2, 1]).gcd(None), TypeError) # type: ignore
28212827

28222828
if is_field:
28232829
p1 = P([1, 0, 1])
28242830
p2 = P([2, 1])
28252831
g, s, t = P([1]), P([1])/5, P([2, -1])/5
28262832
assert p1.xgcd(p2) == (g, s, t)
2827-
assert raises(lambda: p1.xgcd(None), TypeError)
2833+
assert raises(lambda: p1.xgcd(None), TypeError) # type: ignore
28282834

28292835
if not composite_characteristic:
28302836
assert P([1, 2, 1]).factor() == (S(1), [(P([1, 1]), 2)])

src/flint/types/fmpq_poly.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class fmpq_poly(flint_poly[fmpq]):
1818
@overload
1919
def __init__(self) -> None: ...
2020
@overload
21-
def __init__(self, other: fmpq_poly | fmpz_poly | list[ifmpq] | ifmpq, /) -> None: ...
21+
def __init__(self, other: fmpq_poly | fmpz_poly | list[int] | list[ifmpq] | ifmpq, /) -> None: ...
2222
@overload
23-
def __init__(self, other: fmpq_poly | fmpz_poly | list[ifmpq] | ifmpq,
23+
def __init__(self, other: fmpq_poly | fmpz_poly | list[int] | list[ifmpq] | ifmpq,
2424
den: ifmpz, /) -> None: ...
2525

2626
def __len__(self) -> int: ...

src/flint/types/fmpz_poly.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class fmpz_poly(flint_poly[fmpz]):
1717
@overload
1818
def __init__(self) -> None: ...
1919
@overload
20-
def __init__(self, arg: list[ifmpz] | fmpz | fmpz_poly, /) -> None: ...
20+
def __init__(self, arg: list[int] | list[ifmpz] | ifmpz | fmpz_poly, /) -> None: ...
2121

2222
def __len__(self) -> int: ...
2323
def length(self) -> int: ...

0 commit comments

Comments
 (0)