pub struct BitPacker4x(/* private fields */);Expand description
BitPacker4x packs integers in groups of 4. This gives an opportunity
to leverage SSE3 instructions to encode and decode the stream.
One block must contain 128 integers.
Trait Implementations§
Source§impl BitPacker for BitPacker4x
impl BitPacker for BitPacker4x
Source§fn compress(
&self,
decompressed: &[u32],
compressed: &mut [u8],
num_bits: u8,
) -> usize
fn compress( &self, decompressed: &[u32], compressed: &mut [u8], num_bits: u8, ) -> usize
Compress one full block of raw values into
compressed.Source§fn compress_sorted(
&self,
initial: u32,
decompressed: &[u32],
compressed: &mut [u8],
num_bits: u8,
) -> usize
fn compress_sorted( &self, initial: u32, decompressed: &[u32], compressed: &mut [u8], num_bits: u8, ) -> usize
Delta-compress one full non-decreasing block into
compressed.Source§fn compress_strictly_sorted(
&self,
initial: Option<u32>,
decompressed: &[u32],
compressed: &mut [u8],
num_bits: u8,
) -> usize
fn compress_strictly_sorted( &self, initial: Option<u32>, decompressed: &[u32], compressed: &mut [u8], num_bits: u8, ) -> usize
Delta-compress one full strictly increasing block into
compressed.Source§fn decompress(
&self,
compressed: &[u8],
decompressed: &mut [u32],
num_bits: u8,
) -> usize
fn decompress( &self, compressed: &[u8], decompressed: &mut [u32], num_bits: u8, ) -> usize
Decompress one raw block into
decompressed.Source§fn decompress_strictly_sorted(
&self,
initial: Option<u32>,
compressed: &[u8],
decompressed: &mut [u32],
num_bits: u8,
) -> usize
fn decompress_strictly_sorted( &self, initial: Option<u32>, compressed: &[u8], decompressed: &mut [u32], num_bits: u8, ) -> usize
Decompress one delta-compressed strictly increasing block.
Source§fn decompress_sorted(
&self,
initial: u32,
compressed: &[u8],
decompressed: &mut [u32],
num_bits: u8,
) -> usize
fn decompress_sorted( &self, initial: u32, compressed: &[u8], decompressed: &mut [u32], num_bits: u8, ) -> usize
Decompress one delta-compressed non-decreasing block.
Source§fn num_bits(&self, decompressed: &[u32]) -> u8
fn num_bits(&self, decompressed: &[u32]) -> u8
Return the minimum bit width needed to represent a full raw block.
Source§fn num_bits_sorted(&self, initial: u32, decompressed: &[u32]) -> u8
fn num_bits_sorted(&self, initial: u32, decompressed: &[u32]) -> u8
Return the minimum bit width needed to represent deltas in a full block.
Source§fn num_bits_strictly_sorted(
&self,
initial: Option<u32>,
decompressed: &[u32],
) -> u8
fn num_bits_strictly_sorted( &self, initial: Option<u32>, decompressed: &[u32], ) -> u8
Return the minimum bit width needed to represent strict deltas in a full block.
Source§fn compressed_block_size(num_bits: u8) -> usize
fn compressed_block_size(num_bits: u8) -> usize
Return the byte size of one compressed block at
num_bits.Source§impl Clone for BitPacker4x
impl Clone for BitPacker4x
Source§fn clone(&self) -> BitPacker4x
fn clone(&self) -> BitPacker4x
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BitPacker4x
Auto Trait Implementations§
impl Freeze for BitPacker4x
impl RefUnwindSafe for BitPacker4x
impl Send for BitPacker4x
impl Sync for BitPacker4x
impl Unpin for BitPacker4x
impl UnsafeUnpin for BitPacker4x
impl UnwindSafe for BitPacker4x
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