use super::Graph;
use crate::core::error::HmsError;
pub use super::projection::ProjectionStats;
impl Graph {
pub fn train_diagnostic(&mut self, queries: &[f32]) -> Result<(), HmsError> {
super::projection::validate_queries(queries, self.dim, self.metric)?;
self.apply_training_queries(queries)
}
pub fn project_diagnostic(
&mut self,
training_queries: Option<&[f32]>,
query_neighbor_ids: &[u32],
neighbors_per_query: usize,
projected_degree: usize,
) -> Result<ProjectionStats, HmsError> {
self.project_neighborhoods(
training_queries,
query_neighbor_ids,
neighbors_per_query,
projected_degree,
)
}
}