#[non_exhaustive]
#[derive(Copy, Clone, Debug, Eq, PartialEq, Default)]
pub enum DiagnosticCode {
#[default]
None,
BoundaryValidationFailed,
IterationLimit,
ConditioningWarning,
WorkspaceReinitialized,
CancellationObserved,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq, Default)]
pub struct DiagnosticSnapshot {
pub code: DiagnosticCode,
pub iteration: u32,
pub primary_index: u16,
pub secondary_index: u16,
}
const _: () = assert!(core::mem::size_of::<DiagnosticSnapshot>() <= 16);
impl DiagnosticSnapshot {
pub const EMPTY: Self = Self {
code: DiagnosticCode::None,
iteration: 0,
primary_index: 0,
secondary_index: 0,
};
}