tenflowers_dataset/statistics/
extensions.rs1use crate::Dataset;
7use tenflowers_core::Result;
8
9use super::computation::DatasetStatisticsComputer;
10use super::core::{DatasetStats, StatisticsConfig};
11
12pub trait DatasetStatisticsExt<T> {
14 fn compute_statistics(&self) -> Result<DatasetStats<T>>;
16
17 fn compute_statistics_with_config(&self, config: StatisticsConfig) -> Result<DatasetStats<T>>;
19}
20
21impl<T, D> DatasetStatisticsExt<T> for D
22where
23 T: Clone
24 + Default
25 + scirs2_core::numeric::Zero
26 + scirs2_core::numeric::Float
27 + std::fmt::Debug
28 + Send
29 + Sync
30 + 'static,
31 D: Dataset<T>,
32{
33 fn compute_statistics(&self) -> Result<DatasetStats<T>> {
34 DatasetStatisticsComputer::compute(self, StatisticsConfig::default())
35 }
36
37 fn compute_statistics_with_config(&self, config: StatisticsConfig) -> Result<DatasetStats<T>> {
38 DatasetStatisticsComputer::compute(self, config)
39 }
40}