Documentation
¶
Overview ¶
Package bits includes all bit related types and operations.
Index ¶
- func AlignDown(length int, align uint) int
- func AlignUp(length int, align uint) int
- func ForEachSetBit64(x uint64, f func(i int))
- func IsAnyOn[T constraints.Integer](mask, bits T) bool
- func IsOn[T constraints.Integer](mask, bits T) bool
- func IsPowerOfTwo[T constraints.Integer](v T) bool
- func Mask[T constraints.Integer](is ...int) T
- func MaskOf[T constraints.Integer](i int) T
- func MostSignificantOne64(x uint64) int
- func TrailingZeros64(x uint64) int
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ForEachSetBit64 ¶
ForEachSetBit64 calls f once for each set bit in x, with argument i equal to the set bit's index.
func IsAnyOn ¶
func IsAnyOn[T constraints.Integer](mask, bits T) bool
IsAnyOn returns true if *any* bit set in 'bits' is set in 'mask'.
func IsOn ¶
func IsOn[T constraints.Integer](mask, bits T) bool
IsOn returns true if *all* bits set in 'bits' are set in 'mask'.
func IsPowerOfTwo ¶
func IsPowerOfTwo[T constraints.Integer](v T) bool
IsPowerOfTwo returns true if v is power of 2.
func Mask ¶
func Mask[T constraints.Integer](is ...int) T
Mask returns a T with all of the given bits set.
func MaskOf ¶
func MaskOf[T constraints.Integer](i int) T
MaskOf is like Mask, but sets only a single bit (more efficiently).
func MostSignificantOne64 ¶
MostSignificantOne64 returns the index of the most significant 1 bit in x. If x is 0, MostSignificantOne64 returns 64.
func TrailingZeros64 ¶
TrailingZeros64 returns the number of bits before the least significant 1 bit in x; in other words, it returns the index of the least significant 1 bit in x. If x is 0, TrailingZeros64 returns 64.
Types ¶
This section is empty.