Skip to main content

gam_identifiability/
lib.rs

1//! Identifiability: one coherent home for every identifiability concern in the
2//! crate.
3//!
4//! - [`kernel`] — the low-level rank / null-space kernels.
5//! - [`precondition`] — cheap pre-fit precondition checks.
6//! - [`audit`] — the joint cross-block identifiability audit.
7//! - [`canonical`] — canonicalization of specs for identifiability.
8//! - [`families`] — the family-agnostic block compiler, its GPU paths, and the
9//!   per-family row-Hessian implementations.
10
11#[macro_export]
12macro_rules! bail_dim_custom {
13    ($fmt:literal $(, $($arg:tt)*)?) => {
14        return Err(gam_problem::CustomFamilyError::DimensionMismatch {
15            reason: format!($fmt $(, $($arg)*)?),
16        })
17    };
18    ($msg:expr $(,)?) => {
19        return Err(gam_problem::CustomFamilyError::DimensionMismatch { reason: $msg })
20    };
21}
22
23pub mod audit;
24pub mod canonical;
25pub mod families;
26pub mod kernel;
27pub mod precondition;