| 
    pasta_bit_vector
    1.0.1
    
   Bit Vector with Compact and Fast Rank and Select Support 
   | 
 

Go to the source code of this file.
Functions | |
| uint64_t | pasta::select (uint64_t x, uint64_t k) | 
| Select set bit in 64-bit word and return its position starting from the LSB (starting from the left).   | |
Variables | |
| constexpr uint8_t | pasta::kSelectInByte [2048] | 
| Required lookup table by select64 in case version without intrinsics is used.  | |
      
  | 
  nodiscard | 
Select set bit in 64-bit word and return its position starting from the LSB (starting from the left).
Uses the broadword selection algorithm by Vigna [1], improved by Gog and Petri [2] and Vigna [3]. Facebook's Folly implementation [4].
[1] Sebastiano Vigna. Broadword Implementation of Rank/Select Queries. WEA, 2008
[2] Simon Gog, Matthias Petri. Optimized succinct data structures for massive data. Softw. Pract. Exper., 2014
[3] Sebastiano Vigna. MG4J 5.2.1. http://mg4j.di.unimi.it/
[4] Facebook Folly library: https://github.com/facebook/folly
| x | 64-bit word the bit is selected in. | 
| k | Rank of the bit that is selected, i.e., 1st to 64-th set bit. |