Skip to main content
Fig. 2 | Algorithms for Molecular Biology

Fig. 2

From: Bitpacking techniques for indexing genomes: I. Hash tables

Fig. 2

Packing layouts for block-based differential coding. Each layout encodes a block of 64 difference values using 6 bits for each value. Values are placed into three 128-bit registers, each containing four 32-bit words. Each small box shows a 6-bit quantity, labeled with an integer r that indicates the place for storing the difference value \(d_r\). Some 6-bit quantities are spread over two words, as shown by dashed lines. Blocks of color indicate parallel processing of the difference values needed to decode the value \(x_{43}\). a Horizontal layout, with values stored in index order. b Vertical layout, with values striped across each set of words, as used in BP128. c Columnar layout, unidirectional scheme, with indices at increments of 4 striped across each set of words. d Columnar layout, bidirectional scheme

Back to article page