Enum CreationError
enum CreationError
Errors that can occur when creating a histogram.
Variants
-
LowIsZero Lowest discernible value must be >= 1.
-
LowExceedsMax Lowest discernible value must be <=
u64::max_value() / 2because the highest value is au64and the lowest value must be no bigger than half the highest.-
HighLessThanTwiceLow Highest trackable value must be >= 2 * lowest discernible value for some internal calculations to work out. In practice, high is typically much higher than 2 * low.
-
SigFigExceedsMax Number of significant digits must be in the range
[0, 5]. It is capped at 5 because 5 significant digits is already more than almost anyone needs, and memory usage scales exponentially as this increases.-
CannotRepresentSigFigBeyondLow Cannot represent sigfig worth of values beyond the lowest discernible value. Decrease the significant figures, lowest discernible value, or both.
This could happen if low is very large (like 2^60) and sigfigs is 5, which requires 18 additional bits, which would then require more bits than will fit in a u64. Specifically, the exponent of the largest power of two that is smaller than the lowest value and the bits needed to represent the requested significant figures must sum to 63 or less.
-
UsizeTypeTooSmall The
usizetype is too small to represent the desired configuration. Use fewer significant figures or a lower max.
Implementations
impl Clone for CreationError
fn clone(self: &Self) -> CreationError
impl Copy for CreationError
impl Debug for CreationError
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Display for CreationError
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Eq for CreationError
impl Error for CreationError
impl Freeze for CreationError
impl PartialEq for CreationError
fn eq(self: &Self, other: &CreationError) -> bool
impl RefUnwindSafe for CreationError
impl Send for CreationError
impl StructuralPartialEq for CreationError
impl Sync for CreationError
impl Unpin for CreationError
impl UnsafeUnpin for CreationError
impl UnwindSafe for CreationError
impl<T> Any for CreationError
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for CreationError
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for CreationError
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for CreationError
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for CreationError
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for CreationError
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T> ToString for CreationError
fn to_string(self: &Self) -> String
impl<T, U> Into for CreationError
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for CreationError
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for CreationError
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>