This release doesn't change the algorithm itself, but brings new names and better speed to the table:
hyperfloor
was renamed intobit_floor
after the C++20std::bit_floor
function, which I believe describes better what the function does.- An
unguarded_bit_floor
function - which isbit_floor
except it doesn't handlen == 0
- was introduced to take advantage of compiler intrinsics on GCC and Clang. unguarded_bit_floor
was used to improvepush_heap
andsort_heap
.- A new section in the README explains the new
unguarded_bit_floor
optimization and why it matters despite being a micro-optimization.