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;
|
mod approx;
|
||||||
pub mod batch;
|
pub mod batch;
|
||||||
pub mod drift;
|
pub mod drift;
|
||||||
|
mod error;
|
||||||
mod game;
|
mod game;
|
||||||
pub mod gaussian;
|
pub mod gaussian;
|
||||||
mod history;
|
mod history;
|
||||||
@@ -19,6 +20,7 @@ mod message;
|
|||||||
pub mod player;
|
pub mod player;
|
||||||
|
|
||||||
pub use drift::{ConstantDrift, Drift};
|
pub use drift::{ConstantDrift, Drift};
|
||||||
|
pub use error::InferenceError;
|
||||||
pub use game::Game;
|
pub use game::Game;
|
||||||
pub use gaussian::Gaussian;
|
pub use gaussian::Gaussian;
|
||||||
pub use history::History;
|
pub use history::History;
|
||||||
|
|||||||
Reference in New Issue
Block a user