pub struct StrictScoreGivenTrace<'e> {
pub base: Trace,
pub trace: Trace,
/* private fields */
}Expand description
The strict, fallible sibling of ScoreGivenTrace.
This handler backs score_given_trace_strict. Instead of panicking when
the model’s address structure differs from the base trace, it records the
first structural problem so the driver can return a FugueError:
- visiting an address absent from the base trace (or present with the wrong
value type) ->
ErrorCode::UnexpectedModelStructure; - visiting the same address twice ->
ErrorCode::AddressConflict.
On success every visited site stores a fresh, correctly scored choice.
Fields§
§base: TraceBase trace containing the fixed choices to score.
trace: TraceNew trace to accumulate log-probabilities.
Trait Implementations§
Source§impl<'e> Handler for StrictScoreGivenTrace<'e>
impl<'e> Handler for StrictScoreGivenTrace<'e>
Source§fn on_sample_f64(&mut self, addr: &Address, dist: &dyn Distribution<f64>) -> f64
fn on_sample_f64(&mut self, addr: &Address, dist: &dyn Distribution<f64>) -> f64
Handle an f64 sampling operation (continuous distributions).
Source§fn on_sample_bool(
&mut self,
addr: &Address,
dist: &dyn Distribution<bool>,
) -> bool
fn on_sample_bool( &mut self, addr: &Address, dist: &dyn Distribution<bool>, ) -> bool
Handle a bool sampling operation (Bernoulli).
Source§fn on_sample_u64(&mut self, addr: &Address, dist: &dyn Distribution<u64>) -> u64
fn on_sample_u64(&mut self, addr: &Address, dist: &dyn Distribution<u64>) -> u64
Handle a u64 sampling operation (Poisson, Binomial).
Source§fn on_sample_usize(
&mut self,
addr: &Address,
dist: &dyn Distribution<usize>,
) -> usize
fn on_sample_usize( &mut self, addr: &Address, dist: &dyn Distribution<usize>, ) -> usize
Handle a usize sampling operation (Categorical).
Source§fn on_sample_i64(&mut self, addr: &Address, dist: &dyn Distribution<i64>) -> i64
fn on_sample_i64(&mut self, addr: &Address, dist: &dyn Distribution<i64>) -> i64
Handle an i64 sampling operation (signed discrete distributions). Read more
Source§fn on_observe_f64(
&mut self,
_addr: &Address,
dist: &dyn Distribution<f64>,
value: f64,
)
fn on_observe_f64( &mut self, _addr: &Address, dist: &dyn Distribution<f64>, value: f64, )
Handle an f64 observation operation.
Source§fn on_observe_bool(
&mut self,
_addr: &Address,
dist: &dyn Distribution<bool>,
value: bool,
)
fn on_observe_bool( &mut self, _addr: &Address, dist: &dyn Distribution<bool>, value: bool, )
Handle a bool observation operation.
Source§fn on_observe_u64(
&mut self,
_addr: &Address,
dist: &dyn Distribution<u64>,
value: u64,
)
fn on_observe_u64( &mut self, _addr: &Address, dist: &dyn Distribution<u64>, value: u64, )
Handle a u64 observation operation.
Source§fn on_observe_usize(
&mut self,
_addr: &Address,
dist: &dyn Distribution<usize>,
value: usize,
)
fn on_observe_usize( &mut self, _addr: &Address, dist: &dyn Distribution<usize>, value: usize, )
Handle a usize observation operation.
Source§fn on_observe_i64(
&mut self,
_addr: &Address,
dist: &dyn Distribution<i64>,
value: i64,
)
fn on_observe_i64( &mut self, _addr: &Address, dist: &dyn Distribution<i64>, value: i64, )
Handle an i64 observation operation. Read more
Auto Trait Implementations§
impl<'e> !UnwindSafe for StrictScoreGivenTrace<'e>
impl<'e> Freeze for StrictScoreGivenTrace<'e>
impl<'e> RefUnwindSafe for StrictScoreGivenTrace<'e>
impl<'e> Send for StrictScoreGivenTrace<'e>
impl<'e> Sync for StrictScoreGivenTrace<'e>
impl<'e> Unpin for StrictScoreGivenTrace<'e>
impl<'e> UnsafeUnpin for StrictScoreGivenTrace<'e>
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