pub struct JidokaGuard { /* private fields */ }Expand description
Jidoka guard for autonomous anomaly detection.
§Example
use simular::engine::jidoka::{JidokaGuard, JidokaConfig};
use simular::engine::state::SimState;
let mut guard = JidokaGuard::new(JidokaConfig::default());
let state = SimState::default();
// Check will pass for valid state
assert!(guard.check(&state).is_ok());Implementations§
Source§impl JidokaGuard
impl JidokaGuard
Sourcepub const fn new(config: JidokaConfig) -> Self
pub const fn new(config: JidokaConfig) -> Self
Create a new Jidoka guard with given configuration.
Sourcepub fn from_config(config: &SimConfig) -> Self
pub fn from_config(config: &SimConfig) -> Self
Create from simulation configuration.
Sourcepub fn check(&mut self, state: &SimState) -> SimResult<()>
pub fn check(&mut self, state: &SimState) -> SimResult<()>
Check state for anomalies (Jidoka inspection).
This method should be called after every simulation step.
§Errors
Returns SimError if any anomaly is detected:
NonFiniteValue: NaN or Inf foundEnergyDrift: Energy conservation violatedConstraintViolation: Physical constraint exceeded
Sourcepub const fn config(&self) -> &JidokaConfig
pub const fn config(&self) -> &JidokaConfig
Get current configuration.
Sourcepub fn check_with_warnings(
&mut self,
state: &SimState,
) -> Result<Vec<JidokaWarning>, SimError>
pub fn check_with_warnings( &mut self, state: &SimState, ) -> Result<Vec<JidokaWarning>, SimError>
Check state with graduated severity (smart Jidoka).
Returns warnings for approaching violations without stopping. Only returns errors for Critical or Fatal violations.
§Errors
Returns error for Critical/Fatal violations.
Trait Implementations§
Source§impl Clone for JidokaGuard
impl Clone for JidokaGuard
Source§fn clone(&self) -> JidokaGuard
fn clone(&self) -> JidokaGuard
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for JidokaGuard
impl RefUnwindSafe for JidokaGuard
impl Send for JidokaGuard
impl Sync for JidokaGuard
impl Unpin for JidokaGuard
impl UnsafeUnpin for JidokaGuard
impl UnwindSafe for JidokaGuard
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more