use crate::index::search::plugins::Topk;
use diskann_benchmark_runner::Registry;
mod full_precision;
mod full_precision_streaming;
mod spherical;
mod spherical_streaming;
mod streaming_utils;
pub(crate) fn register_benchmarks(registry: &mut Registry) -> anyhow::Result<()> {
registry.register(
"graph-index-bftree-full-precision-f32",
full_precision::BfTreeFullPrecision::<f32>::new().search(Topk),
)?;
registry.register(
"graph-index-bftree-stream-full-precision-f32",
full_precision_streaming::StreamingFullPrecision::<f32>::new(),
)?;
registry.register(
"graph-index-bftree-spherical-quantization",
spherical::BfTreeSpherical::new().search(Topk),
)?;
registry.register(
"graph-index-stream-bftree-spherical-quantization",
spherical_streaming::StreamingSpherical::new(),
)?;
Ok(())
}