Skip to content

Commit 98974d5

Browse files
committed
use attribute access to derefence
1 parent 2367bc9 commit 98974d5

File tree

2 files changed

+23
-31
lines changed

2 files changed

+23
-31
lines changed

src/sage/data_structures/list_of_pairs.pyx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ cdef class ListOfPairs:
7272
...
7373
OverflowError: can't convert negative value to size_t
7474
"""
75-
cdef pair_s pair = self.get(index)[0]
75+
cdef pair_s* pair = self.get(index)
7676
return (smallInteger(pair.first), smallInteger(pair.second))
7777

7878
def __setitem__(self, size_t index, value):
@@ -108,14 +108,14 @@ cdef class ListOfPairs:
108108
return
109109

110110
cdef pair_s* pair_pt = self.get(index)
111-
pair_pt[0].first = first
112-
pair_pt[0].second = second
111+
pair_pt.first = first
112+
pair_pt.second = second
113113

114114
cdef inline int add(self, size_t first, size_t second) except -1:
115115
"""
116116
Add a pair to the list.
117117
"""
118118
self.enlarge()
119119
cdef pair_s* last = self.get(self.length - 1)
120-
last[0].first = first
121-
last[0].second = second
120+
last.first = first
121+
last.second = second

src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,8 @@ from .conversions \
102102
from .conversions cimport Vrep_list_to_bit_rep
103103
from sage.misc.cachefunc import cached_method
104104

105-
from sage.data_structures.list_of_pairs cimport pair_s
106-
from sage.rings.integer cimport smallInteger
107-
from cysignals.signals cimport sig_check
105+
from sage.rings.integer cimport smallInteger
106+
from cysignals.signals cimport sig_check
108107

109108
from .face_data_structure cimport face_len_atoms, face_init, face_free
110109
from .face_iterator cimport iter_t, parallel_f_vector
@@ -1232,15 +1231,10 @@ cdef class CombinatorialPolyhedron(SageObject):
12321231
def f(size_t i):
12331232
return smallInteger(i)
12341233

1235-
# Getting the indices of the `i`-th edge.
1236-
cdef pair_s edge
1237-
1238-
def get_edge(size_t i):
1239-
edge = self._edges.get(i)[0]
1240-
return (f(edge.first), f(edge.second))
1241-
12421234
cdef size_t j
1243-
return tuple(get_edge(j) for j in range(self._edges.length))
1235+
return tuple((f(self._edges.get(j).first),
1236+
f(self._edges.get(j).second))
1237+
for j in range(self._edges.length))
12441238

12451239
def vertex_graph(self, names=True, algorithm=None):
12461240
r"""
@@ -1328,14 +1322,14 @@ cdef class CombinatorialPolyhedron(SageObject):
13281322
from sage.matrix.constructor import matrix
13291323
cdef Matrix_dense adjacency_matrix = matrix(
13301324
ZZ, self.n_Vrepresentation(), self.n_Vrepresentation(), 0)
1331-
cdef size_t i
1332-
cdef pair_s edge
1325+
cdef size_t i, first, second
13331326

13341327
self._compute_edges(self._algorithm_to_dual(algorithm))
13351328
for i in range(self._edges.length):
1336-
edge = self._edges.get(i)[0]
1337-
adjacency_matrix.set_unsafe_int(edge.first, edge.second, 1)
1338-
adjacency_matrix.set_unsafe_int(edge.second, edge.first, 1)
1329+
first = self._edges.get(i).first
1330+
second = self._edges.get(i).second
1331+
adjacency_matrix.set_unsafe_int(first, second, 1)
1332+
adjacency_matrix.set_unsafe_int(second, first, 1)
13391333
adjacency_matrix.set_immutable()
13401334
return adjacency_matrix
13411335

@@ -1458,17 +1452,15 @@ cdef class CombinatorialPolyhedron(SageObject):
14581452
def f(size_t i):
14591453
return smallInteger(i)
14601454

1461-
cdef pair_s ridge
1462-
14631455
if add_equations and names:
14641456
return tuple(
1465-
((f(self._ridges.get(i)[0].first),) + self.equations(),
1466-
(f(self._ridges.get(i)[0].second),) + self.equations())
1457+
((f(self._ridges.get(i).first),) + self.equations(),
1458+
(f(self._ridges.get(i).second),) + self.equations())
14671459
for i in range (n_ridges))
14681460
else:
14691461
return tuple(
1470-
(f(self._ridges.get(i)[0].first),
1471-
f(self._ridges.get(i)[0].second))
1462+
(f(self._ridges.get(i).first),
1463+
f(self._ridges.get(i).second))
14721464
for i in range (n_ridges))
14731465

14741466
@cached_method
@@ -1514,13 +1506,13 @@ cdef class CombinatorialPolyhedron(SageObject):
15141506
cdef Matrix_dense adjacency_matrix = matrix(
15151507
ZZ, self.n_facets(), self.n_facets(), 0)
15161508
cdef size_t i
1517-
cdef pair_s ridge
15181509

15191510
self._compute_ridges(self._algorithm_to_dual(algorithm))
15201511
for i in range(self._ridges.length):
1521-
ridge = self._ridges.get(i)[0]
1522-
adjacency_matrix.set_unsafe_int(ridge.first, ridge.second, 1)
1523-
adjacency_matrix.set_unsafe_int(ridge.second, ridge.first, 1)
1512+
first = self._ridges.get(i).first
1513+
second = self._ridges.get(i).second
1514+
adjacency_matrix.set_unsafe_int(first, second, 1)
1515+
adjacency_matrix.set_unsafe_int(second, first, 1)
15241516
adjacency_matrix.set_immutable()
15251517
return adjacency_matrix
15261518

0 commit comments

Comments
 (0)