1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! `salib-core` — foundational types for the salib sensitivity-analysis
//! library.
//!
//! Owns the experiment-level vocabulary that every other salib crate
//! composes against: [`Problem`], [`Factor`], the closed [`Distribution`]
//! enum, [`rng::RngState`] (multi-stream ChaCha20 with deterministic
//! salt-derived forking), and the [`reduce`] primitives
//! ([`reduce::tree_sum`], [`reduce::tree_dot`], [`reduce::tree_var`] and
//! their `par_` variants).
//!
//! Same architectural family as Python's `SALib`, R's `sensitivity`, and
//! MATLAB's `UQLab`.
//!
//! # Determinism
//!
//! `salib-core` is the determinism floor every sampler and estimator
//! stands on:
//!
//! - [`rng::RngState`] is a serializable RNG identity. Recording it
//! lets a verifier reconstruct any SA campaign's RNG stream.
//! - [`reduce`] reductions defeat the float-associativity
//! nondeterminism that naive `par_iter().sum()` over `f64` produces
//! under rayon. Bit-identical regardless of thread count.
pub use Distribution;
pub use ;
pub use ;
pub use ;