#[non_exhaustive]pub enum FSETableError {
AccLogIsZero,
AccLogTooBig {
got: u8,
max: u8,
},
GetBitsError(GetBitsError),
ProbabilityCounterMismatch {
got: u32,
expected_sum: u32,
symbol_probabilities: Vec<i32>,
},
TooManySymbols {
got: usize,
},
InvalidProbability {
value: i32,
table_size: u32,
accuracy_log: u8,
},
TableInvariantViolation {
prob: i32,
symbol: u8,
num_bits: u8,
accuracy_log: u8,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AccLogIsZero
AccLogTooBig
GetBitsError(GetBitsError)
ProbabilityCounterMismatch
TooManySymbols
InvalidProbability
Probability value outside the RFC 8878 §4.1.1 allowed set
{-1, 0, 1..=table_size}. Carries the violating value, the
table size (1 << accuracy_log) and accuracy_log so the
caller can pinpoint the failure without re-deriving the bound.
TableInvariantViolation
calc_baseline_and_numbits produced a state-entry whose bit
width exceeds the table’s accuracy log, violating the
new_state + (1 << num_bits) - 1 < table_size invariant that
the unchecked read_entry decode hot path relies on. The
triggering probability is in-range per RFC 8878 §4.1.1; the
failure is an internal table-shape inconsistency surfaced
against the public build_from_probabilities API.
Trait Implementations§
Source§impl Debug for FSETableError
impl Debug for FSETableError
Source§impl Display for FSETableError
impl Display for FSETableError
Source§impl Error for FSETableError
Available on crate feature std only.
impl Error for FSETableError
Available on crate feature
std only.Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<FSETableError> for DecodeSequenceError
impl From<FSETableError> for DecodeSequenceError
Source§fn from(val: FSETableError) -> Self
fn from(val: FSETableError) -> Self
Converts to this type from the input type.
Source§impl From<FSETableError> for DictionaryDecodeError
impl From<FSETableError> for DictionaryDecodeError
Source§fn from(val: FSETableError) -> Self
fn from(val: FSETableError) -> Self
Converts to this type from the input type.
Source§impl From<FSETableError> for HuffmanTableError
impl From<FSETableError> for HuffmanTableError
Source§fn from(val: FSETableError) -> Self
fn from(val: FSETableError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for FSETableError
impl RefUnwindSafe for FSETableError
impl Send for FSETableError
impl Sync for FSETableError
impl Unpin for FSETableError
impl UnsafeUnpin for FSETableError
impl UnwindSafe for FSETableError
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