u_numflow/lib.rs
1//! # u-numflow
2//!
3//! Foundational mathematical primitives.
4//!
5//! This crate provides foundational mathematical, statistical, and probabilistic
6//! building blocks that are domain-agnostic. It knows nothing about scheduling,
7//! nesting, geometry, or any consumer domain.
8//!
9//! ## Modules
10//!
11//! - [`stats`] — Descriptive statistics with numerical stability guarantees
12//! - [`distributions`] — Probability distributions (Uniform, Triangular, PERT, Normal, LogNormal, Weibull)
13//! - [`special`] — Special mathematical functions (normal CDF, inverse normal CDF)
14//! - [`matrix`] — Dense matrix operations (multiply, determinant, inverse, Cholesky)
15//! - [`random`] — Random number generation, shuffling, and weighted sampling
16//! - [`collections`] — Specialized data structures (Union-Find)
17//! - [`transforms`] — Box-Cox power transformation
18//! - [`fourier`] — Discrete Fourier transform of any length (radix-2 / Bluestein)
19//!
20//! ## Design Philosophy
21//!
22//! - **Numerical stability first**: Welford's algorithm for variance,
23//! Neumaier summation for accumulation
24//! - **Reproducibility**: Seeded RNG support for deterministic experiments
25//! - **Property-based testing**: Mathematical invariants verified via proptest
26
27pub mod collections;
28pub mod distributions;
29pub mod fourier;
30pub mod matrix;
31pub mod random;
32pub mod special;
33pub mod stats;
34pub mod transforms;
35pub mod units;
36
37#[cfg(feature = "ffi")]
38pub mod ffi;
39#[cfg(feature = "wasm")]
40pub mod wasm;
41#[cfg(any(feature = "wasm", feature = "ffi"))]
42mod wire;
43
44// The README's Rust examples are the first code most users copy, so they are
45// compiled and run with the doc-tests. Without this they were checked by
46// nothing.
47#[cfg(doctest)]
48#[doc = include_str!("../README.md")]
49pub struct ReadmeDoctests;