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