Skip to content

Commit 33e6c65

Browse files
author
Jonathan Kliem
committed
improve conversion rational <-> pari
1 parent 056b8d4 commit 33e6c65

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/sage/rings/rational.pyx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ except ImportError:
110110
pari_gen = ()
111111

112112

113+
set_rational_from_gen = None
114+
new_gen_from_rational = None
115+
116+
113117
cdef sage.rings.fast_arith.arith_int ai
114118
ai = sage.rings.fast_arith.arith_int()
115119

@@ -650,7 +654,9 @@ cdef class Rational(sage.structure.element.FieldElement):
650654
mpq_canonicalize(self.value)
651655

652656
elif isinstance(x, pari_gen):
653-
from sage.libs.pari.convert_sage import set_rational_from_gen
657+
global set_rational_from_gen
658+
if set_rational_from_gen is None:
659+
from sage.libs.pari.convert_sage import set_rational_from_gen
654660
set_rational_from_gen(self, x)
655661

656662
elif isinstance(x, list) and len(x) == 1:
@@ -3777,7 +3783,9 @@ cdef class Rational(sage.structure.element.FieldElement):
37773783
sage: m.type()
37783784
't_FRAC'
37793785
"""
3780-
from sage.libs.pari.convert_sage import new_gen_from_rational
3786+
global new_gen_from_rational
3787+
if new_gen_from_rational is None:
3788+
from sage.libs.pari.convert_sage import new_gen_from_rational
37813789
return new_gen_from_rational(self)
37823790

37833791
def _interface_init_(self, I=None):

0 commit comments

Comments
 (0)