pub struct RegimeEnvelope { /* private fields */ }Expand description
Regime-sensitive admissibility envelope with dynamic radius tracking.
Wraps AdmissibilityEnvelope and adds:
- Mode-dependent radius updates (widening / tightening EMA)
- Regime switching (snap between ρ_base and ρ_max)
- Grammar trust scalar computation
- Aggregate-mode maximum over multiple constraints
§Stack footprint: ~48 bytes (all f32 + enum tags)
Implementations§
Source§impl RegimeEnvelope
impl RegimeEnvelope
Sourcepub const fn new(params: RegimeEnvelopeParams) -> Self
pub const fn new(params: RegimeEnvelopeParams) -> Self
Construct with given parameters, starting in Fixed mode at ρ_base.
Sourcepub fn from_envelope(env: &AdmissibilityEnvelope) -> Self
pub fn from_envelope(env: &AdmissibilityEnvelope) -> Self
Construct directly from a base AdmissibilityEnvelope.
Sourcepub fn set_mode(&mut self, mode: EnvelopeMode)
pub fn set_mode(&mut self, mode: EnvelopeMode)
Set a different operating mode.
Sourcepub fn mode(&self) -> EnvelopeMode
pub fn mode(&self) -> EnvelopeMode
Current mode.
Sourcepub fn update(
&mut self,
norm: f32,
regime: RfRegime,
other_rho: &[f32],
) -> EnvelopeUpdateResult
pub fn update( &mut self, norm: f32, regime: RfRegime, other_rho: &[f32], ) -> EnvelopeUpdateResult
Update the envelope for one observation of residual norm.
Adjusts ρ_eff according to the current mode, then computes and returns the grammar trust scalar.
other_rho is only used in Aggregate mode (max over all provided
values); pass an empty slice for other modes.
Sourcepub fn update_with_slew(
&mut self,
norm: f32,
regime: RfRegime,
other_rho: &[f32],
delta_norm: f32,
) -> (EnvelopeUpdateResult, bool)
pub fn update_with_slew( &mut self, norm: f32, regime: RfRegime, other_rho: &[f32], delta_norm: f32, ) -> (EnvelopeUpdateResult, bool)
Update with explicit delta_norm for slew detection.
Returns (EnvelopeUpdateResult, abrupt_slew).
Auto Trait Implementations§
impl Freeze for RegimeEnvelope
impl RefUnwindSafe for RegimeEnvelope
impl Send for RegimeEnvelope
impl Sync for RegimeEnvelope
impl Unpin for RegimeEnvelope
impl UnsafeUnpin for RegimeEnvelope
impl UnwindSafe for RegimeEnvelope
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