Skip to main content

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;
35
36#[cfg(feature = "ffi")]
37pub mod ffi;
38#[cfg(feature = "wasm")]
39pub mod wasm;
40#[cfg(any(feature = "wasm", feature = "ffi"))]
41mod wire;
42
43// The README's Rust examples are the first code most users copy, so they are
44// compiled and run with the doc-tests. Without this they were checked by
45// nothing.
46#[cfg(doctest)]
47#[doc = include_str!("../README.md")]
48pub struct ReadmeDoctests;