Struct bitm::AdaptiveCombinedSamplingDensity
source · pub struct AdaptiveCombinedSamplingDensity<const MAX_RESULT: u8 = 13>;
Expand description
Specifies adaptive sampling of select values by CombinedSampling
.
The sampling density is calculated based on the content of the bit vector
using the optimal_combined_sampling
function, with the given MAX_RESULT
parameter.
MAX_RESULT
must be in range [7, 31].
As MAX_RESULT
decreases, the speed of select queries increases
at the cost of higher space overhead (which doubles with each decrease by 1).
Its value 13 leads to about 0.39% space overhead, and, for vectors filled with bit ones in about half,
results in sampling positions of every 2^12(/2)=4096(/2) ones (or zeros for select0).
Trait Implementations§
source§impl<const MAX_RESULT: u8> Clone for AdaptiveCombinedSamplingDensity<MAX_RESULT>
impl<const MAX_RESULT: u8> Clone for AdaptiveCombinedSamplingDensity<MAX_RESULT>
source§fn clone(&self) -> AdaptiveCombinedSamplingDensity<MAX_RESULT>
fn clone(&self) -> AdaptiveCombinedSamplingDensity<MAX_RESULT>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreimpl<const MAX_RESULT: u8> Copy for AdaptiveCombinedSamplingDensity<MAX_RESULT>
Auto Trait Implementations§
impl<const MAX_RESULT: u8> RefUnwindSafe for AdaptiveCombinedSamplingDensity<MAX_RESULT>
impl<const MAX_RESULT: u8> Send for AdaptiveCombinedSamplingDensity<MAX_RESULT>
impl<const MAX_RESULT: u8> Sync for AdaptiveCombinedSamplingDensity<MAX_RESULT>
impl<const MAX_RESULT: u8> Unpin for AdaptiveCombinedSamplingDensity<MAX_RESULT>
impl<const MAX_RESULT: u8> UnwindSafe for AdaptiveCombinedSamplingDensity<MAX_RESULT>
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