@@ -29,34 +29,34 @@ namespace geos
2929namespace graph
3030{
3131
32- size_t getGraphNodeDegree ( idx_t node, const std::vector< idx_t > & xadj )
32+ size_t getGraphNodeDegree ( size_t node, const stdVector< size_t > & xadj )
3333{
3434 return xadj[node + 1 ] - xadj[node];
3535}
3636
3737
38- std::unordered_set< idx_t > getGraphNodeNeighbors ( idx_t node, const std::vector< idx_t > & xadj, const std::vector< idx_t > & adjncy )
38+ std::unordered_set< size_t > getGraphNodeNeighbors ( size_t node, const stdVector< size_t > & xadj, const stdVector< size_t > & adjncy )
3939{
40- std::unordered_set< idx_t > neighbors;
41- for ( idx_t i = xadj[node]; i < xadj[node + 1 ]; ++i )
40+ std::unordered_set< size_t > neighbors;
41+ for ( size_t i = xadj[node]; i < xadj[node + 1 ]; ++i )
4242 {
4343 neighbors.insert ( adjncy[i] );
4444 }
4545 return neighbors;
4646}
4747
4848
49- bool isGraphValid ( const std::vector< idx_t > & xadj,
50- const std::vector< idx_t > & adjncy )
49+ bool isGraphValid ( const stdVector< size_t > & xadj,
50+ const stdVector< size_t > & adjncy )
5151{
52- idx_t num_nodes = xadj.size () - 1 ;
52+ size_t num_nodes = xadj.size () - 1 ;
5353
54- for ( idx_t i = 0 ; i < num_nodes; ++i )
54+ for ( size_t i = 0 ; i < num_nodes; ++i )
5555 {
56- std::unordered_set< idx_t > neighbors;
57- for ( idx_t j = xadj[i]; j < xadj[i + 1 ]; ++j )
56+ std::unordered_set< size_t > neighbors;
57+ for ( size_t j = xadj[i]; j < xadj[i + 1 ]; ++j )
5858 {
59- idx_t neighbor = adjncy[j];
59+ size_t neighbor = adjncy[j];
6060
6161 // Check for out-of-bounds indices
6262 if ( neighbor >= num_nodes )
@@ -75,7 +75,7 @@ bool isGraphValid( const std::vector< idx_t > & xadj,
7575
7676 // Check for bidirectional connection
7777 bool bidirectional = false ;
78- for ( idx_t k = xadj[neighbor]; k < xadj[neighbor + 1 ]; ++k )
78+ for ( size_t k = xadj[neighbor]; k < xadj[neighbor + 1 ]; ++k )
7979 {
8080 if ( adjncy[k] == i )
8181 {
@@ -95,9 +95,9 @@ bool isGraphValid( const std::vector< idx_t > & xadj,
9595}
9696
9797
98- std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphRandom ( size_t numVertices, size_t numEdges )
98+ std::tuple< stdVector< size_t >, stdVector< size_t > > generateGraphRandom ( size_t numVertices, size_t numEdges )
9999{
100- std::vector < std::pair< size_t , size_t > > edges;
100+ stdVector < std::pair< size_t , size_t > > edges;
101101 srand ( static_cast < unsigned int >(time ( 0 )));
102102
103103 // Generate random edges
@@ -116,8 +116,8 @@ std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphRandom( si
116116 std::sort ( edges.begin (), edges.end ());
117117
118118 // Initialize xadj and adjncy
119- std::vector< idx_t > xadj ( numVertices + 1 , 0 );
120- std::vector< idx_t > adjncy;
119+ stdVector< size_t > xadj ( numVertices + 1 , 0 );
120+ stdVector< size_t > adjncy;
121121 adjncy.reserve ( edges.size ());
122122
123123 // Fill xadj and adjncy
@@ -142,25 +142,25 @@ std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphRandom( si
142142}
143143
144144
145- std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphCartPartitionning3D ( idx_t nx, idx_t ny, idx_t nz, const std::vector< std::array < int , 3 > > & neighbor_offsets )
145+ std::tuple< stdVector< size_t >, stdVector< size_t > > generateGraphCartPartitioning3D ( size_t nx, size_t ny, size_t nz, const stdVector< stdArray < int , 3 > > & neighbor_offsets )
146146{
147- idx_t num_nodes = nx * ny * nz;
148- std::vector< idx_t > xadj ( num_nodes + 1 , 0 );
149- std::vector< idx_t > adjncy;
147+ size_t num_nodes = nx * ny * nz;
148+ stdVector< size_t > xadj ( num_nodes + 1 , 0 );
149+ stdVector< size_t > adjncy;
150150
151- auto getNodeIndex = [nx, ny] ( const idx_t x, const idx_t y, const idx_t z )
151+ auto getNodeIndex = [nx, ny] ( const size_t x, const size_t y, const size_t z )
152152 {
153153 return x + nx * (y + ny * z);
154154 };
155155
156- idx_t node_counter = 0 ;
157- for ( idx_t z = 0 ; z < nz; ++z )
156+ size_t node_counter = 0 ;
157+ for ( size_t z = 0 ; z < nz; ++z )
158158 {
159- for ( idx_t y = 0 ; y < ny; ++y )
159+ for ( size_t y = 0 ; y < ny; ++y )
160160 {
161- for ( idx_t x = 0 ; x < nx; ++x )
161+ for ( size_t x = 0 ; x < nx; ++x )
162162 {
163- std::vector< idx_t > neighbors;
163+ stdVector< size_t > neighbors;
164164 for ( const auto & offset : neighbor_offsets )
165165 {
166166
@@ -186,17 +186,17 @@ std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphCartPartit
186186 return {xadj, adjncy};
187187}
188188
189- std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphCartPartitionning3D6 ( idx_t nx, idx_t ny, idx_t nz )
189+ std::tuple< stdVector< size_t >, stdVector< size_t > > generateGraphCartPartitioning3D6 ( size_t nx, size_t ny, size_t nz )
190190{
191- std::vector< std::array < int , 3 > > neighbor_offsets = {
191+ stdVector< stdArray < int , 3 > > neighbor_offsets = {
192192 {-1 , 0 , 0 }, {1 , 0 , 0 }, {0 , -1 , 0 }, {0 , 1 , 0 }, {0 , 0 , -1 }, {0 , 0 , 1 }
193193 };
194- return generateGraphCartPartitionning3D ( nx, ny, nz, neighbor_offsets );
194+ return generateGraphCartPartitioning3D ( nx, ny, nz, neighbor_offsets );
195195}
196196
197- std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphCartPartitionning3D26 ( idx_t nx, idx_t ny, idx_t nz )
197+ std::tuple< stdVector< size_t >, stdVector< size_t > > generateGraphCartPartitioning3D26 ( size_t nx, size_t ny, size_t nz )
198198{
199- std::vector< std::array < int , 3 > > neighbor_offsets;
199+ stdVector< stdArray < int , 3 > > neighbor_offsets;
200200 for ( int dz = -1 ; dz <= 1 ; ++dz )
201201 {
202202 for ( int dy = -1 ; dy <= 1 ; ++dy )
@@ -210,7 +210,7 @@ std::tuple< std::vector< idx_t >, std::vector< idx_t > > generateGraphCartPartit
210210 }
211211 }
212212 }
213- return generateGraphCartPartitionning3D ( nx, ny, nz, neighbor_offsets );
213+ return generateGraphCartPartitioning3D ( nx, ny, nz, neighbor_offsets );
214214}
215215
216216
0 commit comments