pub struct DiffStrategyConfig {
pub c_scan: f64,
pub c_emit: f64,
pub c_row: f64,
pub prior_alpha: f64,
pub prior_beta: f64,
pub decay: f64,
pub conservative: bool,
pub conservative_quantile: f64,
pub min_observation_cells: usize,
pub hysteresis_ratio: f64,
pub uncertainty_guard_variance: f64,
}Expand description
Configuration for the diff strategy selector.
Fields§
§c_scan: f64Cost weight for cell scanning (relative units). Default: 1.0
c_emit: f64Cost weight for cell emission (relative units). Typically higher than c_scan since it involves I/O. Default: 6.0
c_row: f64Cost weight for row-equality fast path check. Lower than full scan since it uses SIMD. Default: 0.1
prior_alpha: f64Prior α for Beta distribution (pseudo-count for “changed”). Default: 1.0 (uninformative prior weighted toward low change)
prior_beta: f64Prior β for Beta distribution (pseudo-count for “unchanged”). Default: 19.0 (prior E[p] = 0.05)
decay: f64Decay factor for exponential forgetting. Range: (0, 1], where 1.0 means no decay. Default: 0.95
conservative: boolWhether to use conservative (upper quantile) estimates. Default: false
conservative_quantile: f64Quantile for conservative mode (0.0 to 1.0). Default: 0.95
min_observation_cells: usizeMinimum cells changed to update posterior. Prevents noise from near-zero observations. Default: 0
hysteresis_ratio: f64Hysteresis ratio required to switch strategies.
A value of 0.05 means the new strategy must be at least 5% cheaper than the previous strategy to trigger a switch.
Default: 0.05
uncertainty_guard_variance: f64Variance threshold for uncertainty guard.
When posterior variance exceeds this threshold, the selector uses conservative quantiles and avoids FullRedraw.
Default: 0.002
Trait Implementations§
Source§impl Clone for DiffStrategyConfig
impl Clone for DiffStrategyConfig
Source§fn clone(&self) -> DiffStrategyConfig
fn clone(&self) -> DiffStrategyConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more