Skip to content

Commit 5dfaef1

Browse files
author
Matthias Koeppe
committed
sage.rings.continued_fraction: Make imports from sage.combinat.words lazy
1 parent 13e4d12 commit 5dfaef1

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/sage/rings/continued_fraction.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,12 +208,20 @@
208208
import numbers
209209

210210
import sage.rings.abc
211+
212+
from sage.misc.lazy_import import lazy_import
211213
from sage.rings.infinity import Infinity
212214
from sage.rings.integer import Integer
213215
from sage.rings.integer_ring import ZZ
214216
from sage.structure.richcmp import rich_to_bool, richcmp_method
215217
from sage.structure.sage_object import SageObject
216218

219+
lazy_import('sage.combinat.words.abstract_word', 'Word_class')
220+
lazy_import('sage.combinat.words.finite_word', 'FiniteWord_class')
221+
lazy_import('sage.combinat.words.infinite_word', 'InfiniteWord_class')
222+
lazy_import('sage.combinat.words.word', 'Word')
223+
224+
217225
ZZ_0 = Integer(0)
218226
ZZ_1 = Integer(1)
219227
ZZ_m1 = Integer(-1)
@@ -2661,7 +2669,6 @@ def continued_fraction(x, value=None):
26612669
pass
26622670

26632671
# input for finite or ultimately periodic partial quotient expansion
2664-
from sage.combinat.words.finite_word import FiniteWord_class
26652672
if isinstance(x, FiniteWord_class):
26662673
x = list(x)
26672674

@@ -2675,12 +2682,10 @@ def continued_fraction(x, value=None):
26752682
return ContinuedFraction_periodic(x1, x2)
26762683

26772684
# input for infinite partial quotient expansion
2678-
from sage.combinat.words.infinite_word import InfiniteWord_class
26792685
from sage.misc.lazy_list import lazy_list_generic
26802686
if isinstance(x, (lazy_list_generic, InfiniteWord_class)):
26812687
return ContinuedFraction_infinite(x, value)
26822688

2683-
from sage.combinat.words.abstract_word import Word_class
26842689
if isinstance(x, Word_class):
26852690
raise ValueError("word with unknown length cannot be converted "
26862691
"to continued fractions")

0 commit comments

Comments
 (0)