use ndarray::Array1;
use std::sync::Arc;
#[derive(Debug, Clone)]
pub(super) struct HNSWNode {
pub(super) id: usize,
pub(super) neighbors: Vec<usize>,
pub(super) level: usize,
pub(super) embedding: Arc<Array1<f32>>,
}
impl HNSWNode {
pub(super) fn new(embedding: Array1<f32>, id: usize) -> HNSWNode {
HNSWNode {
id,
level: 0,
neighbors: Vec::new(),
embedding: embedding.into(),
}
}
}