@@ -51,7 +51,7 @@ TESTS::
51
51
# https://www.gnu.org/licenses/
52
52
# ****************************************************************************
53
53
54
- cdef is_FractionField, is_RealField, is_ComplexField
54
+ cdef is_FractionField
55
55
cdef ZZ, QQ, RR, CC, RDF, CDF
56
56
57
57
cimport cython
@@ -84,13 +84,14 @@ from sage.structure.richcmp cimport (richcmp, richcmp_item,
84
84
from sage.interfaces.singular import singular as singular_default, is_SingularElement
85
85
from sage.libs.all import pari, pari_gen, PariError
86
86
87
- from sage.rings.real_mpfr import RealField, is_RealField, RR
87
+ cimport sage.rings.abc
88
+ from sage.rings.real_mpfr import RealField, RR
88
89
89
- from sage.rings.complex_mpfr import is_ComplexField, ComplexField
90
+ from sage.rings.complex_mpfr import ComplexField
90
91
CC = ComplexField()
91
92
92
- from sage.rings.real_double import is_RealDoubleField, RDF
93
- from sage.rings.complex_double import is_ComplexDoubleField, CDF
93
+ from sage.rings.real_double import RDF
94
+ from sage.rings.complex_double import CDF
94
95
from sage.rings.real_mpfi import is_RealIntervalField
95
96
96
97
from sage.structure.coerce cimport coercion_model
@@ -7912,25 +7913,23 @@ cdef class Polynomial(CommutativeAlgebraElement):
7912
7913
7913
7914
late_import()
7914
7915
7915
- input_fp = (is_RealField(K)
7916
- or is_ComplexField(K)
7917
- or is_RealDoubleField(K)
7918
- or is_ComplexDoubleField(K))
7919
- output_fp = (is_RealField(L)
7920
- or is_ComplexField(L)
7921
- or is_RealDoubleField(L)
7922
- or is_ComplexDoubleField(L))
7923
- input_complex = (is_ComplexField(K)
7924
- or is_ComplexDoubleField(K))
7925
- output_complex = (is_ComplexField(L)
7926
- or is_ComplexDoubleField(L))
7916
+ input_fp = isinstance (K, (sage.rings.abc.RealField,
7917
+ sage.rings.abc.ComplexField,
7918
+ sage.rings.abc.RealDoubleField,
7919
+ sage.rings.abc.ComplexDoubleField))
7920
+ output_fp = isinstance (L, (sage.rings.abc.RealField,
7921
+ sage.rings.abc.ComplexField,
7922
+ sage.rings.abc.RealDoubleField,
7923
+ sage.rings.abc.ComplexDoubleField))
7924
+ input_complex = isinstance (K, (sage.rings.abc.ComplexField, sage.rings.abc.ComplexDoubleField))
7925
+ output_complex = isinstance (L, (sage.rings.abc.ComplexField, sage.rings.abc.ComplexDoubleField))
7927
7926
input_gaussian = (isinstance (K, NumberField_quadratic)
7928
7927
and list (K.polynomial()) == [1 , 0 , 1 ])
7929
7928
7930
7929
if input_fp and output_fp:
7931
7930
# allow for possibly using a fast but less reliable
7932
7931
# floating point algorithm from numpy
7933
- low_prec = is_RealDoubleField(K) or is_ComplexDoubleField(K )
7932
+ low_prec = isinstance (K, (sage.rings.abc.RealDoubleField, sage.rings.abc.ComplexDoubleField) )
7934
7933
if algorithm is None :
7935
7934
if low_prec:
7936
7935
algorithm = ' either'
@@ -7943,8 +7942,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
7943
7942
# We should support GSL, too. We could also support PARI's
7944
7943
# old Newton-iteration algorithm.
7945
7944
7946
- input_arbprec = (is_RealField(K) or
7947
- is_ComplexField(K))
7945
+ input_arbprec = isinstance (K, (sage.rings.abc.RealField, sage.rings.abc.ComplexField))
7948
7946
7949
7947
if algorithm == ' numpy' or algorithm == ' either' :
7950
7948
if K.prec() > 53 and L.prec() > 53 :
@@ -8082,7 +8080,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
8082
8080
# If we want the complex roots, and the input is not
8083
8081
# floating point, we convert to a real polynomial
8084
8082
# (except when the input coefficients are Gaussian rationals).
8085
- if is_ComplexDoubleField(L ):
8083
+ if isinstance (L, sage.rings.abc.ComplexDoubleField ):
8086
8084
real_field = RDF
8087
8085
else :
8088
8086
real_field = RealField(L.prec())
@@ -8250,7 +8248,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
8250
8248
True
8251
8249
"""
8252
8250
K = self .base_ring()
8253
- if is_RealField(K) or is_RealDoubleField(K ):
8251
+ if isinstance (K, (sage.rings.abc.RealField, sage.rings.abc.RealDoubleField) ):
8254
8252
return self .roots(multiplicities = False )
8255
8253
8256
8254
return self .roots(ring = RR, multiplicities = False )
@@ -8292,11 +8290,11 @@ cdef class Polynomial(CommutativeAlgebraElement):
8292
8290
True
8293
8291
"""
8294
8292
K = self .base_ring()
8295
- if is_RealField(K ):
8293
+ if isinstance (K, sage.rings.abc.RealField ):
8296
8294
return self .roots(ring = ComplexField(K.prec()), multiplicities = False )
8297
- if is_RealDoubleField(K ):
8295
+ if isinstance (K, sage.rings.abc.RealDoubleField ):
8298
8296
return self .roots(ring = CDF, multiplicities = False )
8299
- if is_ComplexField(K) or is_ComplexDoubleField(K ):
8297
+ if isinstance (K, (sage.rings.abc.ComplexField, sage.rings.abc.ComplexDoubleField) ):
8300
8298
return self .roots(multiplicities = False )
8301
8299
8302
8300
return self .roots(ring = CC, multiplicities = False )
0 commit comments