Skip to content

Commit 59e107d

Browse files
committed
Refactor debugPrint utils function
1 parent b136bd1 commit 59e107d

File tree

1 file changed

+33
-34
lines changed
  • include/graphblas/algorithms

1 file changed

+33
-34
lines changed

include/graphblas/algorithms/bfs.hpp

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -174,14 +174,6 @@ namespace grb {
174174
std::cout << e << " ";
175175
std::cout << "] - "
176176
<< "Vector \"" << name << "\" (" << vector.size() << ")" << std::endl;
177-
#endif
178-
}
179-
180-
void debugPrint( const std::string & msg, std::ostream & os = std::cout ) {
181-
(void)msg;
182-
(void)os;
183-
#ifdef BFS_DEBUG
184-
os << msg;
185177
#endif
186178
}
187179
} // namespace utils
@@ -274,7 +266,9 @@ namespace grb {
274266

275267
size_t max_iter = max_iterations < 0 ? nvertices : max_iterations;
276268
for( size_t level = 1; level <= max_iter; level++ ) {
277-
utils::debugPrint( "** Level " + std::to_string( level ) + ":\n" );
269+
#ifdef _DEBUG
270+
std::cout << "** Level " << level << ":" << std::endl << std::flush;
271+
#endif
278272
max_level = level;
279273

280274
// Multiply the current frontier by the adjacency matrix
@@ -287,11 +281,10 @@ namespace grb {
287281
utils::printSparseVector( y, "y" );
288282

289283
// Update not_visited vector
290-
for( const std::pair< size_t, bool > e : y ) {
291-
if( e.second )
292-
setElement( not_visited, false, e.first );
293-
}
294-
284+
rc = rc ? rc : eWiseLambda([&not_visited, y] (const size_t y_i) {
285+
not_visited[y_i] = !y[y_i];
286+
},
287+
y, not_visited);
295288
// Assign the current level to the newly discovered vertices only
296289

297290
rc = rc ? rc : foldl( levels, y, level, min_monoid, Phase::RESIZE );
@@ -302,18 +295,20 @@ namespace grb {
302295
explored_all = nnz( levels ) == nvertices;
303296
if( explored_all ) {
304297
// If all vertices are discovered, stop
305-
utils::debugPrint( "Explored " + std::to_string( level )
306-
+ " levels to discover all of the "
307-
+ std::to_string( nvertices ) + " vertices.\n" );
298+
#ifdef _DEBUG
299+
std::cout << "Explored " << level << " levels to discover all of the "
300+
<< nvertices << " vertices.\n" << std::flush;
301+
#endif
308302
return rc;
309303
}
310304
bool can_continue = nnz( y ) > 0;
311305
if( ! can_continue ) {
312306
max_level = level - 1;
313307
// If no new vertices are discovered, stop
314-
utils::debugPrint( "Explored " + std::to_string( level )
315-
+ " levels to discover " + std::to_string( nnz( levels ) )
316-
+ " vertices.\n" );
308+
#ifdef _DEBUG
309+
std::cout << "Explored " << level << " levels to discover "
310+
<< nnz( levels ) << " vertices.\n" << std::flush;
311+
#endif
317312
break;
318313
}
319314

@@ -323,10 +318,11 @@ namespace grb {
323318
}
324319

325320
// Maximum number of iteration passed, not every vertex has been discovered
326-
utils::debugPrint( "A full exploration is not possible on this graph. "
327-
"Some vertices are not reachable from the given root: " +
328-
std::to_string( root ) + "\n" );
329-
321+
#ifdef _DEBUG
322+
std::cout << "A full exploration is not possible on this graph. "
323+
<< "Some vertices are not reachable from the given root: "
324+
<< root << std::endl << std::flush;
325+
#endif
330326
return rc;
331327
}
332328

@@ -424,16 +420,18 @@ namespace grb {
424420
max_level = 0;
425421
explored_all = false;
426422
for( size_t level = 1; level <= max_iter; level++ ) {
423+
#ifdef _DEBUG
424+
std::cout << "** Level " << level << ":" << std::endl << std::flush;
425+
#endif
427426
max_level = level;
428-
utils::debugPrint( "** Level " + std::to_string( level ) + ":\n" );
427+
429428
rc = rc ? rc : clear( y );
430429
// utils::printSparseVector( x, "x - before indexing" );
431-
rc = rc ? rc :
432-
eWiseLambda(
433-
[ &x ]( const size_t i ) {
434-
x[ i ] = i;
435-
},
436-
x );
430+
rc = rc
431+
? rc
432+
: eWiseLambda( [ &x ]( const size_t i ) {
433+
x[ i ] = i;
434+
}, x );
437435
utils::printSparseVector( x, "x - after indexing" );
438436

439437
rc = rc ? rc : vxm( y, x, A, semiring, Phase::RESIZE );
@@ -448,9 +446,10 @@ namespace grb {
448446
rc = rc ? rc : foldl( min_parent, parents, min_negative_monoid );
449447
if( min_parent > not_find_value ) {
450448
explored_all = true;
451-
utils::debugPrint( "Explored " + std::to_string( max_level )
452-
+ " levels to discover all of the "
453-
+ std::to_string( nvertices ) + " vertices.\n" );
449+
#ifdef _DEBUG
450+
std::cout << "Explored " << level << " levels to discover all of the "
451+
<< nvertices << " vertices.\n" << std::flush;
452+
#endif
454453
break;
455454
}
456455

0 commit comments

Comments
 (0)