bits

package
v0.0.0-...-385f433 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2024 License: Apache-2.0, MIT Imports: 0 Imported by: 21

Documentation

Overview

Package bits includes all bit related types and operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AlignDown

func AlignDown(length int, align uint) int

AlignDown rounds a length down to an alignment. align must be a power of 2.

func AlignUp

func AlignUp(length int, align uint) int

AlignUp rounds a length up to an alignment. align must be a power of 2.

func ForEachSetBit64

func ForEachSetBit64(x uint64, f func(i int))

ForEachSetBit64 calls f once for each set bit in x, with argument i equal to the set bit's index.

func IsAnyOn

func IsAnyOn(mask, bits T) bool

IsAnyOn returns true if *any* bit set in 'bits' is set in 'mask'.

func IsOn

func IsOn(mask, bits T) bool

IsOn returns true if *all* bits set in 'bits' are set in 'mask'.

func IsPowerOfTwo

func IsPowerOfTwo(v T) bool

IsPowerOfTwo returns true if v is power of 2.

func MostSignificantOne64

func MostSignificantOne64(x uint64) int

MostSignificantOne64 returns the index of the most significant 1 bit in x. If x is 0, MostSignificantOne64 returns 64.

func TrailingZeros64

func TrailingZeros64(x uint64) int

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

type T

type T uint64

T is a required type parameter that must be an integral type.

func Mask

func Mask(is ...int) T

Mask returns a T with all of the given bits set.

func MaskOf

func MaskOf(i int) T

MaskOf is like Mask, but sets only a single bit (more efficiently).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL