@@ -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 ([¬_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