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
38
39
40
41
42
43
44
45
46
//! `glmm` — standalone f64 GLMM fit kernels (OLS → GLM → LMM → GLMM).
//!
//! Two public surfaces (see the carve design spec §5):
//! - [`fit`] + [`ModelSpec`]: the stable, semver-covered friendly API.
//! - `mcpower` (cargo feature, off by default): the unstable scratch-explicit
//! hot-path surface MCPower's simulation layer binds to. NO semver guarantees.
// The scratch-explicit kernels (glm/glmm/lme + most of lmm) exist to serve the
// `mcpower` feature; the stable `fit` wires only a subset (OLS + LMM). With the
// feature OFF they are intentionally unreachable, not stale — so suppress
// dead_code only in that build. The `mcpower` build uses all of it, so genuinely
// dead code is still caught there (it's the superset).
pub use ;
pub use *;
/// Tiny float guard — magnitudes below this are treated as zero (rank /
/// division-by-zero sentinel). Mirrors v1's FLOAT_NEAR_ZERO; comparing
/// `β̂²/var_diag` against thresholds with NaN propagates as "fail" downstream.
/// Duplicated in engine-core (still used there by data_gen/posthoc) — a 1-line
/// numeric sentinel is fewer moving parts than a cross-crate `pub` edge.
pub const FLOAT_NEAR_ZERO: f64 = 1e-30;
// dhat alloc-profiling for the `#[ignore]` warm-path bounded-alloc tests.
// cfg(test) only — the externalizable library never ships a custom allocator.
static ALLOC: Alloc = Alloc;