Skip to main content

numra_stats/
lib.rs

1//! Statistics and probability distributions for Numra.
2//!
3//! This crate provides:
4//! - **Distributions**: Normal, Uniform, Exponential, Gamma, Beta, Chi-squared,
5//!   Student's t, F, Poisson, Binomial, Log-normal
6//! - **Descriptive statistics**: mean, variance, std_dev, median, percentile,
7//!   skewness, kurtosis, covariance, covariance_matrix
8//! - **Hypothesis testing**: t-tests (one-sample, two-sample, paired),
9//!   chi-squared, Kolmogorov-Smirnov, one-way ANOVA
10//! - **Regression**: linear, multiple linear, polynomial
11//! - **Correlation**: Pearson, Spearman
12//!
13//! Author: Moussa Leblouba
14//! Date: 9 February 2026
15//! Modified: 2 May 2026
16
17pub mod correlation;
18pub mod descriptive;
19pub mod distributions;
20pub mod error;
21pub mod hypothesis;
22pub mod regression;
23
24pub use error::StatsError;
25
26// Distribution traits
27pub use distributions::{ContinuousDistribution, DiscreteDistribution};
28
29// Distribution types
30pub use distributions::{
31    BetaDist, Binomial, ChiSquared, Exponential, FDist, GammaDist, LogNormal, Normal, Poisson,
32    StudentT, Uniform,
33};
34
35// Descriptive statistics
36pub use descriptive::{
37    covariance, covariance_matrix, kurtosis, mean, median, percentile, skewness, std_dev, variance,
38};
39
40// Hypothesis testing
41pub use hypothesis::{
42    anova_oneway, chi2_test, ks_test, ttest_1samp, ttest_ind, ttest_rel, TestResult,
43};
44
45// Regression
46pub use regression::{linregress, multiple_linregress, polyfit, RegressionResult};
47
48// Correlation
49pub use correlation::{pearson_r, spearman_r};