[][src]Enum hdrhistogram::errors::CreationError

pub enum CreationError {
    LowIsZero,
    LowExceedsMax,
    HighLessThanTwiceLow,
    SigFigExceedsMax,
    CannotRepresentSigFigBeyondLow,
    UsizeTypeTooSmall,
}

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() / 2 because the highest value is a u64 and 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 usize type is too small to represent the desired configuration. Use fewer significant figures or a lower max.

Trait Implementations

impl Eq for CreationError[src]

impl PartialEq<CreationError> for CreationError[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl Copy for CreationError[src]

impl Clone for CreationError[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for CreationError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]