pub struct ConstCombinedSamplingDensity<const VALUE_LOG2: u8 = 13>;
Expand description

Specifies a constant sampling of select values by CombinedSampling, given as the base 2 logarithm (which can be calculated by optimal_combined_sampling function). The actual sampling is 2 times denser, but every second sample sometimes cannot be recorded accurately.

VALUE_LOG2 must be in range [7, 31]. Default value 13 means sampling positions of every 2^13(/2)=8192(/2) ones (or zeros for select0), which leads to about 0.20% space overhead in vectors filled with bit ones in about half. As sampling decreases, the speed of select queries increases at the expense of higher space overhead (which doubles with each decrease by 1).

Trait Implementations§

source§

impl<const VALUE_LOG2: u8> Clone for ConstCombinedSamplingDensity<VALUE_LOG2>

source§

fn clone(&self) -> ConstCombinedSamplingDensity<VALUE_LOG2>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const VALUE_LOG2: u8> Copy for ConstCombinedSamplingDensity<VALUE_LOG2>

Auto Trait Implementations§

§

impl<const VALUE_LOG2: u8> RefUnwindSafe for ConstCombinedSamplingDensity<VALUE_LOG2>

§

impl<const VALUE_LOG2: u8> Send for ConstCombinedSamplingDensity<VALUE_LOG2>

§

impl<const VALUE_LOG2: u8> Sync for ConstCombinedSamplingDensity<VALUE_LOG2>

§

impl<const VALUE_LOG2: u8> Unpin for ConstCombinedSamplingDensity<VALUE_LOG2>

§

impl<const VALUE_LOG2: u8> UnwindSafe for ConstCombinedSamplingDensity<VALUE_LOG2>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.