INNER CODE UNIT · Rust
load
rlaope/estudy · site/graph/crates/graph-wasm/src/lib.rs:82
pub fn load(pos: &[f32], csr: &[u32], titles: &str, choseong: &str, root: u32) -> bool {
if pos.len() < 2 || pos.len() % 2 != 0 {
return false;
}
let n = pos.len() / 2;
if csr.len() < n + 1 {
return false;
}
let offsets = &csr[..n + 1];
let e = offsets[n] as usize;
if csr.len() != n + 1 + e || offsets[0] != 0 {
return false;
}
if offsets.windows(2).any(|w| w[0] > w[1]) {
return false;
}
let targets = &csr[n + 1..];
if targets.iter().any(|&t| t as usize >= n) {