vectus 0.1.38

A vector database implemented in Rust for learning purposes.
Documentation
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(),
        }
    }
}