#[derive(Debug)]
pub enum AnalysisComputeError {
NoSnapshots,
Session(crate::simulation::SessionError),
OutRead(String),
InvalidInput(String),
}
impl std::fmt::Display for AnalysisComputeError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::NoSnapshots => write!(f, "simulation has no snapshots"),
Self::Session(e) => write!(f, "failed to read simulation results: {e}"),
Self::OutRead(e) => write!(f, "failed to read output file: {e}"),
Self::InvalidInput(e) => write!(f, "invalid analysis input: {e}"),
}
}
}
impl std::error::Error for AnalysisComputeError {}
impl From<crate::simulation::SessionError> for AnalysisComputeError {
fn from(value: crate::simulation::SessionError) -> Self {
Self::Session(value)
}
}