pub struct BitTranspose;Expand description
A layout specialized for performing multi-bit operations with 1-bit scalar quantization.
The layout provided by this struct is as follows. Assume we are compressing N bit data.
Then, the store the data in blocks of 64 * N bits (where 64 comes from the native CPU
word size).
Each block can contain 64 values, stored in N 64-bit words. The 0th bit of each value
is stored in word 0, the 1st bit is stored in word 1, etc.
§Partially Filled Blocks
This strategy always requests data in blocks. For partially filled blocks, the lower bits in the last block will be used.
Trait Implementations§
Source§impl Clone for BitTranspose
impl Clone for BitTranspose
Source§fn clone(&self) -> BitTranspose
fn clone(&self) -> BitTranspose
Returns a duplicate 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 moreSource§impl Debug for BitTranspose
impl Debug for BitTranspose
Source§impl PermutationStrategy<4> for BitTranspose
Safety: We ask for bytes in multiples of 32. Furthermore, the accesses to the packed
data in pack and unpack use checked accesses, so out-of-bounds reads will panic.
impl PermutationStrategy<4> for BitTranspose
Safety: We ask for bytes in multiples of 32. Furthermore, the accesses to the packed
data in pack and unpack use checked accesses, so out-of-bounds reads will panic.
impl Copy for BitTranspose
Auto Trait Implementations§
impl Freeze for BitTranspose
impl RefUnwindSafe for BitTranspose
impl Send for BitTranspose
impl Sync for BitTranspose
impl Unpin for BitTranspose
impl UnsafeUnpin for BitTranspose
impl UnwindSafe for BitTranspose
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more