package bitutil

import "git.sr.ht/~sbinet/go-arrow/bitutil"

Index

Variables

var (
	BitMask        = [8]byte{1, 2, 4, 8, 16, 32, 64, 128}
	FlippedBitMask = [8]byte{254, 253, 251, 247, 239, 223, 191, 127}
)

Functions

func BitIsNotSet

func BitIsNotSet(buf []byte, i int) bool

BitIsNotSet returns true if the bit at index i in buf is not set (0).

func BitIsSet

func BitIsSet(buf []byte, i int) bool

BitIsSet returns true if the bit at index i in buf is set (1).

func BytesForBits

func BytesForBits(bits int64) int64

func CeilByte

func CeilByte(size int) int

CeilByte rounds size to the next multiple of 8.

func CeilByte64

func CeilByte64(size int64) int64

CeilByte64 rounds size to the next multiple of 8.

func ClearBit

func ClearBit(buf []byte, i int)

ClearBit sets the bit at index i in buf to 0.

func CountSetBits

func CountSetBits(buf []byte, offset, n int) int

CountSetBits counts the number of 1's in buf up to n bits.

func IsMultipleOf8

func IsMultipleOf8(v int64) bool

IsMultipleOf8 returns whether v is a multiple of 8.

func NextPowerOf2

func NextPowerOf2(x int) int

NextPowerOf2 rounds x to the next power of two.

func SetBit

func SetBit(buf []byte, i int)

SetBit sets the bit at index i in buf to 1.

func SetBitTo

func SetBitTo(buf []byte, i int, val bool)

SetBitTo sets the bit at index i in buf to val.

Source Files

bitutil.go

Version
v0.3.0 (latest)
Published
Feb 17, 2025
Platform
linux/amd64
Imports
3 packages
Last checked
2 months ago

Tools for package owners.