Skip to content

Commit 97f9af0

Browse files
committed
Refactor make_gap_matrix to use make_gap_list
1 parent 0bdc010 commit 97f9af0

File tree

1 file changed

+4
-24
lines changed

1 file changed

+4
-24
lines changed

src/sage/libs/gap/element.pyx

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -84,30 +84,10 @@ cdef Obj make_gap_matrix(sage_list, gap_ring) except NULL:
8484
8585
The list of the elements in ``sage_list`` as a Gap ``Obj``.
8686
"""
87-
cdef Obj l
88-
cdef GapElement elem
89-
cdef GapElement one
90-
cdef int i
91-
if gap_ring is not None:
92-
one = <GapElement>gap_ring.One()
93-
else:
94-
one = <GapElement>libgap(1)
95-
96-
try:
97-
GAP_Enter()
98-
l = GAP_NewPlist(0)
99-
100-
for i, x in enumerate(sage_list):
101-
if not isinstance(x, GapElement):
102-
elem = <GapElement>libgap(x)
103-
elem = elem * one
104-
else:
105-
elem = <GapElement>x
106-
107-
GAP_AssList(l, i + 1, elem.value)
108-
return l
109-
finally:
110-
GAP_Leave()
87+
cdef GapElement one = gap_ring.One() if gap_ring is not None else libgap(1)
88+
return make_gap_list([
89+
x if isinstance(x, GapElement) else <GapElement>libgap(x) * one
90+
for x in sage_list])
11191

11292

11393
cdef char *capture_stdout(Obj func, Obj obj) noexcept:

0 commit comments

Comments
 (0)