INNER CODE UNIT · Rust
expandable
rlaope/estudy · site/graph/crates/graph-wasm/src/lib.rs:351
fn expandable(g: &Graph, v: u32) -> bool {
let deg = g.offsets[v as usize + 1] - g.offsets[v as usize];
v != g.root && deg <= EXPAND_DEGREE_CUTOFF
}
fn neighbors_of(g: &Graph, v: u32) -> &[u32] {
let (a, b) = (
g.offsets[v as usize] as usize,
g.offsets[v as usize + 1] as usize,
);
&g.targets[a..b]
}
fn bfs(g: &Graph, seeds: &[u32], depth: u32, skip_root: bool) -> Vec<u32> {
let n = g.offsets.len().saturating_sub(1);
let mut seen = vec![false; n];
let mut out = Vec::new();
for &s in seeds {