Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
git grep -l -E 'is_(Real|Complex)(Double)?Field' | xargs sed -E -i.ba…
Browse files Browse the repository at this point in the history
…k '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;'
  • Loading branch information
Matthias Koeppe committed Oct 2, 2021
1 parent 52915b6 commit 6081489
Show file tree
Hide file tree
Showing 25 changed files with 99 additions and 99 deletions.
2 changes: 1 addition & 1 deletion src/sage/dynamics/arithmetic_dynamics/projective_ds.py
Original file line number Diff line number Diff line change
Expand Up @@ -2065,7 +2065,7 @@ def canonical_height(self, P, **kwds):
# it uses Real or Complex Double Field in place of RealField(prec) or ComplexField(prec)
# the function is_RealField does not identify RDF as real, so we test for that ourselves.
for v in emb:
if is_RealField(v.codomain()) or v.codomain() is RDF:
if isinstance(v.codomain(, sage.rings.abc.RealField)) or v.codomain() is RDF:
dv = R.one()
else:
dv = R(2)
Expand Down
12 changes: 6 additions & 6 deletions src/sage/functions/orthogonal_polys.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,8 +304,8 @@
from sage.misc.latex import latex
from sage.rings.all import ZZ, QQ, RR, CC
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.real_mpfr import is_RealField
from sage.rings.complex_mpfr import is_ComplexField
import sage.rings.abc
import sage.rings.abc

from sage.symbolic.function import BuiltinFunction, GinacFunction
from sage.symbolic.expression import Expression
Expand Down Expand Up @@ -672,7 +672,7 @@ def _evalf_(self, n, x, **kwds):
except KeyError:
real_parent = parent(x)

if not is_RealField(real_parent) and not is_ComplexField(real_parent):
if not isinstance(real_parent, sage.rings.abc.RealField) and not isinstance(real_parent, sage.rings.abc.ComplexField):
# parent is not a real or complex field: figure out a good parent
if x in RR:
x = RR(x)
Expand All @@ -681,7 +681,7 @@ def _evalf_(self, n, x, **kwds):
x = CC(x)
real_parent = CC

if not is_RealField(real_parent) and not is_ComplexField(real_parent):
if not isinstance(real_parent, sage.rings.abc.RealField) and not isinstance(real_parent, sage.rings.abc.ComplexField):
raise TypeError("cannot evaluate chebyshev_T with parent {}".format(real_parent))

from sage.libs.mpmath.all import call as mpcall
Expand Down Expand Up @@ -1031,7 +1031,7 @@ def _evalf_(self, n, x, **kwds):
except KeyError:
real_parent = parent(x)

if not is_RealField(real_parent) and not is_ComplexField(real_parent):
if not isinstance(real_parent, sage.rings.abc.RealField) and not isinstance(real_parent, sage.rings.abc.ComplexField):
# parent is not a real or complex field: figure out a good parent
if x in RR:
x = RR(x)
Expand All @@ -1040,7 +1040,7 @@ def _evalf_(self, n, x, **kwds):
x = CC(x)
real_parent = CC

if not is_RealField(real_parent) and not is_ComplexField(real_parent):
if not isinstance(real_parent, sage.rings.abc.RealField) and not isinstance(real_parent, sage.rings.abc.ComplexField):
raise TypeError("cannot evaluate chebyshev_U with parent {}".format(real_parent))

from sage.libs.mpmath.all import call as mpcall
Expand Down
2 changes: 1 addition & 1 deletion src/sage/functions/special.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ def elliptic_j(z, prec=53):

CC = z.parent()
from sage.rings.complex_mpfr import is_ComplexField
if not is_ComplexField(CC):
if not isinstance(CC, sage.rings.abc.ComplexField):
CC = ComplexField(prec)
try:
z = CC(z)
Expand Down
2 changes: 1 addition & 1 deletion src/sage/matrix/misc.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ def hadamard_row_bound_mpfr(Matrix A):
...
OverflowError: cannot convert float infinity to integer
"""
if not is_RealField(A.base_ring()):
if not isinstance(A.base_ring(, sage.rings.abc.RealField)):
raise TypeError("A must have base field an mpfr real field.")

cdef RealNumber a, b
Expand Down
12 changes: 6 additions & 6 deletions src/sage/modular/dirichlet.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@

from sage.categories.map import Map
from sage.rings.rational_field import is_RationalField
from sage.rings.complex_mpfr import is_ComplexField
import sage.rings.abc
from sage.rings.qqbar import is_AlgebraicField
from sage.rings.ring import is_Ring

Expand Down Expand Up @@ -1153,7 +1153,7 @@ def _pari_init_(self):

# now compute the input for pari (list of exponents)
P = self.parent()
if is_ComplexField(P.base_ring()):
if isinstance(P.base_ring(, sage.rings.abc.ComplexField)):
zeta = P.zeta()
zeta_argument = zeta.argument()
v = [int(x.argument() / zeta_argument) for x in values_on_gens]
Expand Down Expand Up @@ -1345,7 +1345,7 @@ def gauss_sum(self, a=1):
K = G.base_ring()
chi = self
m = G.modulus()
if is_ComplexField(K):
if isinstance(K, sage.rings.abc.ComplexField):
return self.gauss_sum_numerical(a=a)
elif is_AlgebraicField(K):
L = K
Expand Down Expand Up @@ -1422,7 +1422,7 @@ def gauss_sum_numerical(self, prec=53, a=1):
"""
G = self.parent()
K = G.base_ring()
if is_ComplexField(K):
if isinstance(K, sage.rings.abc.ComplexField):

def phi(t):
return t
Expand Down Expand Up @@ -2138,7 +2138,7 @@ def element(self):
"""
P = self.parent()
M = P._module
if is_ComplexField(P.base_ring()):
if isinstance(P.base_ring(, sage.rings.abc.ComplexField)):
zeta = P.zeta()
zeta_argument = zeta.argument()
v = M([int(round(x.argument() / zeta_argument))
Expand Down Expand Up @@ -2607,7 +2607,7 @@ def _zeta_powers(self):
w = [a]
zeta = self.zeta()
zeta_order = self.zeta_order()
if is_ComplexField(R):
if isinstance(R, sage.rings.abc.ComplexField):
for i in range(1, zeta_order):
a = a * zeta
a._set_multiplicative_order(zeta_order / gcd(zeta_order, i))
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modules/free_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -7443,9 +7443,9 @@ def element_class(R, is_sparse):
return Vector_modn_dense
else:
return free_module_element.FreeModuleElement_generic_dense
elif sage.rings.real_double.is_RealDoubleField(R) and not is_sparse:
elif sage.rings.real_double.isinstance(R, sage.rings.abc.RealDoubleField) and not is_sparse:
return sage.modules.vector_real_double_dense.Vector_real_double_dense
elif sage.rings.complex_double.is_ComplexDoubleField(R) and not is_sparse:
elif sage.rings.complex_double.isinstance(R, sage.rings.abc.ComplexDoubleField) and not is_sparse:
return sage.modules.vector_complex_double_dense.Vector_complex_double_dense
elif sage.symbolic.ring.is_SymbolicExpressionRing(R) and not is_sparse:
import sage.modules.vector_symbolic_dense
Expand Down
2 changes: 1 addition & 1 deletion src/sage/probability/random_variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ def __init__(self, X, P, codomain=None, check=False):
"""
if codomain is None:
codomain = RealField()
if not is_RealField(codomain) and not is_RationalField(codomain):
if not isinstance(codomain, sage.rings.abc.RealField) and not is_RationalField(codomain):
raise TypeError("Argument codomain (= %s) must be the reals or rationals" % codomain)
if check:
one = sum(P.values())
Expand Down
4 changes: 2 additions & 2 deletions src/sage/quadratic_forms/special_values.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from sage.rings.integer_ring import ZZ
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.rational_field import QQ
from sage.rings.real_mpfr import is_RealField
import sage.rings.abc
from sage.symbolic.constants import pi, I

# ---------------- The Gamma Function ------------------
Expand Down Expand Up @@ -278,7 +278,7 @@ def quadratic_L_function__numerical(n, d, num_terms=1000):
....: print("Oops! We have a problem at d = {}: exact = {}, numerical = {}".format(d, RR(quadratic_L_function__exact(1, d)), RR(quadratic_L_function__numerical(1, d))))
"""
# Set the correct precision if it is given (for n).
if is_RealField(n.parent()):
if isinstance(n.parent(, sage.rings.abc.RealField)):
R = n.parent()
else:
R = RealField()
Expand Down
6 changes: 3 additions & 3 deletions src/sage/rings/complex_double.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,16 @@ from sage.structure.richcmp cimport rich_to_bool
cimport gmpy2
gmpy2.import_gmpy2()

def is_ComplexDoubleField(x):
def isinstance(x, sage.rings.abc.ComplexDoubleField):
"""
Return ``True`` if ``x`` is the complex double field.
EXAMPLES::
sage: from sage.rings.complex_double import is_ComplexDoubleField
sage: is_ComplexDoubleField(CDF)
sage: isinstance(CDF, sage.rings.abc.ComplexDoubleField)
True
sage: is_ComplexDoubleField(ComplexField(53))
sage: isinstance(ComplexField(53, sage.rings.abc.ComplexDoubleField))
False
"""
return isinstance(x, ComplexDoubleField_class)
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/complex_mpfr.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ def is_ComplexNumber(x):
"""
return isinstance(x, ComplexNumber)

def is_ComplexField(x):
def isinstance(x, sage.rings.abc.ComplexField):
"""
Check if ``x`` is a :class:`complex field <ComplexField_class>`.
Expand Down Expand Up @@ -543,7 +543,7 @@ class ComplexField_class(ring.Field):
RR = self._real_field()
if RR.has_coerce_map_from(S):
return RRtoCC(RR, self) * RR._internal_coerce_map_from(S)
if is_ComplexField(S):
if isinstance(S, sage.rings.abc.ComplexField):
if self._prec <= S._prec:
return self._generic_coerce_map(S)
else:
Expand Down
6 changes: 3 additions & 3 deletions src/sage/rings/number_field/number_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -9949,12 +9949,12 @@ def hilbert_symbol(self, a, b, P = None):
from sage.rings.complex_interval_field import is_ComplexIntervalField
from sage.rings.real_mpfr import is_RealField
from sage.rings.all import (AA, CDF, QQbar, RDF)
if is_ComplexField(codom) or is_ComplexIntervalField(codom) or \
if isinstance(codom, sage.rings.abc.ComplexField) or is_ComplexIntervalField(codom) or \
codom is CDF or codom is QQbar:
if P(self.gen()).imag() == 0:
raise ValueError("Possibly real place (=%s) given as complex embedding in hilbert_symbol. Is it real or complex?" % P)
return 1
if is_RealField(codom) or codom is RDF or codom is AA:
if isinstance(codom, sage.rings.abc.RealField) or codom is RDF or codom is AA:
if P(a) > 0 or P(b) > 0:
return 1
return -1
Expand Down Expand Up @@ -12317,7 +12317,7 @@ def refine_embedding(e, prec=None):
return e

# We first compute all the embeddings at the new precision:
if sage.rings.real_mpfr.is_RealField(RC) or RC in (RDF, RLF):
if sage.rings.real_mpfr.isinstance(RC, sage.rings.abc.RealField) or RC in (RDF, RLF):
if prec == Infinity:
elist = K.embeddings(sage.rings.qqbar.AA)
else:
Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/number_field/number_field_element.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -3946,7 +3946,7 @@ cdef class NumberFieldElement(FieldElement):
return Kv.zero()
ht = a.log()
from sage.rings.real_mpfr import is_RealField
if weighted and not is_RealField(Kv):
if weighted and not isinstance(Kv, sage.rings.abc.RealField):
ht*=2
return ht

Expand Down
8 changes: 4 additions & 4 deletions src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ from sage.rings.polynomial.polynomial_ring import is_PolynomialRing
from sage.rings.finite_rings.finite_field_prime_modn import FiniteField_prime_modn
from sage.rings.rational cimport Rational
from sage.rings.rational_field import QQ
from sage.rings.complex_mpfr import is_ComplexField
from sage.rings.real_mpfr import is_RealField
import sage.rings.abc
import sage.rings.abc
from sage.rings.integer_ring import is_IntegerRing, ZZ
from sage.rings.integer cimport Integer
from sage.rings.integer import GCD_list
Expand Down Expand Up @@ -1366,14 +1366,14 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):

base_ring = self.base_ring()

if is_RealField(base_ring):
if isinstance(base_ring, sage.rings.abc.RealField):
# singular converts to bits from base_10 in mpr_complex.cc by:
# size_t bits = 1 + (size_t) ((float)digits * 3.5);
precision = base_ring.precision()
digits = ceil((2*precision - 2)/7.0)
self.__singular = singular.ring("(real,%d,0)"%digits, _vars, order=order)

elif is_ComplexField(base_ring):
elif isinstance(base_ring, sage.rings.abc.ComplexField):
# singular converts to bits from base_10 in mpr_complex.cc by:
# size_t bits = 1 + (size_t) ((float)digits * 3.5);
precision = base_ring.precision()
Expand Down
40 changes: 20 additions & 20 deletions src/sage/rings/polynomial/polynomial_element.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -7912,25 +7912,25 @@ cdef class Polynomial(CommutativeAlgebraElement):

late_import()

input_fp = (is_RealField(K)
or is_ComplexField(K)
or is_RealDoubleField(K)
or is_ComplexDoubleField(K))
output_fp = (is_RealField(L)
or is_ComplexField(L)
or is_RealDoubleField(L)
or is_ComplexDoubleField(L))
input_complex = (is_ComplexField(K)
or is_ComplexDoubleField(K))
output_complex = (is_ComplexField(L)
or is_ComplexDoubleField(L))
input_fp = (isinstance(K, sage.rings.abc.RealField)
or isinstance(K, sage.rings.abc.ComplexField)
or isinstance(K, sage.rings.abc.RealDoubleField)
or isinstance(K, sage.rings.abc.ComplexDoubleField))
output_fp = (isinstance(L, sage.rings.abc.RealField)
or isinstance(L, sage.rings.abc.ComplexField)
or isinstance(L, sage.rings.abc.RealDoubleField)
or isinstance(L, sage.rings.abc.ComplexDoubleField))
input_complex = (isinstance(K, sage.rings.abc.ComplexField)
or isinstance(K, sage.rings.abc.ComplexDoubleField))
output_complex = (isinstance(L, sage.rings.abc.ComplexField)
or isinstance(L, sage.rings.abc.ComplexDoubleField))
input_gaussian = (isinstance(K, NumberField_quadratic)
and list(K.polynomial()) == [1, 0, 1])

if input_fp and output_fp:
# allow for possibly using a fast but less reliable
# floating point algorithm from numpy
low_prec = is_RealDoubleField(K) or is_ComplexDoubleField(K)
low_prec = isinstance(K, sage.rings.abc.RealDoubleField) or isinstance(K, sage.rings.abc.ComplexDoubleField)
if algorithm is None:
if low_prec:
algorithm = 'either'
Expand All @@ -7943,8 +7943,8 @@ cdef class Polynomial(CommutativeAlgebraElement):
# We should support GSL, too. We could also support PARI's
# old Newton-iteration algorithm.

input_arbprec = (is_RealField(K) or
is_ComplexField(K))
input_arbprec = (isinstance(K, sage.rings.abc.RealField) or
isinstance(K, sage.rings.abc.ComplexField))

if algorithm == 'numpy' or algorithm == 'either':
if K.prec() > 53 and L.prec() > 53:
Expand Down Expand Up @@ -8082,7 +8082,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
# If we want the complex roots, and the input is not
# floating point, we convert to a real polynomial
# (except when the input coefficients are Gaussian rationals).
if is_ComplexDoubleField(L):
if isinstance(L, sage.rings.abc.ComplexDoubleField):
real_field = RDF
else:
real_field = RealField(L.prec())
Expand Down Expand Up @@ -8250,7 +8250,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
True
"""
K = self.base_ring()
if is_RealField(K) or is_RealDoubleField(K):
if isinstance(K, sage.rings.abc.RealField) or isinstance(K, sage.rings.abc.RealDoubleField):
return self.roots(multiplicities=False)

return self.roots(ring=RR, multiplicities=False)
Expand Down Expand Up @@ -8292,11 +8292,11 @@ cdef class Polynomial(CommutativeAlgebraElement):
True
"""
K = self.base_ring()
if is_RealField(K):
if isinstance(K, sage.rings.abc.RealField):
return self.roots(ring=ComplexField(K.prec()), multiplicities=False)
if is_RealDoubleField(K):
if isinstance(K, sage.rings.abc.RealDoubleField):
return self.roots(ring=CDF, multiplicities=False)
if is_ComplexField(K) or is_ComplexDoubleField(K):
if isinstance(K, sage.rings.abc.ComplexField) or isinstance(K, sage.rings.abc.ComplexDoubleField):
return self.roots(multiplicities=False)

return self.roots(ring=CC, multiplicities=False)
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/polynomial/polynomial_ring.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
from sage.misc.cachefunc import cached_method
from sage.misc.lazy_attribute import lazy_attribute

from sage.rings.real_mpfr import is_RealField
import sage.rings.abc
from sage.rings.fraction_field_element import FractionFieldElement
from sage.rings.finite_rings.element_base import FiniteRingElement

Expand Down Expand Up @@ -1995,7 +1995,7 @@ def __init__(self, base_ring, name="x", sparse=False, element_class=None, catego
else:
from sage.rings.polynomial.polynomial_number_field import Polynomial_relative_number_field_dense
element_class = Polynomial_relative_number_field_dense
elif is_RealField(base_ring):
elif isinstance(base_ring, sage.rings.abc.RealField):
element_class = PolynomialRealDense
elif isinstance(base_ring, sage.rings.complex_arb.ComplexBallField):
from sage.rings.polynomial.polynomial_complex_arb import Polynomial_complex_arb
Expand Down
Loading

0 comments on commit 6081489

Please sign in to comment.