feat: introduce InferenceError; mu_sigma panic already eliminated
mu_sigma was deleted as part of the Gaussian nat-param rewrite (its only callers were the old Mul/Div impls). This commit adds the InferenceError enum as a seed for the T2 API surface, with the NegativePrecision variant that mu_sigma would have returned. Part of T0 engine redesign.
This commit is contained in:
18
src/error.rs
Normal file
18
src/error.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum InferenceError {
|
||||
NegativePrecision { pi: f64 },
|
||||
}
|
||||
|
||||
impl fmt::Display for InferenceError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Self::NegativePrecision { pi } => {
|
||||
write!(f, "precision must be non-negative; got {pi}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl std::error::Error for InferenceError {}
|
||||
@@ -11,6 +11,7 @@ pub mod agent;
|
||||
mod approx;
|
||||
pub mod batch;
|
||||
pub mod drift;
|
||||
mod error;
|
||||
mod game;
|
||||
pub mod gaussian;
|
||||
mod history;
|
||||
@@ -19,6 +20,7 @@ mod message;
|
||||
pub mod player;
|
||||
|
||||
pub use drift::{ConstantDrift, Drift};
|
||||
pub use error::InferenceError;
|
||||
pub use game::Game;
|
||||
pub use gaussian::Gaussian;
|
||||
pub use history::History;
|
||||
|
||||
Reference in New Issue
Block a user