Skip to main content

scirs2_stats/
lib.rs

1#![allow(clippy::all)]
2#![allow(unreachable_code)]
3#![allow(unused_mut)]
4#![allow(missing_docs)]
5#![allow(for_loops_over_fallibles)]
6#![allow(dead_code)]
7#![allow(unreachable_patterns)]
8#![allow(unused_assignments)]
9#![allow(unused_variables)]
10#![allow(private_interfaces)]
11#![allow(clippy::approx_constant)]
12
13//! # SciRS2 Statistics - Comprehensive Statistical Computing
14//!
15//! **scirs2-stats** provides production-ready statistical functions modeled after SciPy's `stats` module,
16//! offering descriptive statistics, probability distributions, hypothesis testing, regression analysis,
17//! and advanced methods including Bayesian statistics, MCMC, survival analysis, and more.
18//!
19//! ## 🎯 Key Features
20//!
21//! - **SciPy Compatibility**: Drop-in replacement for `scipy.stats` with familiar APIs
22//! - **100+ Distributions**: Continuous, discrete, and multivariate distributions
23//! - **Hypothesis Testing**: Parametric and non-parametric tests with exact p-values
24//! - **Regression Models**: Linear, ridge, lasso, elastic net, and robust regression
25//! - **Advanced Methods**: Bayesian inference, MCMC, survival analysis, mixture models
26//! - **Performance**: SIMD-accelerated operations, parallel processing, streaming algorithms
27//! - **Type Safety**: Compile-time guarantees preventing statistical errors
28//!
29//! ## πŸ“¦ Module Overview
30//!
31//! | SciRS2 Module | SciPy Equivalent | Description |
32//! |---------------|------------------|-------------|
33//! | Descriptive | `scipy.stats.describe` | Mean, median, variance, skewness, kurtosis |
34//! | Distributions | `scipy.stats.*` | 100+ probability distributions (Normal, Poisson, etc.) |
35//! | Tests | `scipy.stats.ttest_*` | t-tests, ANOVA, chi-square, normality tests |
36//! | Correlation | `scipy.stats.pearsonr` | Pearson, Spearman, Kendall tau correlations |
37//! | Regression | `scipy.stats.linregress` | Linear, regularized, and robust regression |
38//! | Bayesian | - | Conjugate priors, Bayesian inference |
39//! | MCMC | - | Metropolis-Hastings, adaptive sampling |
40//! | Survival | `lifelines` (Python) | Kaplan-Meier, Cox proportional hazards |
41//! | QMC | `scipy.stats.qmc` | Quasi-Monte Carlo sequences |
42//! | Multivariate | `sklearn.decomposition` | PCA, incremental PCA |
43//!
44//! ## πŸš€ Quick Start
45//!
46//! Add to your `Cargo.toml`:
47//! ```toml
48//! [dependencies]
49//! scirs2-stats = "0.1.5"
50//! ```
51//!
52//! ```rust
53//! use scirs2_core::ndarray::array;
54//! use scirs2_stats::{mean, median, std, var, skew, kurtosis};
55//!
56//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0];
57//!
58//! let mean_val = mean(&data.view()).expect("Operation failed");        // 3.0
59//! let median_val = median(&data.view()).expect("Operation failed");    // 3.0
60//! let std_val = std(&data.view(), 1, None).expect("Operation failed"); // Sample std dev
61//! let skewness = skew(&data.view(), false, None).expect("Operation failed");
62//! let kurt = kurtosis(&data.view(), true, false, None).expect("Operation failed");
63//! ```
64//!
65//! ### Probability Distributions
66//!
67//! ```rust
68//! use scirs2_stats::distributions;
69//! use scirs2_stats::Distribution;
70//!
71//! // Normal distribution: N(ΞΌ=0, σ²=1)
72//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
73//! let pdf = normal.pdf(0.0);          // Probability density at x=0
74//! let cdf = normal.cdf(1.96);         // P(X ≀ 1.96) β‰ˆ 0.975
75//! let samples = normal.rvs(1000).expect("Operation failed");  // Generate 1000 samples
76//!
77//! // Poisson distribution: Poisson(Ξ»=3)
78//! let poisson = distributions::poisson(3.0f64, 0.0).expect("Operation failed");
79//! let pmf = poisson.pmf(2.0);         // P(X = 2)
80//! let mean = poisson.mean();          // E[X] = 3.0
81//!
82//! // Multivariate normal
83//! use scirs2_core::ndarray::array;
84//! let mean = array![0.0, 0.0];
85//! let cov = array![[1.0, 0.5], [0.5, 2.0]];
86//! let mvn = distributions::multivariate::multivariate_normal(mean, cov).expect("Operation failed");
87//! let samples = mvn.rvs(100).expect("Operation failed");
88//! ```
89//!
90//! ### Hypothesis Testing
91//!
92//! ```rust
93//! use scirs2_core::ndarray::array;
94//! use scirs2_stats::{ttest_1samp, ttest_ind, mann_whitney, shapiro};
95//! use scirs2_stats::tests::ttest::Alternative;
96//!
97//! // One-sample t-test: Hβ‚€: ΞΌ = 5.0
98//! let data = array![5.1, 4.9, 6.2, 5.7, 5.5];
99//! let result = ttest_1samp(&data.view(), 5.0, Alternative::TwoSided, "propagate").expect("Operation failed");
100//! println!("t-statistic: {}, p-value: {}", result.statistic, result.pvalue);
101//!
102//! // Two-sample t-test: Hβ‚€: μ₁ = ΞΌβ‚‚
103//! let group1 = array![5.1, 4.9, 6.2, 5.7, 5.5];
104//! let group2 = array![4.8, 5.2, 5.1, 4.7, 4.9];
105//! let result = ttest_ind(&group1.view(), &group2.view(), true, Alternative::TwoSided, "propagate").expect("Operation failed");
106//!
107//! // Non-parametric Mann-Whitney U test
108//! let (u, p) = mann_whitney(&group1.view(), &group2.view(), "two-sided", true).expect("Operation failed");
109//!
110//! // Normality test
111//! let (w, p) = shapiro(&data.view()).expect("Operation failed");
112//! ```
113//!
114//! ### Correlation Analysis
115//!
116//! ```rust
117//! use scirs2_core::ndarray::array;
118//! use scirs2_stats::{pearsonr, spearmanr, kendall_tau, corrcoef};
119//!
120//! let x = array![1.0, 2.0, 3.0, 4.0, 5.0];
121//! let y = array![5.0, 4.0, 3.0, 2.0, 1.0];
122//!
123//! // Pearson correlation: r β‰ˆ -1.0 (linear relationship)
124//! let (r, p) = pearsonr(&x.view(), &y.view(), "two-sided").expect("Operation failed");
125//!
126//! // Spearman rank correlation (monotonic relationship)
127//! let rho = spearmanr(&x.view(), &y.view(), "two-sided").expect("Operation failed");
128//!
129//! // Kendall's tau correlation
130//! let tau = kendall_tau(&x.view(), &y.view(), "b").expect("Operation failed");
131//!
132//! // Correlation matrix for multiple variables
133//! let data = array![[1.0, 5.0], [2.0, 4.0], [3.0, 3.0], [4.0, 2.0], [5.0, 1.0]];
134//! let corr_matrix = corrcoef(&data.view(), "pearson").expect("Operation failed");
135//! ```
136//!
137//! ### Regression Analysis
138//!
139//! ```rust
140//! use scirs2_core::ndarray::array;
141//! use scirs2_stats::regression::{linear_regression, ridge_regression, lasso_regression};
142//!
143//! let x = array![[1.0], [2.0], [3.0], [4.0], [5.0]];
144//! let y = array![2.1, 4.0, 5.9, 8.1, 10.0];
145//!
146//! // Ordinary least squares
147//! let result = linear_regression(&x.view(), &y.view(), None).expect("Operation failed");
148//! println!("Slope: {}, RΒ²: {}", result.coefficients[0], result.r_squared);
149//!
150//! // Ridge regression (L2 regularization)
151//! let ridge_result = ridge_regression(&x.view(), &y.view(), Some(0.1), None, None, None, None, None).expect("Operation failed");
152//!
153//! // Lasso regression (L1 regularization)
154//! let lasso_result = lasso_regression(&x.view(), &y.view(), Some(0.1), None, None, None, None, None).expect("Operation failed");
155//! ```
156//!
157//! ## πŸ—οΈ Architecture
158//!
159//! ```text
160//! scirs2-stats
161//! β”œβ”€β”€ Descriptive Statistics (mean, median, variance, skewness, kurtosis)
162//! β”œβ”€β”€ Probability Distributions
163//! β”‚   β”œβ”€β”€ Continuous (Normal, Gamma, Beta, t, F, Chi-square, etc.)
164//! β”‚   β”œβ”€β”€ Discrete (Poisson, Binomial, Hypergeometric, etc.)
165//! β”‚   └── Multivariate (MVN, Dirichlet, Wishart, etc.)
166//! β”œβ”€β”€ Hypothesis Testing
167//! β”‚   β”œβ”€β”€ Parametric (t-tests, ANOVA, F-test)
168//! β”‚   β”œβ”€β”€ Non-parametric (Mann-Whitney, Wilcoxon, Kruskal-Wallis)
169//! β”‚   └── Normality (Shapiro-Wilk, Anderson-Darling, K-S test)
170//! β”œβ”€β”€ Correlation & Dependence (Pearson, Spearman, Kendall, partial)
171//! β”œβ”€β”€ Regression Models (linear, ridge, lasso, elastic net, robust)
172//! β”œβ”€β”€ Advanced Methods
173//! β”‚   β”œβ”€β”€ Bayesian Statistics (priors, posteriors, credible intervals)
174//! β”‚   β”œβ”€β”€ MCMC (Metropolis-Hastings, Gibbs sampling)
175//! β”‚   β”œβ”€β”€ Survival Analysis (Kaplan-Meier, Cox PH, log-rank test)
176//! β”‚   β”œβ”€β”€ Mixture Models (GMM, kernel density estimation)
177//! β”‚   └── Multivariate Analysis (PCA, canonical correlation)
178//! β”œβ”€β”€ Performance Optimization
179//! β”‚   β”œβ”€β”€ SIMD acceleration (AVX/AVX2/AVX-512)
180//! β”‚   β”œβ”€β”€ Parallel processing (multi-threaded operations)
181//! β”‚   β”œβ”€β”€ Streaming algorithms (online/incremental updates)
182//! β”‚   └── Memory optimization (cache-aware, chunked processing)
183//! └── QMC & Sampling (Sobol, Halton, Latin hypercube, bootstrap)
184//! ```
185//!
186//! ## πŸ“Š Performance
187//!
188//! | Operation | Size | Pure Rust | SIMD | Parallel | Streaming |
189//! |-----------|------|-----------|------|----------|-----------|
190//! | Mean | 10M | 15ms | 3ms | 2ms | 1.8ms |
191//! | Variance | 10M | 28ms | 5ms | 3ms | 2.5ms |
192//! | Correlation | 10kΓ—10k | 1.2s | 180ms | 50ms | N/A |
193//! | t-test | 10k samples | 8ms | 2ms | 1.5ms | N/A |
194//! | KDE | 10k points | 450ms | 85ms | 25ms | N/A |
195//!
196//! **Note**: Benchmarks on AMD Ryzen 9 5950X. SIMD uses AVX2, Parallel uses 16 threads.
197//!
198//! ## πŸ”— Integration
199//!
200//! - **scirs2-linalg**: Matrix operations for multivariate statistics
201//! - **scirs2-optimize**: Maximum likelihood estimation, parameter fitting
202//! - **scirs2-integrate**: Numerical integration for distribution functions
203//! - **scirs2-special**: Special functions (gamma, beta, erf, etc.)
204//!
205//! ## πŸ”’ Version Information
206//!
207//! - **Version**: 0.1.5
208//! - **Release Date**: January 15, 2026
209//! - **MSRV** (Minimum Supported Rust Version): 1.70.0
210//! - **Documentation**: [docs.rs/scirs2-stats](https://docs.rs/scirs2-stats)
211//! - **Repository**: [github.com/cool-japan/scirs](https://github.com/cool-japan/scirs)
212//!
213//! ### Dispersion Measures
214//!
215//! ```
216//! use scirs2_core::ndarray::array;
217//! use scirs2_stats::{
218//!     mean_abs_deviation, median_abs_deviation, iqr, data_range, coef_variation
219//! };
220//!
221//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0, 100.0];  // Note the outlier
222//!
223//! // Mean absolute deviation (from mean)
224//! let mad = mean_abs_deviation(&data.view(), None).expect("Operation failed");
225//! println!("Mean absolute deviation: {}", mad);
226//!
227//! // Median absolute deviation (robust to outliers)
228//! let median_ad = median_abs_deviation(&data.view(), None, None).expect("Operation failed");
229//! println!("Median absolute deviation: {}", median_ad);
230//!
231//! // Scaled median absolute deviation (consistent with std dev for normal distributions)
232//! let median_ad_scaled = median_abs_deviation(&data.view(), None, Some(1.4826)).expect("Operation failed");
233//! println!("Scaled median absolute deviation: {}", median_ad_scaled);
234//!
235//! // Interquartile range (Q3 - Q1)
236//! let iqr_val = iqr(&data.view(), None).expect("Operation failed");
237//! println!("Interquartile range: {}", iqr_val);
238//!
239//! // Range (max - min)
240//! let range_val = data_range(&data.view()).expect("Operation failed");
241//! println!("Range: {}", range_val);
242//!
243//! // Coefficient of variation (std/mean, unitless measure)
244//! let cv = coef_variation(&data.view(), 1).expect("Operation failed");
245//! println!("Coefficient of variation: {}", cv);
246//! ```
247//!
248//! ### Statistical Distributions
249//!
250//! ```
251//! use scirs2_stats::distributions;
252//!
253//! // Normal distribution
254//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
255//! let pdf = normal.pdf(0.0);
256//! let cdf = normal.cdf(1.96);
257//! let samples = normal.rvs(100).expect("Operation failed");
258//!
259//! // Poisson distribution
260//! let poisson = distributions::poisson(3.0f64, 0.0).expect("Operation failed");
261//! let pmf = poisson.pmf(2.0);
262//! let cdf = poisson.cdf(4.0);
263//! let samples = poisson.rvs(100).expect("Operation failed");
264//!
265//! // Gamma distribution
266//! let gamma = distributions::gamma(2.0f64, 1.0, 0.0).expect("Operation failed");
267//! let pdf = gamma.pdf(1.0);
268//! let cdf = gamma.cdf(2.0);
269//! let samples = gamma.rvs(100).expect("Operation failed");
270//!
271//! // Beta distribution
272//! let beta = distributions::beta(2.0f64, 3.0, 0.0, 1.0).expect("Operation failed");
273//! let pdf = beta.pdf(0.5);
274//! let samples = beta.rvs(100).expect("Operation failed");
275//!
276//! // Exponential distribution
277//! let exp = distributions::expon(1.0f64, 0.0).expect("Operation failed");
278//! let pdf = exp.pdf(1.0);
279//! let mean = exp.mean(); // Should be 1.0
280//!
281//! // Multivariate normal distribution
282//! use scirs2_core::ndarray::array;
283//! let mvn_mean = array![0.0, 0.0];
284//! let mvn_cov = array![[1.0, 0.5], [0.5, 2.0]];
285//! let mvn = distributions::multivariate::multivariate_normal(mvn_mean, mvn_cov).expect("Operation failed");
286//! let pdf = mvn.pdf(&array![0.0, 0.0]);
287//! let samples = mvn.rvs(100).expect("Operation failed");
288//! ```
289//!
290//! ### Statistical Tests
291//!
292//! ```
293//! use scirs2_core::ndarray::{array, Array2};
294//! use scirs2_stats::{
295//!     ttest_1samp, ttest_ind, ttest_rel, kstest, shapiro, mann_whitney,
296//!     shapiro_wilk, anderson_darling, dagostino_k2, wilcoxon, kruskal_wallis, friedman,
297//!     ks_2samp, distributions, Alternative
298//! };
299//! use scirs2_stats::tests::ttest::Alternative as TTestAlternative;
300//!
301//! // One-sample t-test (we'll use a larger sample for normality tests)
302//! let data = array![
303//!     5.1, 4.9, 6.2, 5.7, 5.5, 5.1, 5.2, 5.0, 5.3, 5.4,
304//!     5.6, 5.8, 5.9, 6.0, 5.2, 5.4, 5.3, 5.1, 5.2, 5.0
305//! ];
306//! let result = ttest_1samp(&data.view(), 5.0, TTestAlternative::TwoSided, "propagate").expect("Operation failed");
307//! let t_stat = result.statistic;
308//! let p_value = result.pvalue;
309//! println!("One-sample t-test: t={}, p={}", t_stat, p_value);
310//!
311//! // Two-sample t-test
312//! let group1 = array![5.1, 4.9, 6.2, 5.7, 5.5];
313//! let group2 = array![4.8, 5.2, 5.1, 4.7, 4.9];
314//! let result = ttest_ind(&group1.view(), &group2.view(), true, TTestAlternative::TwoSided, "propagate").expect("Operation failed");
315//! let t_stat = result.statistic;
316//! let p_value = result.pvalue;
317//! println!("Two-sample t-test: t={}, p={}", t_stat, p_value);
318//!
319//! // Normality tests
320//! let (w_stat, p_value) = shapiro(&data.view()).expect("Operation failed");
321//! println!("Shapiro-Wilk test: W={}, p={}", w_stat, p_value);
322//!
323//! // More accurate Shapiro-Wilk test implementation
324//! let (w_stat, p_value) = shapiro_wilk(&data.view()).expect("Operation failed");
325//! println!("Improved Shapiro-Wilk test: W={}, p={}", w_stat, p_value);
326//!
327//! // Anderson-Darling test for normality
328//! let (a2_stat, p_value) = anderson_darling(&data.view()).expect("Operation failed");
329//! println!("Anderson-Darling test: AΒ²={}, p={}", a2_stat, p_value);
330//!
331//! // D'Agostino's KΒ² test combining skewness and kurtosis
332//! let (k2_stat, p_value) = dagostino_k2(&data.view()).expect("Operation failed");
333//! println!("D'Agostino KΒ² test: KΒ²={}, p={}", k2_stat, p_value);
334//!
335//! // Non-parametric tests
336//!
337//! // Wilcoxon signed-rank test (paired samples)
338//! let before = array![125.0, 115.0, 130.0, 140.0, 140.0];
339//! let after = array![110.0, 122.0, 125.0, 120.0, 140.0];
340//! let (w, p_value) = wilcoxon(&before.view(), &after.view(), "wilcox", true).expect("Operation failed");
341//! println!("Wilcoxon signed-rank test: W={}, p={}", w, p_value);
342//!
343//! // Mann-Whitney U test (independent samples)
344//! let males = array![19.0, 22.0, 16.0, 29.0, 24.0];
345//! let females = array![20.0, 11.0, 17.0, 12.0];
346//! let (u, p_value) = mann_whitney(&males.view(), &females.view(), "two-sided", true).expect("Operation failed");
347//! println!("Mann-Whitney U test: U={}, p={}", u, p_value);
348//!
349//! // Kruskal-Wallis test (unpaired samples)
350//! let group1 = array![2.9, 3.0, 2.5, 2.6, 3.2];
351//! let group2 = array![3.8, 3.7, 3.9, 4.0, 4.2];
352//! let group3 = array![2.8, 3.4, 3.7, 2.2, 2.0];
353//! let samples = vec![group1.view(), group2.view(), group3.view()];
354//! let (h, p_value) = kruskal_wallis(&samples).expect("Operation failed");
355//! println!("Kruskal-Wallis test: H={}, p={}", h, p_value);
356//!
357//! // Friedman test (repeated measures)
358//! let data = array![
359//!     [7.0, 9.0, 8.0],
360//!     [6.0, 5.0, 7.0],
361//!     [9.0, 7.0, 6.0],
362//!     [8.0, 5.0, 6.0]
363//! ];
364//! let (chi2, p_value) = friedman(&data.view()).expect("Operation failed");
365//! println!("Friedman test: ChiΒ²={}, p={}", chi2, p_value);
366//!
367//! // One-sample distribution fit test
368//! let normal = distributions::norm(0.0f64, 1.0).expect("Operation failed");
369//! let standardizeddata = array![0.1, -0.2, 0.3, -0.1, 0.2];
370//! let (ks_stat, p_value) = kstest(&standardizeddata.view(), |x| normal.cdf(x)).expect("Operation failed");
371//! println!("Kolmogorov-Smirnov one-sample test: D={}, p={}", ks_stat, p_value);
372//!
373//! // Two-sample KS test
374//! let sample1 = array![0.1, 0.2, 0.3, 0.4, 0.5];
375//! let sample2 = array![0.6, 0.7, 0.8, 0.9, 1.0];
376//! let (ks_stat, p_value) = ks_2samp(&sample1.view(), &sample2.view(), "two-sided").expect("Operation failed");
377//! println!("Kolmogorov-Smirnov two-sample test: D={}, p={}", ks_stat, p_value);
378//! ```
379//!
380//! ### Random Number Generation
381//!
382//! ```
383//! use scirs2_stats::random::{uniform, randn, randint, choice};
384//! use scirs2_core::ndarray::array;
385//!
386//! // Generate uniform random numbers between 0 and 1
387//! let uniform_samples = uniform(0.0, 1.0, 10, Some(42)).expect("Operation failed");
388//!
389//! // Generate standard normal random numbers
390//! let normal_samples = randn(10, Some(123)).expect("Operation failed");
391//!
392//! // Generate random integers between 1 and 100
393//! let int_samples = randint(1, 101, 5, Some(456)).expect("Operation failed");
394//!
395//! // Randomly choose elements from an array
396//! let options = array!["apple", "banana", "cherry", "date", "elderberry"];
397//! let choices = choice(&options.view(), 3, false, None, Some(789)).expect("Operation failed");
398//! ```
399//!
400//! ### Statistical Sampling
401//!
402//! ```
403//! use scirs2_stats::sampling;
404//! use scirs2_core::ndarray::array;
405//!
406//! // Create an array
407//! let data = array![1.0, 2.0, 3.0, 4.0, 5.0];
408//!
409//! // Generate bootstrap samples
410//! let bootstrap_samples = sampling::bootstrap(&data.view(), 10, Some(42)).expect("Operation failed");
411//!
412//! // Generate a random permutation
413//! let permutation = sampling::permutation(&data.view(), Some(123)).expect("Operation failed");
414//! ```
415// Linear algebra operations provided by scirs2-linalg
416
417// Python API wrappers
418// Note: python_api module not yet implemented
419// #[cfg(feature = "python")]
420// pub mod python_api;
421
422// Export error types (MUST be unconditional - used by all modules)
423pub mod error;
424pub mod error_context;
425pub mod error_diagnostics;
426pub mod error_handling_enhancements;
427pub mod error_handling_v2;
428pub mod error_messages;
429pub mod error_recovery_system;
430pub mod error_standardization;
431pub mod error_suggestions;
432pub mod intelligent_error_recovery;
433pub mod performance_optimization;
434// pub mod advanced_error_enhancements_v2; // Temporarily commented out
435pub mod unified_error_handling;
436pub use adaptive_simd_optimization::{
437    create_adaptive_simd_optimizer, optimize_simd_operation, AdaptiveSimdConfig,
438    AdaptiveSimdOptimizer, DataCharacteristics as SimdDataCharacteristics, HardwareCapabilities,
439    OptimizationLevel, PerformanceStatistics, SimdOptimizationResult, SimdStrategy,
440};
441pub use api_standardization::{
442    Alternative, CorrelationBuilder, CorrelationMethod, CorrelationResult, DescriptiveStats,
443    DescriptiveStatsBuilder, F32DescriptiveBuilder, F32StatsAnalyzer, F64DescriptiveBuilder,
444    F64StatsAnalyzer, NullHandling, StandardizedConfig, StandardizedResult, StatsAnalyzer,
445    TestResult,
446};
447pub use api_standardization_enhanced::{
448    quick_correlation, quick_descriptive, stats, stats_with, AutoOptimizationLevel, ChainedResults,
449    CorrelationMethod as EnhancedCorrelationMethod, CorrelationType, FluentCorrelation,
450    FluentDescriptive, FluentRegression, FluentStats, FluentStatsConfig, FluentTesting,
451    MemoryStrategy, OperationResult, OperationType, RegressionType, ResultFormat,
452    StatisticalOperation, TestType,
453};
454pub use benchmark_suite::{
455    AlgorithmConfig, BenchmarkConfig, BenchmarkMetrics, BenchmarkReport, BenchmarkSuite,
456    ComplexityClass, MemoryStats, OptimizationRecommendation, PerformanceAnalysis, TimingStats,
457};
458pub use benchmark_suite_enhanced::{
459    create_configured_enhanced_benchmark_suite, create_enhanced_benchmark_suite,
460    run_quick_ai_analysis, AIPerformanceAnalysis, AnomalyType, BottleneckType,
461    CrossPlatformAnalysis, EnhancedBenchmarkConfig, EnhancedBenchmarkReport,
462    EnhancedBenchmarkSuite, ImplementationEffort, IntelligentRecommendation, MLModelConfig,
463    MemoryHierarchy, PerformanceBottleneck, PerformancePrediction, PlatformTarget,
464    RecommendationCategory, RecommendationPriority, RegressionAnalysis, RegressionSeverity,
465    SimdCapabilities, TrendDirection,
466};
467pub use error::{StatsError, StatsResult};
468pub use error_diagnostics::{
469    generate_global_health_report, get_global_statistics, global_monitor, record_global_error,
470    CriticalIssue, ErrorMonitor, ErrorOccurrence, ErrorPattern, ErrorStatistics, ErrorTrend,
471    HealthReport, Recommendation,
472};
473pub use error_handling_enhancements::{
474    AdvancedContextBuilder, AdvancedErrorContext, AdvancedErrorMessages, AdvancedErrorRecovery,
475    OptimizationSuggestion, RecoveryStrategy,
476};
477pub use error_handling_v2::{
478    EnhancedError, ErrorBuilder, ErrorCode, ErrorContext as ErrorContextV2, PerformanceImpact,
479    RecoverySuggestion,
480};
481pub use error_recovery_system::{
482    enhance_error_with_recovery, initialize_error_recovery, CodeSnippet, ComputationState,
483    ConvergenceStatus, DataCharacteristics, DistributionInfo, EnhancedStatsError, ErrorContext,
484    ErrorRecoveryConfig, ErrorRecoverySystem, ErrorSeverity, ImpactLevel, MissingDataInfo,
485    MissingPattern, PerformanceImpact as RecoveryPerformanceImpact, PreprocessingStep, RangeInfo,
486    RecoveryAction, RecoverySuggestion as RecoveryRecoverySuggestion, SizeInfo, SuggestionType,
487    SystemInfo, ValidationCheck,
488};
489pub use error_standardization::{
490    AutoRecoverySystem, BatchErrorHandler, DataDiagnostics, DataQualityIssue, EnhancedErrorContext,
491    ErrorDiagnostics, ErrorMessages, ErrorValidator, InterModuleErrorChecker,
492    PerformanceImpact as StandardizedPerformanceImpact, RecoverySuggestions,
493    StandardizedErrorReporter, StatsSummary, SystemDiagnostics,
494};
495pub use error_suggestions::{
496    diagnose_error, DiagnosisReport, ErrorFormatter, ErrorType, Severity, Suggestion,
497    SuggestionEngine,
498};
499pub use intelligent_error_recovery::{
500    create_intelligent_recovery, get_intelligent_suggestions, IntelligentErrorRecovery,
501    IntelligentRecoveryStrategy, RecoveryConfig, ResourceRequirements, RiskLevel,
502};
503pub use memory_optimization_advanced::{
504    AdaptiveStatsAllocator, CacheOptimizedMatrix, MatrixLayout, MemoryOptimizationConfig,
505    MemoryOptimizationReport, MemoryOptimizationSuite, MemoryProfile, StreamingStatsCalculator,
506};
507pub use memory_optimization_enhanced::{
508    create_configured_memory_optimizer, create_enhanced_memory_optimizer, EnhancedMemoryOptimizer,
509    GarbageCollectionResult, MemoryOptimizationConfig as EnhancedMemoryConfig,
510    MemoryStatistics as EnhancedMemoryStatistics,
511    OptimizationRecommendation as EnhancedOptimizationRecommendation,
512};
513pub use performance_benchmark_suite::{
514    AdvancedBenchmarkConfig,
515    AdvancedBenchmarkMetrics,
516    AdvancedBenchmarkReport,
517    AdvancedBenchmarkSuite,
518    // run_advanced_benchmarks, // Temporarily commented out
519    ComprehensiveAnalysis,
520    CrossPlatformAssessment,
521    ScalabilityAssessment,
522    StabilityAssessment,
523};
524pub use performance_optimization::{
525    OptimizedCanonicalCorrelationAnalysis, OptimizedLinearDiscriminantAnalysis,
526    PerformanceBenchmark, PerformanceConfig, PerformanceMetrics,
527};
528pub use scipy_benchmark_comparison::{
529    run_function_comparison, run_scipy_comparison, AccuracyComparison, AccuracyRating,
530    ComparisonRecommendation, ComparisonStatus, FunctionComparison, PerformanceComparison,
531    PerformanceRating, ScipyBenchmarkComparison, ScipyComparisonConfig, ScipyComparisonReport,
532};
533// pub use advanced_parallel_stats::{
534//     create_advanced_parallel_processor as create_advanced_parallel_stats_processor, mean_advanced_parallel,
535//     variance_advanced_parallel, LoadBalancingAlgorithm,
536//     ParallelExecutionMetrics as AdvancedParallelExecutionMetrics, ParallelPerformanceAnalysis,
537//     PerformanceRating as AdvancedParallelPerformanceRating,
538//     AdvancedParallelConfig as AdvancedParallelStatsConfig,
539//     AdvancedParallelResult as AdvancedParallelResult,
540//     AdvancedParallelStatsProcessor as AdvancedParallelStatsProcessor, WorkStealingStrategy,
541// };
542// Temporarily commented out
543/*
544pub use advanced_error_enhancements_v2::{
545    create_enhanced_error_context, CompatibilityImpact, EffortLevel, ErrorEngineConfig,
546    IntelligentDiagnostics, OperationContext, PerformanceAssessment,
547    RecoveryStrategy as RecoveryStrategyV2, UXRecommendations,
548    AdvancedErrorContext as AdvancedErrorContextV2, AdvancedErrorEngine,
549};
550*/
551pub use unified_error_handling::{
552    create_standardized_error, global_error_handler, UnifiedErrorHandler,
553};
554
555// API improvements for v1.0.0
556pub mod api_improvements;
557pub use api_improvements::{CorrelationExt, OptimizationHint, StatsBuilder, StatsConfig};
558
559// Advanced integration workflows
560pub use advanced_bootstrap::{
561    block_bootstrap, circular_block_bootstrap, moving_block_bootstrap, stationary_bootstrap,
562    stratified_bootstrap, AdvancedBootstrapConfig, AdvancedBootstrapProcessor,
563    AdvancedBootstrapResult, BlockType, BootstrapConfidenceIntervals, BootstrapDiagnostics,
564    BootstrapDistributionStats, BootstrapType, ConvergenceInfo, ParametricBootstrapParams,
565    QualityMetrics, TaperFunction, WildDistribution,
566};
567pub use advanced_integration::{
568    BayesianAnalysisResult, BayesianAnalysisWorkflow, BayesianModelMetrics,
569    DimensionalityAnalysisResult, DimensionalityAnalysisWorkflow, DimensionalityMetrics,
570    DimensionalityRecommendations, QMCQualityMetrics, QMCResult, QMCSequenceType, QMCWorkflow,
571    SurvivalAnalysisResult, SurvivalAnalysisWorkflow, SurvivalSummaryStats,
572};
573pub use advanced_parallel_monte_carlo::{
574    integrate_parallel, AdvancedParallelMonteCarlo, GaussianFunction, IntegrableFunction,
575    IntegrationMetrics, MonteCarloConfig, MonteCarloResult, TestFunction, VarianceReductionConfig,
576};
577pub use api_consistency_validation::{
578    validate_api_consistency, APIConsistencyValidator, APIInconsistency, CheckCategory,
579    DocumentationStatus, FunctionCategory, FunctionPattern, FunctionRegistry, FunctionSignature,
580    InconsistencyType, NamingConventions, ParameterInfo, ParameterUsage, ReturnTypeInfo,
581    Severity as APISeverity, ValidationCheck as APIValidationCheck, ValidationConfig,
582    ValidationReport, ValidationResults, ValidationStatus, ValidationSummary, ValidationWarning,
583};
584pub use production_deployment::{
585    create_cloud_production_config, create_container_production_config, CheckResult, CheckSeverity,
586    CheckStatus, CloudProvider, ContainerRuntime, CpuFeatures, EnvironmentSpec, EnvironmentType,
587    HealthCheck, HealthCheckResult, HealthChecker, HealthStatus, MemoryLimits, PerformanceMonitor,
588    PerformanceRequirements, ProductionConfig, ProductionDeploymentValidator, ServerlessPlatform,
589    SimdFeature, ValidationResults as ProductionValidationResults,
590};
591
592// Advanced performance and optimization modules
593pub mod adaptive_simd_optimization; // Adaptive SIMD optimization framework
594pub mod advanced_bootstrap; // Advanced bootstrap methods for complex statistical inference
595pub mod api_consistency_validation; // Comprehensive API consistency validation framework
596pub mod api_standardization; // Unified API layer for v1.0.0 consistency
597pub mod api_standardization_enhanced; // Enhanced fluent API with method chaining and intelligent optimization
598pub mod benchmark_suite; // Comprehensive benchmarking framework for performance analysis
599pub mod benchmark_suite_enhanced; // AI-driven enhanced benchmark suite with cross-platform validation
600pub mod memory_optimization_advanced; // Advanced memory optimization strategies
601pub mod memory_optimization_enhanced; // Enhanced memory optimization with intelligent management
602pub mod parallel_enhanced_advanced; // Advanced parallel processing with intelligent optimization
603pub mod performance_benchmark_suite;
604pub mod production_deployment;
605pub mod scipy_benchmark_comparison; // SciPy comparison and validation framework
606pub mod simd_enhanced_core; // Enhanced SIMD-optimized core statistical operations
607                            // pub mod advanced_parallel_stats; // Performance enhanced benchmark suite with advanced analytics // Advanced-parallel statistical computing framework // Production deployment utilities and validation
608
609// Module substructure following SciPy's organization
610pub mod advanced_integration; // High-level workflows integrating multiple advanced methods
611pub mod advanced_parallel_monte_carlo; // Advanced parallel Monte Carlo integration
612pub mod bayesian; // Bayesian statistics
613pub mod contingency; // Contingency table functions
614pub mod distributions; // Statistical distributions
615pub mod gaussian_process; // Gaussian Process regression
616pub mod math_utils;
617pub mod mcmc; // Markov Chain Monte Carlo methods
618pub mod mstats; // Masked array statistics
619pub mod multivariate; // Multivariate analysis (PCA, etc.)
620pub mod qmc; // Quasi-Monte Carlo
621pub mod sampling; // Sampling utilities
622pub mod survival; // Survival analysis
623pub mod traits; // Trait definitions for distributions and statistical objects // Mathematical utility functions with SIMD acceleration (abs, sign)
624
625// Comprehensive validation and testing frameworks for v1.0.0
626// pub mod comprehensive_validation_suite;
627pub mod numerical_stability_analyzer; // Numerical stability analysis framework
628                                      // pub mod propertybased_validation; // Property-based testing for mathematical invariants
629pub mod scipy_benchmark_framework; // SciPy comparison and benchmarking framework // Unified validation suite integrating all frameworks
630
631// Export commonly used traits
632pub use traits::{
633    CircularDistribution, ContinuousDistribution, DiscreteDistribution, Distribution, Fittable,
634    MultivariateDistribution, Truncatable,
635};
636
637// v0.2.0 SIMD enhancements
638pub mod correlation_simd_enhanced; // Enhanced correlation and covariance with SIMD
639pub mod parallel_simd_stats;
640pub mod sampling_simd; // SIMD-optimized distribution sampling // Parallel processing with SIMD acceleration
641
642pub use correlation_simd_enhanced::{
643    covariance_matrix_simd, partial_correlation_simd, rolling_correlation_simd, spearman_r_simd,
644};
645pub use parallel_simd_stats::{
646    bootstrap_parallel_simd, corrcoef_parallel_simd, covariance_matrix_parallel_simd,
647    pairwise_distances_parallel_simd, row_statistics_parallel_simd,
648};
649pub use sampling_simd::{
650    bootstrap_simd, box_muller_simd, exponential_simd, inverse_transform_simd,
651};
652
653// Core functions for descriptive statistics
654mod adaptive_memory_advanced;
655pub mod advanced_simd_stats;
656mod bayesian_advanced;
657mod cross_platform_regression_detection;
658mod descriptive;
659mod descriptive_simd;
660mod dispersion_simd;
661mod mcmc_advanced;
662mod memory_efficient;
663mod memory_optimized_advanced;
664mod memory_optimized_v2;
665mod memory_profiler_v3;
666mod memory_profiling;
667mod mixture_models;
668pub mod moments_simd;
669mod multivariate_advanced;
670// pub mod numerical_stability_enhancements;
671mod parallel_advanced;
672mod parallel_advanced_v3;
673mod parallel_enhanced_v2;
674mod parallel_enhanced_v4;
675mod parallel_stats;
676mod parallel_stats_enhanced;
677// mod propertybased_tests_extended;
678mod quantile_simd;
679mod quantum_advanced;
680mod simd_advanced;
681mod simd_comprehensive;
682mod simd_enhanced;
683mod simd_enhanced_advanced;
684mod simd_enhanced_v3;
685mod simd_enhanced_v4;
686mod simd_enhanced_v5;
687mod simd_enhanced_v6;
688mod simd_optimized_v2;
689mod spectral_advanced;
690mod streaming_advanced;
691mod survival_advanced;
692mod survival_enhanced;
693mod topological_advanced;
694// Temporarily commented out for compilation fixes
695// pub mod advanced_benchmark_validation;
696// pub mod advanced_cross_platform_validation;
697// pub mod advanced_memory_advanced_enhanced;
698// pub mod parallel_enhancements;
699// pub mod advanced_parallel_advanced_enhanced;
700// pub mod advanced_property_testing_advanced_enhanced;
701// pub mod advanced_property_tests;
702// pub mod unified_processor; // Commented out for now
703// pub mod advanced_stubs; // Temporary stubs for compilation
704pub use descriptive::*;
705pub use descriptive_simd::{descriptive_stats_simd, mean_simd, std_simd, variance_simd};
706pub use dispersion_simd::{
707    coefficient_of_variation_simd, gini_simd, iqr_simd, mad_simd, median_abs_deviation_simd,
708    percentile_range_simd, range_simd, sem_simd,
709};
710pub use moments_simd::{kurtosis_simd, moment_simd, moments_batch_simd, skewness_simd};
711pub use simd_enhanced_core::{
712    comprehensive_stats_simd as comprehensive_stats_enhanced, correlation_simd_enhanced,
713    mean_enhanced, variance_enhanced, ComprehensiveStats,
714};
715
716// Property-based testing framework
717pub use adaptive_memory_advanced::{
718    create_adaptive_memory_manager, create_optimized_memory_manager, AdaptiveMemoryConfig,
719    AdaptiveMemoryManager as AdvancedAdaptiveMemoryManager, AllocationStrategy,
720    CacheOptimizationConfig, F32AdaptiveMemoryManager, F64AdaptiveMemoryManager, GCResult,
721    GarbageCollectionConfig, MemoryPressureConfig, MemoryUsageStatistics, NumaConfig,
722    OutOfCoreConfig, PredictiveConfig,
723};
724pub use advanced_simd_stats::{
725    AccuracyLevel, AdvancedSimdConfig as AdvancedSimdConfigV2, AdvancedSimdOptimizer,
726    AlgorithmChoice as AdvancedAlgorithmChoice, BatchOperation, BatchResults,
727    MemoryConstraints as AdvancedMemoryConstraints, PerformancePreference,
728    PerformanceProfile as AdvancedPerformanceProfile, ScalarAlgorithm, SimdAlgorithm,
729    ThreadingPreferences,
730};
731pub use bayesian_advanced::{
732    ActivationType, AdvancedBayesianResult, AdvancedPrior, BayesianGaussianProcess, BayesianModel,
733    BayesianModelComparison, BayesianNeuralNetwork, ModelComparisonResult, ModelSelectionCriterion,
734    ModelType,
735};
736pub use cross_platform_regression_detection::{
737    create_regression_detector, create_regression_detector_with_config, BaselineStatistics,
738    CompilerContext, CrossPlatformRegressionConfig, CrossPlatformRegressionDetector,
739    HardwareContext, PerformanceBaseline, PerformanceMeasurement, PerformanceRecommendation,
740    PlatformComparison, PlatformInfo, RegressionAnalysisResult, RegressionReport, RegressionStatus,
741    RegressionSummaryStatistics, TrendAnalysis, TrendDirection as RegressionTrendDirection,
742};
743pub use either::Either;
744pub use mcmc_advanced::{
745    AdaptationConfig, AdvancedAdvancedConfig, AdvancedAdvancedMCMC, AdvancedAdvancedResults,
746    AdvancedTarget, ConvergenceDiagnostics, PerformanceMetrics as MCMCPerformanceMetrics,
747    SamplingMethod, TemperingConfig,
748};
749pub use memory_efficient::{
750    covariance_chunked, normalize_inplace, quantile_quickselect, streaming_mean, welford_variance,
751    StreamingHistogram,
752};
753pub use memory_optimized_advanced::{
754    cache_oblivious_matrix_mult, corrcoef_memory_aware, pca_memory_efficient,
755    streaming_covariance_matrix, streaming_histogram_adaptive, streaming_pca_enhanced,
756    streaming_quantiles_p2, streaming_regression_enhanced,
757    AdaptiveMemoryManager as AdvancedMemoryManager, MemoryConstraints,
758    MemoryStatistics as AdvancedMemoryStatistics, PCAResult,
759};
760pub use memory_optimized_v2::{
761    mean_zero_copy, variance_cache_aware, LazyStats, MemoryConfig, MemoryPool, StreamingCovariance,
762};
763pub use memory_profiler_v3::{
764    AdaptiveMemoryManager, AlgorithmChoice as MemoryAlgorithmChoice, AllocationStats, CacheStats,
765    MemoryProfiler, MemoryReport, ProfiledStatistics, StatisticsCache,
766};
767pub use memory_profiling::{
768    cache_friendly, memory_mapped, zero_copy, AlgorithmChoice, LazyStatComputation,
769    MemoryAdaptiveAlgorithm, MemoryTracker, RingBufferStats,
770};
771pub use mixture_models::{
772    benchmark_mixture_models, gaussian_mixture_model, gmm_cross_validation, gmm_model_selection,
773    hierarchical_gmm_init, kernel_density_estimation, BandwidthMethod, ComponentDiagnostics,
774    ConvergenceReason, CovarianceConstraint, CovarianceType, GMMConfig, GMMParameters,
775    GaussianMixtureModel, InitializationMethod, KDEConfig, KernelDensityEstimator, KernelType,
776    ModelSelectionCriteria, ParameterSnapshot, RobustGMM, StreamingGMM,
777};
778pub use multivariate_advanced::{
779    ActivationFunction, AdvancedMultivariateAnalysis, AdvancedMultivariateConfig,
780    AdvancedMultivariateResults, ClusteringAlgorithm, ClusteringConfig,
781    DimensionalityReductionMethod, ICAAlgorithm, ManifoldConfig, MultiViewConfig, PCAVariant,
782    TensorConfig, TensorDecomposition,
783};
784// pub use numerical_stability_enhancements::{
785//     create_advanced_think_numerical_stability_tester, create_exhaustive_numerical_stability_tester,
786//     create_fast_numerical_stability_tester, AdvancedNumericalStabilityConfig,
787//     AdvancedNumericalStabilityTester, CancellationDetectionResult, ComprehensiveStabilityResult,
788//     ConditionAnalysisResult, ConvergenceStabilityResult, CriticalIssueType,
789//     EdgeCaseGenerationApproach, EdgeCaseStabilityResult, EdgeCaseType, InvariantValidationResult,
790//     MonteCarloStabilityResult, NumericalStabilityThoroughness, OverflowMonitoringResult,
791//     PrecisionStabilityResult, PrecisionTestingStrategy, RegressionTestResult,
792//     StabilityAssessment as NumericalStabilityAssessment, StabilityRecommendation,
793//     StabilityTolerance, StabilityTrend, StabilityTrendAnalysis, WarningType,
794// };
795pub use parallel_advanced::{
796    AdvancedParallelConfig as AdvancedAdvancedParallelConfig,
797    AdvancedParallelProcessor as AdvancedAdvancedParallelProcessor, HardwareConfig,
798    MemoryConfig as AdvancedMemoryConfig, MemoryUsageStats, OptimizationConfig, ParallelStrategy,
799    PerformanceMetrics as AdvancedPerformanceMetrics,
800};
801pub use parallel_advanced_v3::{
802    AdvancedParallelConfig, ParallelBatchProcessor, ParallelCrossValidator, ParallelMatrixOps,
803    ParallelMonteCarlo,
804};
805pub use parallel_enhanced_advanced::{
806    create_advanced_parallel_processor, create_configured_parallel_processor,
807    AdvancedParallelConfig as EnhancedAdvancedParallelConfig, AdvancedParallelProcessor,
808    ChunkStrategy,
809};
810pub use parallel_enhanced_v2::{
811    bootstrap_parallel_enhanced, mean_parallel_enhanced, variance_parallel_enhanced, ParallelConfig,
812};
813pub use parallel_enhanced_v4::{
814    bootstrap_parallel_advanced, correlation_matrix_parallel_advanced, mean_parallel_advanced,
815    variance_parallel_advanced, EnhancedParallelConfig, EnhancedParallelProcessor,
816    MatrixParallelResult,
817};
818pub use parallel_stats::{
819    bootstrap_parallel, corrcoef_parallel, mean_parallel, quantiles_parallel,
820    row_statistics_parallel, variance_parallel,
821};
822pub use parallel_stats_enhanced::{
823    kde_parallel, pairwise_distances_parallel, AdaptiveThreshold, ParallelCrossValidation,
824    ParallelHistogram, ParallelMovingStats,
825};
826/*
827#[cfg(test)]
828pub use property_based_tests_extended::{
829    BatchProcessingTester, CrossPlatformTester, ExtendedMathematicalTester, FuzzingTester,
830    MathematicalInvariantTester, MatrixTestData, MemoryOptimizationTester,
831    NumericalStabilityTester, ParallelConsistencyTester, PerformanceRegressionTester,
832    RobustnessTester, SimdConsistencyTester, StatisticalTestData,
833};
834*/
835pub use quantile_simd::{
836    median_simd, percentile_simd, quantile_simd, quantiles_simd, quickselect_simd,
837};
838pub use quantum_advanced::{
839    AdvancedQuantumAnalyzer, DataEncodingMethod, QAEResults, QClusteringResults, QNNResults,
840    QPCAResults, QSVMResults, QuantumAdvantageMetrics, QuantumClusteringAlgorithm, QuantumConfig,
841    QuantumEnsembleResult, QuantumFeatureEncoding, QuantumFeatureMap, QuantumKernelType,
842    QuantumMeasurementBasis, QuantumModel, QuantumMonteCarloResult, QuantumPerformanceMetrics,
843    QuantumResults, QuantumVariationalResult, TensorNetworkResults, TensorNetworkType, VQEAnsatz,
844    VQEResults,
845};
846pub use simd_advanced::{
847    advanced_mean_f32, advanced_mean_f64, AdvancedSimdProcessor, AdvancedStatsResult,
848    CacheAwareVectorProcessor, MemoryPattern, VectorStrategy,
849};
850pub use simd_comprehensive::{
851    AdvancedComprehensiveSimdConfig, AdvancedComprehensiveSimdProcessor, ComprehensiveStatsResult,
852    MatrixStatsResult as AdvancedMatrixStatsResult,
853};
854pub use simd_enhanced::{
855    create_advanced_simd_processor, create_performance_optimized_simd_processor,
856    create_stability_optimized_simd_processor, AccuracyMetrics, AdvancedEnhancedSimdProcessor,
857    AdvancedSimdConfig as AdvancedEnhancedSimdConfig, AdvancedSimdResults,
858    CacheOptimizationStrategy, CpuCapabilities, F32AdvancedSimdProcessor, F64AdvancedSimdProcessor,
859    InstructionSet, MemoryAlignment, NumericalStabilityLevel, OperationPerformance,
860    OptimalAlgorithm, PerformanceStatistics as AdvancedSimdPerformanceStats, PrefetchStrategy,
861    ProfilingLevel, VectorizationLevel,
862};
863pub use simd_enhanced_advanced::{
864    bootstrap_mean_simd, corrcoef_matrix_simd, linear_regression_simd, robust_statistics_simd,
865    ttest_ind_simd,
866};
867pub use simd_enhanced_v3::{
868    cosine_distance_simd, detect_outliers_zscore_simd, distance_matrix_simd,
869    euclidean_distance_simd, histogram_simd, manhattan_distance_simd, MovingWindowSIMD,
870};
871pub use simd_enhanced_v4::{
872    batch_normalize_simd, comprehensive_stats_simd,
873    covariance_matrix_simd as covariance_matrix_simd_v4, exponential_moving_average_simd,
874    outlier_detection_zscore_simd, quantiles_batch_simd,
875    robust_statistics_simd as robust_stats_v4_simd, sliding_window_stats_simd,
876    ComprehensiveStats as V4ComprehensiveStats, RobustStats, SlidingWindowStats,
877};
878pub use simd_enhanced_v5::{
879    rolling_statistics_simd, BootstrapResult, BootstrapStatistic, KernelType as V5KernelType,
880    MatrixOperation, MatrixStatsResult, RollingStatistic, RollingStatsResult,
881};
882pub use simd_enhanced_v6::{
883    advanced_comprehensive_simd, advanced_mean_simd, advanced_std_simd, AdvancedSimdConfig,
884    AdvancedSimdOps, BootstrapResult as V6BootstrapResult,
885    ComprehensiveStats as V6ComprehensiveStats, MatrixStatsResult as V6MatrixStatsResult,
886};
887pub use simd_optimized_v2::{
888    mean_simd_optimized, stats_simd_single_pass, variance_simd_optimized, SimdConfig,
889};
890pub use spectral_advanced::{
891    ActivationFunction as SpectralActivationFunction, AdvancedSpectralAnalyzer,
892    AdvancedSpectralConfig, AdvancedSpectralResults, CoherenceConfig, CoherenceResults,
893    HigherOrderResults, HigherOrderSpectralConfig, MLSpectralConfig, MLSpectralResults,
894    MultiTaperConfig, NonStationaryConfig, SpectralPeak, SpectralPerformanceMetrics,
895    SpectrogramType, WaveletConfig, WaveletResults, WaveletType, WindowFunction,
896};
897pub use streaming_advanced::{
898    create_advanced_streaming_processor, create_streaming_processor_with_config,
899    AdvancedAdvancedStreamingProcessor, AdvancedStreamingConfig, AnomalyDetectionAlgorithm,
900    AnomalyDetector, AnomalyEvent, AnomalySeverity, ChangePointAlgorithm, ChangePointDetector,
901    ChangePointEvent, CompressionAlgorithm, CompressionEngine, CompressionSummary,
902    IncrementalMLModel, MLModelType, StreamProcessingMode, StreamingAnalyticsResult,
903    StreamingPerformanceMetrics, StreamingRecommendation, StreamingStatistics, WindowingStrategy,
904};
905pub use survival_advanced::{
906    AFTDistribution, ActivationFunction as SurvivalActivationFunction, AdvancedSurvivalAnalysis,
907    AdvancedSurvivalConfig, AdvancedSurvivalResults, CausalSurvivalConfig, CompetingRisksConfig,
908    EnsembleConfig as SurvivalEnsembleConfig, SurvivalModel, SurvivalModelType, SurvivalPrediction,
909};
910pub use survival_enhanced::{
911    cox_regression, kaplan_meier, log_rank_test, CoxConfig, CoxConvergenceInfo,
912    CoxProportionalHazards, EnhancedKaplanMeier,
913};
914pub use topological_advanced::{
915    AdvancedTopologicalAnalyzer, CoeffientField, DistanceMetric, FilterFunction, Filtration,
916    FiltrationType, MapperEdge, MapperGraph, MapperNode, MultiscaleResults, PersistenceAlgorithm,
917    PersistenceDiagram, Simplex, SimplicialChain, SimplicialComplex, TopologicalConfig,
918    TopologicalInferenceResults, TopologicalPerformanceMetrics, TopologicalResults,
919};
920// Temporarily commented out for compilation fixes
921/*
922pub use advanced_cross_platform_validation::{
923    create_cross_platform_validator, CompatibilityRating, CrossPlatformTestResult,
924    CrossPlatformValidationReport, CrossPlatformValidator, PerformancePlatformProfile,
925};
926pub use advanced_memory_advanced_enhanced::{
927    create_largedataset_memory_manager, create_streaming_memory_manager,
928    create_advanced_think_memory_manager, AccessPattern, BatchMemoryResult, CacheImportance,
929    LifetimeHint, MemoryOptimizationLevel, MemoryPoolStrategy, MemoryStatistics, MemoryUsageHint,
930    NumaMemoryPolicy, AdvancedMemoryConfig as AdvancedMemoryConfigV2, AdvancedMemoryManager,
931};
932pub use parallel_enhancements::{
933    create_configured_advanced_parallel_processor as create_configured_advanced_parallel_processor,
934    create_advanced_parallel_processor as create_advanced_parallel_processor,
935    LoadBalancingStrategy as AdvancedLoadBalancingStrategy, MatrixOperationType,
936    ParallelExecutionMetrics as AdvancedParallelExecutionMetrics, ParallelPerformanceAnalytics,
937    TimeSeriesOperation, AdvancedParallelBatchResult, AdvancedParallelMatrixResult,
938};
939pub use advanced_parallel_advanced_enhanced::{
940    create_largedataset_parallel_processor, create_streaming_parallel_processor,
941    create_advanced_think_parallel_processor, BatchOperation as AdvancedBatchOperation,
942    LoadBalancingIntelligence, MemoryAwarenessLevel, NumaTopologyAwareness, PredictionModelType,
943    StatisticalOperation as AdvancedStatisticalOperation,
944    StreamingOperation as AdvancedStreamingOperation, ThreadPoolStrategy,
945    AdvancedParallelBatchResult as AdvancedParallelBatchResultV2, AdvancedParallelStatisticsResult,
946    AdvancedParallelStreamingResult, AdvancedParallelConfig as AdvancedParallelConfigV2,
947    AdvancedParallelConfig, AdvancedParallelProcessor,
948};
949pub use advanced_property_testing_advanced_enhanced::{
950    create_comprehensive_property_tester, create_fast_property_tester,
951    create_advanced_think_property_tester, ComprehensivePropertyTestResult,
952    EdgeCaseGenerationStrategy, EdgeCaseTestResult, FuzzingTestResult,
953    MathematicalInvariantTestResult, NumericalStabilityTestResult, NumericalTolerance,
954    PropertyGenerationStrategy, RegressionDetectionResult, StatisticalPropertyTestResult,
955    TestingThoroughnessLevel, AdvancedPropertyConfig as AdvancedPropertyConfigV2,
956    AdvancedPropertyTester,
957};
958pub use advanced_property_tests::{
959    create_advanced_property_tester, ComprehensiveTestReport, PropertyTestResult,
960    AdvancedPropertyTester,
961};
962pub use unified_processor::{
963    create_configured_advanced_processor, create_advanced_processor, OptimizationMode,
964    ProcessingStrategy, AdvancedComprehensiveResult, AdvancedMatrixResult,
965    AdvancedPerformanceAnalytics, AdvancedProcessorConfig, AdvancedTimeSeriesResult,
966    AdvancedUnifiedProcessor,
967};
968*/
969
970// Advanced benchmark validation - temporarily commented out
971/*
972pub use advanced_benchmark_validation::{
973    create_custom_advanced_validator, create_advanced_validator, AdvancedBenchmarkValidator,
974    ValidationConfig as ComprehensiveValidationConfig, ValidationReport as AdvancedValidationReport,
975    ValidationResult as ComprehensiveValidationResult,
976};
977*/
978
979// MCMC module
980pub use mcmc::ChainStatistics;
981
982// Statistical tests module
983pub mod tests;
984pub use tests::anova::{one_way_anova, tukey_hsd};
985pub use tests::chi2_test::{chi2_gof, chi2_independence, chi2_yates};
986pub use tests::nonparametric::{friedman, kruskal_wallis, mann_whitney, wilcoxon};
987pub use tests::normality::{anderson_darling, dagostino_k2, ks_2samp, shapiro_wilk};
988pub use tests::ttest::{ttest_1samp, ttest_ind, ttest_ind_from_stats, ttest_rel, TTestResult};
989pub use tests::*;
990
991// Correlation measures
992mod correlation;
993mod correlation_parallel_enhanced;
994mod correlation_simd;
995pub use correlation::intraclass::icc;
996pub use correlation::{
997    corrcoef, kendall_tau, kendalltau, partial_corr, partial_corrr, pearson_r, pearsonr,
998    point_biserial, point_biserialr, spearman_r, spearmanr,
999};
1000pub use correlation_parallel_enhanced::{
1001    batch_correlations_parallel, corrcoef_parallel_enhanced, pearson_r_simd_enhanced,
1002    rolling_correlation_parallel, ParallelCorrelationConfig,
1003};
1004pub use correlation_simd::{corrcoef_simd, covariance_simd, pearson_r_simd};
1005
1006// Dispersion and variability measures
1007mod dispersion;
1008pub use dispersion::{
1009    coef_variation, data_range, gini_coefficient, iqr, mean_abs_deviation, median_abs_deviation,
1010};
1011
1012// Quantile-based statistics
1013mod quantile;
1014pub use quantile::{
1015    boxplot_stats, deciles, percentile, quantile, quartiles, quintiles, winsorized_mean,
1016    winsorized_variance, QuantileInterpolation,
1017};
1018
1019// Distribution characteristics statistics
1020pub mod distribution_characteristics;
1021pub use distribution_characteristics::{
1022    cross_entropy, entropy, kl_divergence, kurtosis_ci, mode, skewness_ci, ConfidenceInterval,
1023    Mode, ModeMethod,
1024};
1025
1026// Core functions for regression analysis
1027pub mod regression;
1028pub use regression::{
1029    elastic_net, group_lasso, huber_regression, lasso_regression, linear_regression, linregress,
1030    multilinear_regression, odr, polyfit, ransac, ridge_regression, stepwise_regression,
1031    theilslopes, HuberT, RegressionResults, StepwiseCriterion, StepwiseDirection, StepwiseResults,
1032    TheilSlopesResult,
1033};
1034
1035// Core functions for random number generation
1036pub mod random;
1037pub use random::*;
1038
1039#[cfg(test)]
1040mod test_utils {
1041    // Common utilities for testing statistical functions
1042
1043    /// Generate a simple test array
1044    pub fn test_array() -> scirs2_core::ndarray::Array1<f64> {
1045        scirs2_core::ndarray::array![1.0, 2.0, 3.0, 4.0, 5.0]
1046    }
1047}