fn get_mass()

in Rust/src/nodestore.rs [56:104]


    fn get_mass(&self, index: usize) -> usize;
    fn get_box(&self, index: usize, point_store: &dyn PointStore) -> BoundingBox;
    fn get_probability_of_cut(
        &self,
        index: usize,
        point: &[f32],
        point_store: &dyn PointStore,
    ) -> f64;
    fn grow_node_box_pair(
        &self,
        first: &mut BoundingBox,
        second: &mut BoundingBox,
        point_store: &dyn PointStore,
        node: usize,
        sibling: usize,
    );
    fn grow_node_box(
        &self,
        bounding_box: &mut BoundingBox,
        point_store: &dyn PointStore,
        node: usize,
        sibling: usize,
    );
    fn get_sibling(&self, node: usize, parent: usize) -> usize;
    fn get_leaf_point_index(&self, index: usize) -> usize;
    fn get_cut_dimension(&self, index: usize) -> usize;
    fn get_left_index(&self, index: usize) -> usize;
    fn get_right_index(&self, index: usize) -> usize;
    fn get_cut_value(&self, index: usize) -> f32;
    fn is_leaf(&self, index: usize) -> bool;
    fn is_left_of(&self, index: usize, point: &[f32]) -> bool;
    fn use_path_for_box(&self) -> bool;
    fn get_distribution(&self, index: usize) -> (usize, f32, usize, usize);
    fn get_cut_and_children(&self, index: usize) -> (usize, f32, usize, usize);
    fn get_path(&self, root: usize, point: &[f32]) -> Vec<(usize, usize)>;
}

impl<C, P, N> VectorNodeStore<C, P, N>
where
    C: Location,
    usize: From<C>,
    P: Location,
    usize: From<P>,
    N: Location,
    usize: From<N>,
    <C as TryFrom<usize>>::Error: Debug,
    <P as TryFrom<usize>>::Error: Debug,
    <N as TryFrom<usize>>::Error: Debug,
{