Skip to content

fix ruff SIM101 in Witt vectors and rings #40256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions src/sage/rings/padics/witt_vector.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,9 @@ def __init__(self, parent, vec=None):
self._prec = parent.precision()
B = parent.coefficient_ring()
if vec is not None:
if isinstance(vec, int) or isinstance(vec, Integer):
if isinstance(vec, (int, Integer)):
self._int_to_vector(vec, parent)
elif (isinstance(vec, tuple) or isinstance(vec, list)
or isinstance(vec, WittVector)):
elif isinstance(vec, (tuple, list, WittVector)):
if len(vec) < self._prec:
raise ValueError(f"{vec} has not the correct length, "
"expected length has to be at least "
Expand Down Expand Up @@ -420,15 +419,13 @@ def __init__(self, parent, vec=None, phantom=None):
R = parent.coefficient_ring()
p = parent.prime()
base = R
if (isinstance(R, PolynomialRing_generic)
or isinstance(R, MPolynomialRing_base)):
if isinstance(R, (PolynomialRing_generic, MPolynomialRing_base)):
base = R.base()
base_lift = QqFP(base.cardinality(), prec=self._prec,
modulus=base.modulus(), names=(base.variable_name(),),
res_name=base.variable_name())
lift = base_lift
if (isinstance(R, PolynomialRing_generic)
or isinstance(R, MPolynomialRing_base)):
if isinstance(R, (PolynomialRing_generic, MPolynomialRing_base)):
lift = R.change_ring(base_lift)
if phantom is not None:
self._phantom = phantom
Expand All @@ -442,13 +439,12 @@ def __init__(self, parent, vec=None, phantom=None):
self._coordinates = vec.coordinates()
self._phantom = vec._phantom
self._powers = vec._powers
elif isinstance(vec, int) or isinstance(vec, Integer):
elif isinstance(vec, (int, Integer)):
self._int_to_vector(vec, parent)
y = base_lift(vec)
self._powers = [y]
self._phantom = self._prec * [y]
elif (isinstance(vec, tuple) or isinstance(vec, list)
or isinstance(vec, WittVector)):
elif isinstance(vec, (tuple, list, WittVector)):
if len(vec) < self._prec:
raise ValueError(f"{vec} has not the correct length, "
"expected length has to be at least "
Expand Down
24 changes: 13 additions & 11 deletions src/sage/rings/padics/witt_vector_ring.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@
"""
if coefficient_ring not in CommutativeRings():
raise TypeError(f"{coefficient_ring} is not a commutative ring")
elif not (isinstance(prec, int) or isinstance(prec, Integer)):
elif not isinstance(prec, (int, Integer)):
raise TypeError(f"{prec} is not an integer")
elif prec <= 0:
raise ValueError(f"{prec} must be positive")
Expand Down Expand Up @@ -801,7 +801,7 @@
sage: W = WittVectorRing(QQ, p=23, prec=3, algorithm='phantom')
Traceback (most recent call last):
...
ValueError: the 'phantom' algorithm only works when the coefficient ring is a finite field of p, or a polynomial ring on that field
ValueError: the 'phantom' algorithm only works when the coefficient ring is a finite field of char. p, or a polynomial ring on that field
"""
Element = WittVector_phantom

Expand All @@ -819,15 +819,17 @@

sage: TestSuite(W).run()
"""
if not (coefficient_ring.characteristic() == prime
and (coefficient_ring in Fields().Finite()
or ((isinstance(coefficient_ring, PolynomialRing_generic)
or isinstance(coefficient_ring,
MPolynomialRing_base))
and coefficient_ring.base() in Fields().Finite()))):
raise ValueError("the 'phantom' algorithm only works when the "
"coefficient ring is a finite field of "
"p, or a polynomial ring on that field")
msg = "the 'phantom' algorithm only works when the coefficient ring is"\
" a finite field of char. p, or a polynomial ring on that field"

if coefficient_ring.characteristic() != prime:
raise ValueError(msg)

if not (coefficient_ring in Fields().Finite() or
(isinstance(coefficient_ring, (PolynomialRing_generic,
MPolynomialRing_base)) and
coefficient_ring.base() in Fields().Finite())):
raise ValueError(msg)

Check warning on line 832 in src/sage/rings/padics/witt_vector_ring.py

View check run for this annotation

Codecov / codecov/patch

src/sage/rings/padics/witt_vector_ring.py#L832

Added line #L832 was not covered by tests

if (coefficient_ring in Fields().Finite()
or isinstance(coefficient_ring,
Expand Down
Loading