pub enum ErrorSource {
DacQuant {
input: usize,
bits: u8,
},
AdcQuant {
bits: u8,
},
WeightQuant,
MulInteraction,
EvalRounding,
TileGain,
TileOffset,
Noise,
ThermalGain,
ThermalOffset,
CompareBand,
ChopResidual,
}Expand description
A named physical origin of error. The decomposition is user-facing spec: a refusal or a budget report says exactly which arrow of the architecture costs what.
Variants§
DacQuant
Half-LSB input quantization of plane input input at bits resolution.
AdcQuant
Half-LSB output quantization at bits resolution.
WeightQuant
Programmed weights snapped to the unit-element grid — the deviation of the realized configuration from the ideal weights, propagated to the output.
MulInteraction
The Σ εa·εb second-order interaction across all Mul tiles.
EvalRounding
f64 evaluator rounding guard: the behavioral tiers compute in f64, not reals.
TileGain
Per-leg programmed-gain error (programming accuracy + the Pelgrom distance gradient over the PLACED operand separation), at the k·σ envelope.
TileOffset
Per-tile output-referred offset at the k·σ envelope.
Noise
Per-tile sampled-noise floor (kT/C class) at the k·σ envelope.
ThermalGain
Gain drift from the CERTIFIED thermal map’s tile-to-operand temperature gradient
(gain_tempco · |ΔT_cell − ΔT_operand|), propagated like any gain error.
ThermalOffset
Output-referred offset drift from a tile’s absolute rise (offset_tempco · ΔT).
CompareBand
A comparator whose certified decision box straddles its ±k·σ input-offset band: the switch may take EITHER branch, so the full branch-hull width is priced — honest uncertainty, never hidden.
ChopResidual
The offset residual surviving the chop average — intra-pair drift over one chop period (the frozen component cancels exactly by construction).
Trait Implementations§
Source§impl Clone for ErrorSource
impl Clone for ErrorSource
Source§fn clone(&self) -> ErrorSource
fn clone(&self) -> ErrorSource
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ErrorSource
impl Debug for ErrorSource
Source§impl PartialEq for ErrorSource
impl PartialEq for ErrorSource
impl Copy for ErrorSource
impl StructuralPartialEq for ErrorSource
Auto Trait Implementations§
impl Freeze for ErrorSource
impl RefUnwindSafe for ErrorSource
impl Send for ErrorSource
impl Sync for ErrorSource
impl Unpin for ErrorSource
impl UnsafeUnpin for ErrorSource
impl UnwindSafe for ErrorSource
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.