Version 7.13.4

May 12, 2023

Release Notes

  1. Improved str_sparse_vector<>::clear_all() - added parameter to reset remap matrix by default, which is safer (less surprises for the user). Method signature changed, this may cause some minor incompatibility issues.

  2. New method bm::sparse_vector<>::get_unsigned_bits() - to extract partial value (only a few bits)

  3. Optimizations of bm::bvector<>::inc() (minor)
  4. Added bm::bvector<>::swap() - method to swap two bit positions - basis for implementing sort or shuffle algorithms on compressive memory structures
  5. Added bm::sparse_vector<>::swap() - to help implement swap of shuffle algorithms on succinct vectors
  6. Added new example strsvsample09 to showcase sort algorithm in compressive memory space
  7. Optimization for bit-vector deserialization algorithm to avoid frequent reallocations of top-level memory table. Especially important for large 48/64-bit mode bit-vectors.
  8. optimizations of bm::bvector<>::import(), implemented memory reservation (important for large 48/64-bit imports)
  9. Fixed bug with collaborative XOR compression, causing debug level asserts and inability to decode compressed vectors.
 Various code-cleanups to reduce warnings in different compilers, improves MSVC compatibility.
  10. Fixed bug in incorrect binary search in compressive string vector (bm::sparse_vector_scanner<>)
  11. Improved build system to better support Apple M2

Download v7.13.4 (Sourceforge) GitHub

Follow us on Twitter