#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![warn(clippy::missing_docs_in_private_items)]
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::panic))]
extern crate alloc;
#[cfg(feature = "std")]
pub mod adwin;
pub mod attribution_stability;
#[cfg(feature = "std")]
pub mod bloom;
pub mod bootstrap;
pub mod config;
#[cfg(feature = "std")]
pub mod count_min_sketch;
pub mod domain;
#[cfg(feature = "std")]
pub mod drift_aware;
#[cfg(feature = "std")]
pub mod dynamic_forest;
pub mod early_term;
#[cfg(feature = "std")]
pub mod ensemble;
pub mod error;
pub mod feature_drift;
pub mod forensic;
pub mod forest;
pub mod group_score;
pub mod histogram;
#[cfg(feature = "std")]
pub mod hyperloglog;
#[cfg(feature = "std")]
pub mod matrix_profile;
pub mod meta_drift;
pub mod metrics;
pub mod normalize;
pub mod online_stats;
pub mod per_feature_cusum;
pub mod per_feature_ewma;
#[cfg(feature = "serde")]
pub mod persistence;
#[cfg(feature = "std")]
pub mod pool;
pub mod sampler;
pub mod score_ci;
#[cfg(feature = "serde")]
pub mod serde_util;
pub mod severity;
#[cfg(feature = "std")]
pub mod shingled;
#[cfg(feature = "std")]
pub mod space_saving;
pub mod tdigest;
pub mod thresholded;
pub mod tree;
#[cfg(feature = "std")]
pub mod tsb_ad_m;
#[cfg(feature = "std")]
pub mod univariate_spot;
pub mod visitor;
#[cfg(feature = "std")]
pub mod vus_pr;
#[cfg(feature = "std")]
pub use adwin::{
AdwinDetector, DEFAULT_DELTA as ADWIN_DEFAULT_DELTA, DEFAULT_WINDOW_CAP as ADWIN_DEFAULT_WINDOW,
};
pub use attribution_stability::AttributionStability;
#[cfg(feature = "std")]
pub use bloom::{
BloomFilter, DEFAULT_FALSE_POSITIVE_RATE as BLOOM_DEFAULT_FPR, MAX_HASHES as BLOOM_MAX_HASHES,
};
pub use bootstrap::BootstrapReport;
pub use config::{ForestBuilder, RcfConfig};
#[cfg(feature = "std")]
pub use count_min_sketch::CountMinSketch;
pub use domain::{AnomalyScore, BoundingBox, Cut, DiVector, Point};
#[cfg(feature = "std")]
pub use drift_aware::{DriftAwareForest, DriftRecoveryConfig};
#[cfg(feature = "std")]
pub use dynamic_forest::DynamicForest;
pub use early_term::{EarlyTermConfig, EarlyTermScore};
#[cfg(feature = "std")]
pub use ensemble::{chi_squared_survival_even, fisher_combine};
pub use error::{RcfError, RcfResult};
pub use feature_drift::{DriftLevel, FeatureDriftDetector};
pub use forensic::ForensicBaseline;
pub use forest::{ForestSnapshot, PointStore, RandomCutForest};
pub use group_score::{FeatureGroup, FeatureGroups, FeatureGroupsBuilder, GroupScores};
pub use histogram::{HistogramConfig, ScoreHistogram};
#[cfg(feature = "std")]
pub use hyperloglog::{
DEFAULT_PRECISION as HLL_DEFAULT_PRECISION, HyperLogLog, MAX_PRECISION as HLL_MAX_PRECISION,
MIN_PRECISION as HLL_MIN_PRECISION,
};
#[cfg(feature = "std")]
pub use matrix_profile::{MIN_WINDOW as MATRIX_PROFILE_MIN_WINDOW, MatrixProfile};
pub use meta_drift::{CusumConfig, DriftKind, DriftVerdict, MetaDriftDetector};
pub use metrics::{MetricsSink, NoopSink};
pub use normalize::{NormParams, NormStrategy, Normalizer};
pub use online_stats::OnlineStats;
pub use per_feature_cusum::{
DriftDirection, PerFeatureCusum, PerFeatureCusumAccumulator, PerFeatureCusumAlert,
PerFeatureCusumConfig, PerFeatureCusumResult,
};
pub use per_feature_ewma::{
EwmaAccumulator, PerFeatureEwma, PerFeatureEwmaConfig, PerFeatureEwmaResult,
};
#[cfg(feature = "std")]
pub use pool::{ReadinessSummary, TenantForestPool};
pub use sampler::{ReservoirSampler, SamplerOp};
pub use score_ci::{DEFAULT_Z_FACTOR as DEFAULT_CI_Z_FACTOR, ScoreWithConfidence};
pub use severity::{Severity, SeverityBands};
#[cfg(feature = "std")]
pub use shingled::{ShingledForest, ShingledForestBuilder};
#[cfg(feature = "std")]
pub use space_saving::{
DEFAULT_CAPACITY as SPACE_SAVING_DEFAULT_CAPACITY, HeavyHitter, HeavyHitterEntry, SpaceSaving,
};
pub use tdigest::{Centroid, DEFAULT_COMPRESSION as TDIGEST_DEFAULT_COMPRESSION, TDigest};
pub use thresholded::{
AnomalyGrade, EmaStats, ThresholdMode, ThresholdedConfig, ThresholdedForest,
ThresholdedForestBuilder,
};
pub use tree::{
InternalData, LeafData, NodeRef, NodeStore, NodeView, NodeViewMut, PointAccessor, RandomCutTree,
};
#[cfg(feature = "std")]
pub use tsb_ad_m::TsbAdMDataset;
#[cfg(feature = "std")]
pub use univariate_spot::{
DEFAULT_ALERT_P as SPOT_DEFAULT_ALERT_P, DEFAULT_QUANTILE as SPOT_DEFAULT_QUANTILE, PotDetector,
};
pub use visitor::{AttributionVisitor, ScalarScoreVisitor, ScoreAttributionVisitor, Visitor};
#[cfg(feature = "std")]
pub use vus_pr::{
DEFAULT_MAX_BUFFER as VUS_PR_DEFAULT_MAX_BUFFER, range_auc_pr, vus_pr, vus_pr_with_buffer,
};