[][src]Struct hilbert::interleaver::Interleaver

pub struct Interleaver { /* fields omitted */ }

Precompute some intermediate values and lookup tables that are needed when interleaving a vector to form the bytes that will be built into a BigUint Hilbert Index. This structure maps each bit from each u32 dimension in the input to a corresponding bit and byte in the output.

Note: The goal of this class was to speed up the Hilbert transformation. Benchmarks show no detectable improvement.

Methods

impl Interleaver[src]

pub fn new(dimensions: usize, bit_depth: usize) -> Self[src]

pub fn interleave(&self, vector: &[u32]) -> Vec<u8>[src]

Interleave the bits from the vector into and return an array of bytes in big-endian order. These bytes are suitable to be combined into a single BigUint.

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,