diff --git a/retworkx-core/src/centrality.rs b/retworkx-core/src/centrality.rs index ad349a42cd..d0cc7d51ff 100644 --- a/retworkx-core/src/centrality.rs +++ b/retworkx-core/src/centrality.rs @@ -363,15 +363,9 @@ where let x_last = x.clone(); for node_index in graph.node_identifiers() { let node = graph.to_index(node_index); - for neighbor in graph.neighbors(node_index) { - let w_vec: Vec = graph - .edges(node_index) - .filter(|edge| edge.target() == neighbor) - .collect(); - let mut w = 0.; - for edge in w_vec { - w += weight_fn(edge)?; - } + for edge in graph.edges(node_index) { + let w = weight_fn(edge)?; + let neighbor = edge.target(); x[graph.to_index(neighbor)] += x_last[node] * w; } }