Deprecate is_RealField, is_ComplexField, is_RealDoubleField, is_ComplexDoubleField
mkoeppe opened this issue · 33 comments
Follow up from #32566, which introduced the new pattern isinstance(..., sage.rings.abc.RealField)
Depends on #32566
Depends on #32606
Component: refactoring
Author: Matthias Koeppe
Branch/Commit: 8cc3500
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/32610
Setting to "needs_review" to get the patchbot to run
New commits:
6081489 | git grep -l -E 'is_(Real|Complex)(Double)?Field' | xargs sed -E -i.bak 's/^from sage[.]rings.*import is_((Real|Complex)(Double)?Field) *$/import sage.rings.abc/;s/is_((Real|Complex)(Double)?Field)[(]([^)]*)[)]/isinstance(\4, sage.rings.abc.\1)/g;' |
28e328a | Remove repeated imports of sage.rings.abc |
45cc21a | is_Real[Double]Field, is_Complex[Double]Field: Undo automatic edits, deprecate |
e003603 | sage.dynamics: Fix up replacement of is_{Real,Complex}[Double]Field |
4adc553 | sage.functions: Fix up replacement of is_{Real,Complex}[Double]Field |
5b988c6 | sage.schemes: Fix up replacement of is_{Real,Complex}[Double]Field |
402dbec | sage.rings.number_field: Fix up replacement of is_{Real,Complex}[Double]Field |
e82709c | sage.rings.polynomial: Fix up replacement of is_{Real,Complex}[Double]Field |
1d29569 | sage.{modular,quadratic_forms}: Fix up replacement of is_{Real,Complex}[Double]Field |
a4ad3d4 | sage.matrix: Fix up replacement of is_{Real,Complex}[Double]Field |
Author: Matthias Koeppe
Branch pushed to git repo; I updated commit sha1. New commits:
cee081a | sage.rings.real_mpfr.RealField_class: Inherit through a new class sage.rings.abc.RealField |
99f4f10 | sage.rings.real_double.RealDoubleField_class: Inherit through a new class sage.rings.abc.RealDoubleField |
29871d0 | ComplexField_class, ComplexDoubleField: Inherit through new classes sage.rings.abc.* |
e1bb944 | src/sage/rings/polynomial/polynomial_element.pyx: Replace use of is_RealField by isinstance(sage.rings.abc.RealField) etc. |
6e2c3c4 | src/sage/rings/abc.pyx: Add class docstrings |
49e75d1 | Merge #32566 |
Branch pushed to git repo; I updated commit sha1. New commits:
65e9b98 | src/sage/rings/polynomial/polynomial_singular_interface.py: Fixup |
Branch pushed to git repo; I updated commit sha1. New commits:
a00d97a | src/sage/rings/number_field/number_field.py: Fixup |
Patchbot reports
sage -t --long --random-seed=0 src/sage/probability/random_variable.py # 9 doctests failed
sage -t --long --random-seed=0 src/sage/monoids/string_monoid.py # 2 doctests failed
sage -t --long --random-seed=0 src/sage/monoids/string_monoid_element.py # 8 doctests failed
sage -t --long --random-seed=0 src/sage/monoids/string_ops.py # 1 doctest failed
sage -t --long --random-seed=0 src/sage/functions/special.py # 9 doctests failed
sage -t --long --random-seed=0 src/sage/crypto/classical.py # 18 doctests failed
sage -t --long --random-seed=0 src/sage/schemes/elliptic_curves/cm.py # 2 doctests failed
sage -t --long --random-seed=0 src/sage/schemes/elliptic_curves/ell_number_field.py # 2 doctests failed
sage -t --long --random-seed=0 src/sage/rings/complex_mpfr.pyx # 1 doctest failed
sage -t --long --random-seed=0 src/sage/rings/complex_double.pyx # 1 doctest failed
sage -t --long --random-seed=0 src/sage/rings/real_mpfr.pyx # 1 doctest failed
sage -t --long --random-seed=0 src/sage/rings/real_double.pyx # 1 doctest failed
Another round of patchbot testing...
Branch pushed to git repo; I updated commit sha1. New commits:
dd7e96c | src/sage/schemes/elliptic_curves/ell_number_field.py: Add missing import |
Reviewer: Travis Scrimshaw
Green bot => positive review.
Branch pushed to git repo; I updated commit sha1. New commits:
13607cb | src/sage/dynamics/arithmetic_dynamics/projective_ds.py: Remove unused import |
Thanks! It's green now
Merge conflict
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
9e74b6a | sage.rings.abc: Add IntegerModRing, Order; use them in sage.matrix, sage.modules |
8ef2b35 | sage.structure, sage.rings, sage.matrix: Use sage.rings.abc for IntegerModRing |
335cd3e | Replace all uses of is_IntegerModRing by isinstance(..., sage.rings.abc.IntegerModRing) |
f596395 | sage.rings.finite_rings.integer_mod_ring: Fixup |
af06e5b | is_IntegerModRing: Deprecate |
1b0a5ab | src/sage/modules/vector_space_morphism.py: Do not fail if sage.symbol is not present |
83b5038 | src/sage/modules/free_module_element.pyx: Move import from sage.misc.derivative into method |
acca6c2 | src/sage/matrix/matrix2.pyx: Move import from sage.misc.derivative into method |
907b57c | Merge #32593 |
b1efd57 | Merge #32606 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
355dbcb | Merge #32606 |