Skip to content

Commit 671f7d5

Browse files
author
Release Manager
committed
gh-36588: Replace relative imports by absolute ones in rings <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes #1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> As preparation for compiling with meson, we replace relative imports by absolute ones. Relative imports are not used consistently in the codebase and result in issues for doctesting with pytest (which admittedly is a limitation of pytest). We normalize the relative imports in `sage.rings` to be absolute imports. Small code-style improvements along the way (mainly to nicely order the imports) <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes #12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] The title is concise, informative, and self-explanatory. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - #12345: short description why this is a dependency - #34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: #36588 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
2 parents caa1068 + 9c4263d commit 671f7d5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+299
-266
lines changed

src/sage/rings/abc.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .ring cimport CommutativeRing, Field
1+
from sage.rings.ring cimport CommutativeRing, Field
22

33
cdef class RealField(Field):
44

src/sage/rings/all.py

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
# ****************************************************************************
1313
from sage.misc.lazy_import import lazy_import
1414

15-
from .all__sagemath_categories import *
15+
from sage.rings.all__sagemath_categories import *
1616

1717
# Ring base classes
18-
from .ring import (Ring, Field, CommutativeRing, IntegralDomain,
18+
from sage.rings.ring import (Ring, Field, CommutativeRing, IntegralDomain,
1919
DedekindDomain, PrincipalIdealDomain, EuclideanDomain)
2020

2121
# Ring element base classes
@@ -25,22 +25,22 @@
2525
EuclideanDomainElement, FieldElement)
2626

2727
# Ideals
28-
from .ideal import Ideal
28+
from sage.rings.ideal import Ideal
2929
ideal = Ideal
3030

3131
# Quotient
32-
from .quotient_ring import QuotientRing
32+
from sage.rings.quotient_ring import QuotientRing
3333

3434
# Infinities
35-
from .infinity import infinity, Infinity, InfinityRing, unsigned_infinity, UnsignedInfinityRing
35+
from sage.rings.infinity import infinity, Infinity, InfinityRing, unsigned_infinity, UnsignedInfinityRing
3636

3737
# Rational integers.
38-
from .integer_ring import IntegerRing, ZZ, crt_basis
39-
from .integer import Integer
38+
from sage.rings.integer_ring import IntegerRing, ZZ, crt_basis
39+
from sage.rings.integer import Integer
4040

4141
# Rational numbers
42-
from .rational_field import RationalField, QQ
43-
from .rational import Rational
42+
from sage.rings.rational_field import RationalField, QQ
43+
from sage.rings.rational import Rational
4444
Rationals = RationalField
4545

4646
# Integers modulo n.
@@ -49,120 +49,120 @@
4949
Integers = IntegerModRing
5050

5151
# Finite fields
52-
from .finite_rings.all import *
52+
from sage.rings.finite_rings.all import *
5353

5454
# Number field
55-
from .number_field.all import *
55+
from sage.rings.number_field.all import *
5656

5757
# Function field
58-
from .function_field.all import *
58+
from sage.rings.function_field.all import *
5959

6060
# Finite residue fields
61-
from .finite_rings.residue_field import ResidueField
61+
from sage.rings.finite_rings.residue_field import ResidueField
6262

6363
# p-adic field
64-
from .padics.all import *
65-
from .padics.padic_printing import _printer_defaults as padic_printing
64+
from sage.rings.padics.all import *
65+
from sage.rings.padics.padic_printing import _printer_defaults as padic_printing
6666

6767
# valuations
68-
from .valuation.all import *
68+
from sage.rings.valuation.all import *
6969

7070
# Semirings
71-
from .semirings.all import *
71+
from sage.rings.semirings.all import *
7272

7373
# Real numbers
74-
from .real_mpfr import (RealField, RR,
74+
from sage.rings.real_mpfr import (RealField, RR,
7575
create_RealNumber as RealNumber) # this is used by the preparser to wrap real literals -- very important.
7676
Reals = RealField
7777

78-
from .real_double import RealDoubleField, RDF, RealDoubleElement
78+
from sage.rings.real_double import RealDoubleField, RDF, RealDoubleElement
7979

80-
from .real_lazy import RealLazyField, RLF, ComplexLazyField, CLF
80+
from sage.rings.real_lazy import RealLazyField, RLF, ComplexLazyField, CLF
8181

8282
from sage.rings.real_arb import RealBallField, RBF
8383

8484
# Polynomial Rings and Polynomial Quotient Rings
85-
from .polynomial.all import *
85+
from sage.rings.polynomial.all import *
8686

8787

8888
# Algebraic numbers
89-
from .qqbar import (AlgebraicRealField, AA,
89+
from sage.rings.qqbar import (AlgebraicRealField, AA,
9090
AlgebraicReal,
9191
AlgebraicField, QQbar,
9292
AlgebraicNumber,
9393
number_field_elements_from_algebraics)
94-
from .universal_cyclotomic_field import UniversalCyclotomicField, E
94+
from sage.rings.universal_cyclotomic_field import UniversalCyclotomicField, E
9595

9696
# Intervals
97-
from .real_mpfi import (RealIntervalField,
97+
from sage.rings.real_mpfi import (RealIntervalField,
9898
RIF,
9999
RealInterval)
100100

101101
# Complex numbers
102-
from .complex_mpfr import ComplexField
103-
from .complex_mpfr import create_ComplexNumber as ComplexNumber
102+
from sage.rings.complex_mpfr import ComplexField
103+
from sage.rings.complex_mpfr import create_ComplexNumber as ComplexNumber
104104
Complexes = ComplexField
105-
from .complex_interval_field import ComplexIntervalField
106-
from .complex_interval import (create_ComplexIntervalFieldElement as ComplexIntervalFieldElement)
105+
from sage.rings.complex_interval_field import ComplexIntervalField
106+
from sage.rings.complex_interval import (create_ComplexIntervalFieldElement as ComplexIntervalFieldElement)
107107

108-
from .complex_double import ComplexDoubleField, ComplexDoubleElement, CDF
108+
from sage.rings.complex_double import ComplexDoubleField, ComplexDoubleElement, CDF
109109

110-
from .complex_mpc import MPComplexField
110+
from sage.rings.complex_mpc import MPComplexField
111111

112112
from sage.rings.complex_arb import ComplexBallField, CBF
113113

114114
lazy_import("sage.rings.imaginary_unit", "I")
115115

116116
# Power series rings
117-
from .power_series_ring import PowerSeriesRing
117+
from sage.rings.power_series_ring import PowerSeriesRing
118118

119119
# Laurent series ring in one variable
120-
from .laurent_series_ring import LaurentSeriesRing
120+
from sage.rings.laurent_series_ring import LaurentSeriesRing
121121

122122
# Lazy Laurent series ring
123123
lazy_import('sage.rings.lazy_series_ring', ['LazyLaurentSeriesRing', 'LazyPowerSeriesRing',
124124
'LazySymmetricFunctions', 'LazyDirichletSeriesRing'])
125125

126126
# Tate algebras
127-
from .tate_algebra import TateAlgebra
127+
from sage.rings.tate_algebra import TateAlgebra
128128

129129
# Puiseux series ring
130-
from .puiseux_series_ring import PuiseuxSeriesRing
130+
from sage.rings.puiseux_series_ring import PuiseuxSeriesRing
131131

132132
# Pseudo-ring of PARI objects.
133-
from .pari_ring import PariRing, Pari
133+
from sage.rings.pari_ring import PariRing, Pari
134134

135135
# Big-oh notation
136-
from .big_oh import O
136+
from sage.rings.big_oh import O
137137

138138
# Fraction field
139-
from .fraction_field import FractionField
139+
from sage.rings.fraction_field import FractionField
140140
Frac = FractionField
141141

142142
# Localization
143-
from .localization import Localization
143+
from sage.rings.localization import Localization
144144

145145
# c-finite sequences
146-
from .cfinite_sequence import CFiniteSequence, CFiniteSequences
146+
from sage.rings.cfinite_sequence import CFiniteSequence, CFiniteSequences
147147

148-
from .bernoulli_mod_p import bernoulli_mod_p, bernoulli_mod_p_single
148+
from sage.rings.bernoulli_mod_p import bernoulli_mod_p, bernoulli_mod_p_single
149149

150-
from .monomials import monomials
150+
from sage.rings.monomials import monomials
151151

152-
from .cc import CC
153-
from .cif import CIF
152+
from sage.rings.cc import CC
153+
from sage.rings.cif import CIF
154154

155155
# invariant theory
156-
from .invariants.all import *
156+
from sage.rings.invariants.all import *
157157

158-
from .fast_arith import prime_range
158+
from sage.rings.fast_arith import prime_range
159159

160160
# continued fractions
161161
from sage.rings.continued_fraction import (continued_fraction,
162162
continued_fraction_list)
163163

164164
# asymptotic ring
165-
from .asymptotic.all import *
165+
from sage.rings.asymptotic.all import *
166166

167167
# Register classes in numbers abc
168-
from . import numbers_abc
168+
from sage.rings import numbers_abc
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Ring base classes
2-
from .ring import Ring
3-
2+
from sage.rings.ring import Ring
43
# Ideals
5-
from .ideal import Ideal
4+
from sage.rings.ideal import Ideal
5+
66
ideal = Ideal

src/sage/rings/big_oh.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
from sage.arith.misc import factor
1313
from sage.misc.lazy_import import lazy_import
14+
1415
lazy_import('sage.rings.padics.factory', ['Qp', 'Zp'])
1516
lazy_import('sage.rings.padics.padic_generic_element', 'pAdicGenericElement')
1617
from sage.rings.polynomial.polynomial_element import Polynomial
@@ -25,10 +26,12 @@
2526
except ImportError:
2627
PuiseuxSeries = ()
2728

28-
from . import power_series_ring_element
29-
from . import integer
30-
from . import rational
31-
from . import multi_power_series_ring_element
29+
from sage.rings import (
30+
integer,
31+
multi_power_series_ring_element,
32+
power_series_ring_element,
33+
rational,
34+
)
3235

3336

3437
def O(*x, **kwds):

src/sage/rings/cc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
from .complex_mpfr import ComplexField
1+
from sage.rings.complex_mpfr import ComplexField
22

33
CC = ComplexField()

src/sage/rings/cif.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
from .complex_interval_field import ComplexIntervalField
1+
from sage.rings.complex_interval_field import ComplexIntervalField
22

33
CIF = ComplexIntervalField()

src/sage/rings/complex_conversion.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from .complex_double cimport ComplexDoubleElement
2-
from .complex_mpfr cimport ComplexNumber
1+
from sage.rings.complex_double cimport ComplexDoubleElement
2+
from sage.rings.complex_mpfr cimport ComplexNumber
33
from sage.libs.mpfr cimport mpfr_get_d, MPFR_RNDN
44
from sage.libs.gsl.complex cimport GSL_SET_COMPLEX
55

src/sage/rings/complex_double.pyx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ complex_double_element_gamma = None
105105
complex_double_element_gamma_inc = None
106106
complex_double_element_zeta = None
107107

108-
from .complex_conversion cimport CCtoCDF
108+
from sage.rings.complex_conversion cimport CCtoCDF
109109

110-
from .real_double cimport RealDoubleElement, double_repr
111-
from .real_double import RDF
110+
from sage.rings.real_double cimport RealDoubleElement, double_repr
111+
from sage.rings.real_double import RDF
112112
from sage.rings.integer_ring import ZZ
113113
from sage.structure.richcmp cimport rich_to_bool
114114

src/sage/rings/complex_interval.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ from sage.libs.mpfr.types cimport mpfr_prec_t
22
from sage.libs.mpfi.types cimport mpfi_t
33

44
cimport sage.structure.element
5-
from .real_mpfi cimport RealIntervalFieldElement, RealIntervalField_class
5+
from sage.rings.real_mpfi cimport RealIntervalFieldElement, RealIntervalField_class
66

77

88
cdef class ComplexIntervalFieldElement(sage.structure.element.FieldElement):

src/sage/rings/complex_interval.pyx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ from sage.arith.constants cimport LOG_TEN_TWO_PLUS_EPSILON
6666

6767
from sage.structure.element cimport FieldElement
6868
from sage.structure.parent cimport Parent
69-
from .complex_mpfr cimport ComplexNumber
69+
from sage.rings.complex_mpfr cimport ComplexNumber
7070
from sage.rings.integer cimport Integer
7171
cimport sage.rings.real_mpfi as real_mpfi
72-
from .real_mpfr cimport RealNumber
73-
from .convert.mpfi cimport mpfi_set_sage
74-
from .infinity import infinity
72+
from sage.rings.real_mpfr cimport RealNumber
73+
from sage.rings.convert.mpfi cimport mpfi_set_sage
74+
from sage.rings.infinity import infinity
7575

7676

7777
def is_ComplexIntervalFieldElement(x):

0 commit comments

Comments
 (0)