Skip to content

Commit b82f457

Browse files
author
Release Manager
committed
gh-35106: sage.{arith,crypto,databases,dynamics,lfunctions,quadratic_forms}: Replace imports from sage.*.all for namespace packages <!-- ^^^^^ 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" --> ### 📚 Description Fixes #34955 <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> <!-- If it resolves an open issue, please link to the issue here. For example "Closes #1337" --> ### 📝 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! --> - [ ] I have made sure that the title is self-explanatory and the description concisely explains the PR. - [x] I have linked an issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open pull requests that this PR logically depends on --> <!-- - #xyz: short description why this is a dependency - #abc: ... --> Depends on #35119 URL: #35106 Reported by: Matthias Köppe Reviewer(s): Dima Pasechnik, Matthias Köppe, Tobias Diez
2 parents 308cdec + a9d9420 commit b82f457

File tree

88 files changed

+364
-285
lines changed

Some content is hidden

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

88 files changed

+364
-285
lines changed

src/.relint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@
4949
Hint: namespace package. Type import_statements("SOME_IDENTIFIER") to find a more specific import,
5050
Hint: or use 'sage --fiximports' to fix automatically in the source file.
5151
# Keep in sync with SAGE_ROOT/src/sage/misc/replace_dot_all.py
52-
pattern: 'from\s+sage(|[.](arith|categories|combinat|ext|graphs(|[.]decompositions)|interfaces|libs|matrix|misc|numerical(|[.]backends)|rings|sets))[.]all\s+import'
52+
pattern: 'from\s+sage(|[.](arith|categories|combinat|ext|graphs(|[.]decompositions)|interfaces|libs|matrix|misc|numerical(|[.]backends)|rings(|[.]finite_rings)|sets))[.]all\s+import'
5353
filePattern: '.*[.](py|pyx|pxi)$'
5454
error: false # Make this a warning instead of an error for now

src/sage/arith/multi_modular.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ from cysignals.memory cimport check_allocarray, check_reallocarray, sig_free
1616

1717
from sage.libs.gmp.mpz cimport *
1818
from sage.rings.integer cimport Integer, smallInteger
19-
from sage.arith.all import random_prime
19+
from sage.arith.misc import random_prime
2020
from types import GeneratorType
2121
from sage.ext.stdsage cimport PY_NEW
2222
from cpython.object cimport PyObject_RichCompare

src/sage/arith/numerical_approx.pyx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ Generic numerical approximation function
1515
from sage.structure.parent cimport Parent
1616
from sage.structure.element cimport parent
1717
cdef Parent CDF
18-
from sage.rings.all import RealField, ComplexField, CDF
18+
from sage.rings.real_mpfr import RealField
19+
from sage.rings.complex_mpfr import ComplexField
20+
from sage.rings.complex_double import CDF
1921

2022

2123
def numerical_approx_generic(x, prec):

src/sage/crypto/boolean_function.pyx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ from sage.rings.integer_ring import ZZ
3838
from sage.rings.integer cimport Integer
3939
from sage.rings.finite_rings.finite_field_constructor import GF
4040
from sage.rings.polynomial.pbori.pbori import BooleanPolynomial
41-
from sage.rings.finite_rings.finite_field_constructor import is_FiniteField
42-
from sage.rings.finite_rings.finite_field_givaro import FiniteField_givaro
41+
from sage.rings.finite_rings.finite_field_base import FiniteField
4342
from sage.rings.polynomial.polynomial_element import Polynomial
4443

4544
from sage.misc.superseded import deprecated_function_alias
@@ -329,11 +328,15 @@ cdef class BooleanFunction(SageObject):
329328

330329
elif isinstance(x, Polynomial):
331330
K = x.base_ring()
332-
if is_FiniteField(K) and K.characteristic() == 2:
331+
if isinstance(K, FiniteField) and K.characteristic() == 2:
333332
self._nvariables = K.degree()
334333
bitset_init(self._truth_table, <mp_bitcnt_t> (1<<self._nvariables))
335334
bitset_zero(self._truth_table)
336-
if isinstance(K,FiniteField_givaro): #the ordering is not the same in this case
335+
try:
336+
from sage.rings.finite_rings.finite_field_givaro import FiniteField_givaro
337+
except ImportError:
338+
FiniteField_givaro = ()
339+
if isinstance(K, FiniteField_givaro): # the ordering is not the same in this case
337340
for u in K:
338341
bitset_set_to(self._truth_table, ZZ(u._vector_().list(),2) , (x(u)).trace())
339342
else:
@@ -1008,7 +1011,7 @@ cdef class BooleanFunction(SageObject):
10081011
from sage.misc.misc_c import prod
10091012

10101013
from sage.matrix.constructor import Matrix
1011-
from sage.arith.all import binomial
1014+
from sage.arith.misc import binomial
10121015
M = Matrix(GF(2), sum(binomial(self._nvariables,i) for i in range(d+1)), len(s))
10131016

10141017
cdef long i

src/sage/crypto/classical.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
from sage.rings.integer import Integer
5656
from sage.rings.integer_ring import ZZ
5757
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
58-
from sage.arith.all import xgcd, inverse_mod
58+
from sage.arith.misc import inverse_mod, xgcd
5959
from random import randint
6060
from sage.matrix.matrix_space import MatrixSpace
6161

src/sage/crypto/lattice.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ def gen_lattice(type='modular', n=4, m=8, q=11, seed=None,
256256
A = A.stack(R.random_element().matrix())
257257

258258
elif type == 'cyclotomic':
259-
from sage.arith.all import euler_phi
259+
from sage.arith.misc import euler_phi
260260
from sage.misc.functional import cyclotomic_polynomial
261261

262262
# we assume that n+1 <= min( euler_phi^{-1}(n) ) <= 2*n

src/sage/crypto/lfsr.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,9 @@
128128
import copy
129129

130130
from sage.structure.all import Sequence
131-
from sage.rings.all import Integer, PolynomialRing
132-
from sage.rings.finite_rings.finite_field_constructor import is_FiniteField
131+
from sage.rings.finite_rings.finite_field_base import FiniteField
132+
from sage.rings.integer import Integer
133+
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
133134

134135

135136
def lfsr_sequence(key, fill, n):
@@ -179,7 +180,7 @@ def lfsr_sequence(key, fill, n):
179180
raise TypeError("key must be a list")
180181
key = Sequence(key)
181182
F = key.universe()
182-
if not is_FiniteField(F):
183+
if not isinstance(F, FiniteField):
183184
raise TypeError("universe of sequence must be a finite field")
184185

185186
s = fill

src/sage/crypto/lwe.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,23 +91,25 @@
9191
- [CGW2013]_
9292
"""
9393

94+
from sage.arith.misc import euler_phi, next_prime
9495
from sage.functions.log import log
9596
from sage.functions.other import floor, ceil
96-
from sage.misc.functional import sqrt
9797
from sage.misc.functional import cyclotomic_polynomial, round
98-
from sage.misc.randstate import set_random_seed
98+
from sage.misc.functional import sqrt
9999
from sage.misc.prandom import randint
100+
from sage.misc.randstate import set_random_seed
100101
from sage.modules.free_module import FreeModule
101102
from sage.modules.free_module_element import random_vector, vector
102103
from sage.numerical.optimize import find_root
103-
from sage.rings.all import ZZ, IntegerModRing, RR
104-
from sage.arith.all import next_prime, euler_phi
104+
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
105+
from sage.rings.integer_ring import ZZ
106+
from sage.rings.real_mpfr import RR
107+
from sage.stats.distributions.discrete_gaussian_integer import DiscreteGaussianDistributionIntegerSampler
108+
from sage.stats.distributions.discrete_gaussian_polynomial import DiscreteGaussianDistributionPolynomialSampler
105109
from sage.structure.element import parent
106110
from sage.structure.sage_object import SageObject
107111
from sage.symbolic.constants import pi
108112
from sage.symbolic.ring import SR
109-
from sage.stats.distributions.discrete_gaussian_integer import DiscreteGaussianDistributionIntegerSampler
110-
from sage.stats.distributions.discrete_gaussian_polynomial import DiscreteGaussianDistributionPolynomialSampler
111113

112114

113115
class UniformSampler(SageObject):

src/sage/crypto/mq/rijndael_gf.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,8 @@
424424

425425
from sage.matrix.constructor import matrix
426426
from sage.matrix.constructor import column_matrix
427-
from sage.structure.element import Matrix
427+
from sage.structure.element import Element, Matrix
428+
from sage.rings.finite_rings.finite_field_base import FiniteField as FiniteField_base
428429
from sage.rings.finite_rings.finite_field_constructor import FiniteField
429430
from sage.structure.sage_object import SageObject
430431
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
@@ -757,10 +758,9 @@ def _GF_to_hex(self, GF):
757758
sage: rgf._GF_to_hex(output)
758759
'e142cd5fcd9d6d94a3340793034391b5'
759760
"""
760-
from sage.rings.finite_rings.element_base import is_FiniteFieldElement
761761
if not isinstance(GF, Matrix) and \
762762
not isinstance(GF, list) and \
763-
not is_FiniteFieldElement(GF):
763+
not (isinstance(GF, Element) and isinstance(GF.parent(), FiniteField_base)):
764764
msg = ("keyword 'GF' must be a matrix over {0}, a list of "
765765
"elements from {0}, or a single element from {0}")
766766
raise TypeError(msg.format(self._F))
@@ -883,10 +883,9 @@ def _GF_to_bin(self, GF):
883883
sage: rgf._GF_to_bin(output)
884884
'11011000000111111111100000011011110110000001111111111000000110111101100000011111111110000001101111011000000111111111100000011011'
885885
"""
886-
from sage.rings.finite_rings.element_base import is_FiniteFieldElement
887886
if not isinstance(GF, Matrix) and \
888887
not isinstance(GF, list) and \
889-
not is_FiniteFieldElement(GF):
888+
not (isinstance(GF, Element) and isinstance(GF.parent(), FiniteField_base)):
890889
msg = ("keyword 'GF' must be a matrix over {0}, a list of "
891890
"elements from {0}, or a single element from {0}")
892891
raise TypeError(msg.format(self))

src/sage/crypto/public_key/blum_goldwasser.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,16 @@
3030

3131
from operator import xor
3232

33+
from sage.arith.misc import gcd, power_mod, xgcd
3334
from sage.crypto.cryptosystem import PublicKeyCryptosystem
34-
from sage.crypto.util import is_blum_prime
35-
from sage.crypto.util import least_significant_bits
36-
from sage.crypto.util import random_blum_prime
35+
from sage.crypto.util import is_blum_prime, least_significant_bits, random_blum_prime
3736
from sage.functions.log import log
3837
from sage.functions.other import Function_floor
3938
from sage.monoids.string_monoid import BinaryStrings
40-
from sage.arith.all import gcd, power_mod, xgcd
4139
from sage.rings.finite_rings.integer_mod import Mod as mod
4240
from sage.rings.finite_rings.integer_mod_ring import IntegerModFactory
4341

42+
4443
floor = Function_floor()
4544
IntegerModRing = IntegerModFactory("IntegerModRing")
4645

0 commit comments

Comments
 (0)