Skip to content

Commit

Permalink
Deprecate is_FunctionFieldElement
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthias Koeppe committed Jun 26, 2024
1 parent ab24dac commit ff5309d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
8 changes: 8 additions & 0 deletions src/sage/rings/function_field/element.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,18 @@ def is_FunctionFieldElement(x):
sage: t = FunctionField(QQ,'t').gen()
sage: sage.rings.function_field.element.is_FunctionFieldElement(t)
doctest:warning...
DeprecationWarning: The function is_FunctionFieldElement is deprecated;
use '....parent() in FunctionFields()' instead.
See https://github.com/sagemath/sage/issues/38289 for details.
True
sage: sage.rings.function_field.element.is_FunctionFieldElement(0)
False
"""
from sage.misc.superseded import deprecation_cython
deprecation_cython(38289,
"The function is_FunctionFieldElement is deprecated; "
"use '....parent() in FunctionFields()' instead.")
if isinstance(x, FunctionFieldElement):
return True
from sage.rings.function_field.function_field import is_FunctionField
Expand Down
29 changes: 14 additions & 15 deletions src/sage/schemes/berkovich/berkovich_cp_element.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,18 @@
# https://www.gnu.org/licenses/
# *****************************************************************************

from sage.structure.element import Element
from sage.structure.element import Expression
import sage.rings.abc
from sage.rings.real_mpfr import RR, RealNumber
from sage.rings.padics.padic_generic_element import pAdicGenericElement

from sage.categories.function_fields import FunctionFields
from sage.rings.infinity import Infinity
from sage.rings.integer_ring import ZZ
from sage.rings.padics.padic_base_generic import pAdicBaseGeneric
from sage.schemes.projective.projective_space import ProjectiveSpace
from sage.schemes.projective.projective_point import SchemeMorphism_point_projective_field
from sage.rings.padics.padic_generic_element import pAdicGenericElement
from sage.rings.rational_field import QQ
from sage.rings.integer_ring import ZZ
from sage.rings.infinity import Infinity
from sage.rings.real_mpfr import RealNumber, RR
from sage.schemes.projective.projective_point import SchemeMorphism_point_projective_field
from sage.schemes.projective.projective_space import ProjectiveSpace
from sage.structure.element import Element, Expression


class Berkovich_Element(Element):
Expand Down Expand Up @@ -82,7 +83,6 @@ def __init__(self, parent, center, radius=None, power=None, prec=20, space_type=
sage: B(4)
Type I point centered at 4 + O(5^20)
"""
from sage.rings.function_field.element import is_FunctionFieldElement
from sage.rings.polynomial.polynomial_element import Polynomial
from sage.rings.fraction_field_element import FractionFieldElement_1poly_field
self._type = None
Expand All @@ -107,8 +107,7 @@ def __init__(self, parent, center, radius=None, power=None, prec=20, space_type=
if not error_check:
return

# is_FunctionFieldElement calls .parent
elif hasattr(center, "parent") and hasattr(radius, 'parent'):
elif isinstance(center, Element) and isinstance(radius, Element):
from sage.rings.polynomial.multi_polynomial import MPolynomial
if isinstance(center, MPolynomial):
try:
Expand All @@ -117,10 +116,10 @@ def __init__(self, parent, center, radius=None, power=None, prec=20, space_type=
raise TypeError('center was %s, a multivariable polynomial' % center)

# check if the radius and the center are functions
center_func_check = is_FunctionFieldElement(center) or isinstance(center, Polynomial) or\
isinstance(center, FractionFieldElement_1poly_field) or isinstance(center, Expression)
radius_func_check = is_FunctionFieldElement(radius) or isinstance(radius, Polynomial) or\
isinstance(radius, FractionFieldElement_1poly_field) or isinstance(radius, Expression)
center_func_check = center.parent() in FunctionFields() or \
isinstance(center, (Polynomial, FractionFieldElement_1poly_field, Expression))
radius_func_check = radius.parent() in FunctionFields() or \
isinstance(radius, (Polynomial, FractionFieldElement_1poly_field, Expression))

if center_func_check:
# check that both center and radii are supported univariate function
Expand Down

0 comments on commit ff5309d

Please sign in to comment.