vectus/hnsw/node.rs
use ndarray::Array1;
#[derive(Debug, Clone)]
pub(super) struct HNSWNode {
pub(super) id: usize,
pub(super) neighbors: Vec<usize>,
pub(super) level: usize,
pub(super) embedding: Array1<f64>,
}
impl HNSWNode {
pub(super) fn new(embedding: Array1<f64>, id: usize) -> HNSWNode {
HNSWNode {
id,
level: 0,
neighbors: Vec::new(),
embedding,
}
}
}