Library for setting and unsetting n
least significant bits as ranges, and merging intersecting ranges.
import (
"github.com/philip-bui/bit-ranges"
)
func main() {
l, h := bits.RangeUint64(5, 777) // 1100001001.
// l = 768, 1100000000.
// h = 799, 1100011111.
arr := bits.RangesUint64(5, 700, 799, 777, 768, 800, 77)
// arr = [831, 768, 703, 672, 95, 64]. Arr will always be even amount (pairs).
}
Bit Ranges is available under the MIT license. See LICENSE for details.