@@ -273,7 +273,7 @@ function rotate_bucket_right!(db::DegreeBuckets, d::Integer)
273273 return nothing
274274end
275275
276- function update_bucket! (db:: DegreeBuckets , v:: Integer ; degtype, direction)
276+ function update_bucket! (db:: DegreeBuckets , v:: Integer ; degtype:: Symbol , direction:: Symbol )
277277 (; degrees, bucket_storage, bucket_low, bucket_high, positions, reproduce_colpack) = db
278278 d, p = degrees[v], positions[v]
279279 low, high = bucket_low[d + 1 ], bucket_high[d + 1 ]
@@ -362,34 +362,32 @@ function vertices(
362362 g:: BipartiteGraph{T} , :: Val{side} , order:: DynamicDegreeBasedOrder{degtype,direction}
363363) where {T<: Integer ,side,degtype,direction}
364364 other_side = 3 - side
365- # compute dist-2 degrees in an optimized way
366365 n = nb_vertices (g, Val (side))
367366 degrees_dist2 = zeros (T, n)
368367 visited = fill (false , n)
369368 vertices_visited = zeros (T, n- 1 )
370369 num_visited = zero (T)
371- for v in vertices (g, Val (side))
372- for w1 in neighbors (g, Val (side), v)
373- for w2 in neighbors (g, Val (other_side), w1)
374- if w2 != v && ! visited[w2]
375- degrees_dist2[v] += 1
376- visited[w2] = true
377- num_visited += 1
378- vertices_visited[num_visited] = w2
370+ # compute dist-2 degrees in an optimized way (if needed)
371+ if degree_increasing (; degtype, direction)
372+ for v in vertices (g, Val (side))
373+ for w1 in neighbors (g, Val (side), v)
374+ for w2 in neighbors (g, Val (other_side), w1)
375+ if w2 != v && ! visited[w2]
376+ degrees_dist2[v] += 1
377+ visited[w2] = true
378+ num_visited += 1
379+ vertices_visited[num_visited] = w2
380+ end
379381 end
380382 end
383+ for k in 1 : num_visited
384+ z = vertices_visited[k]
385+ visited[z] = false
386+ end
387+ num_visited = 0
381388 end
382- for k in 1 : num_visited
383- z = vertices_visited[k]
384- visited[z] = false
385- end
386- num_visited = 0
387- end
388- if degree_increasing (; degtype, direction)
389- degrees = zeros (T, n)
390- else
391- degrees = degrees_dist2
392389 end
390+ degrees = degrees_dist2
393391 maxd2 = maximum (degrees_dist2)
394392 db = DegreeBuckets (T, degrees, maxd2; reproduce_colpack= order. reproduce_colpack)
395393 π = T[]
0 commit comments