Version 7.13.4
May 12, 2023Release Notes
-
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. -
New method
bm::sparse_vector<>::get_unsigned_bits()
- to extract partial value (only a few bits) -
Optimizations of
bm::bvector<>::inc()
(minor) - Added bm::bvector<>::swap() - method to swap two bit positions - basis for implementing sort or shuffle algorithms on compressive memory structures
-
Added
bm::sparse_vector<>::swap()
- to help implement swap of shuffle algorithms on succinct vectors - Added new example strsvsample09 to showcase sort algorithm in compressive memory space
- 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.
-
optimizations of
bm::bvector<>::import()
, implemented memory reservation (important for large 48/64-bit imports) - 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.
-
Fixed bug in incorrect binary search in compressive string vector (
bm::sparse_vector_scanner<>
) - Improved build system to better support Apple M2