pub trait BitPackingUninit: BitPacking {
// Required methods
unsafe fn unchecked_pack_uninit(
width: usize,
input: &[Self],
output: &mut [MaybeUninit<Self>],
);
unsafe fn unchecked_unpack_uninit(
width: usize,
input: &[Self],
output: &mut [MaybeUninit<Self>],
);
}Expand description
Bitpacking kernels that can initialize previously uninitialized output storage.
Required Methods§
Sourceunsafe fn unchecked_pack_uninit(
width: usize,
input: &[Self],
output: &mut [MaybeUninit<Self>],
)
unsafe fn unchecked_pack_uninit( width: usize, input: &[Self], output: &mut [MaybeUninit<Self>], )
Packs into potentially uninitialized output storage.
§Safety
The input and output lengths have the same requirements as
BitPacking::unchecked_pack. Every output element is initialized on return.
Sourceunsafe fn unchecked_unpack_uninit(
width: usize,
input: &[Self],
output: &mut [MaybeUninit<Self>],
)
unsafe fn unchecked_unpack_uninit( width: usize, input: &[Self], output: &mut [MaybeUninit<Self>], )
Unpacks into potentially uninitialized output storage.
§Safety
The input and output lengths have the same requirements as
BitPacking::unchecked_unpack. Every output element is initialized on return.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".