Documentation ¶
Overview ¶
Package bitfield64 is a simple, quick stack-based bit-field manipulator package of 64 bits (or less) in length. If you need more bits you either need to create an array of bitfield64-s (and stay on the stack) or need to switch to the heap-based bitfield package. Methods are stateless and free from side-effects. It was designed to be chainable so error reporting is omitted: you need to make sure position is in the range of [0, 63]
Index ¶
- type BitField64
- func (bf64 BitField64) And(bfo BitField64) BitField64
- func (bf64 BitField64) Clear(pos int) BitField64
- func (bf64 BitField64) ClearAll() BitField64
- func (bf64 BitField64) Get(pos int) bool
- func (bf64 BitField64) Not() BitField64
- func (bf64 BitField64) OnesCount() int
- func (bf64 BitField64) Or(bfo BitField64) BitField64
- func (bf64 BitField64) Set(pos int) BitField64
- func (bf64 BitField64) SetAll() BitField64
- func (bf64 BitField64) Xor(bfo BitField64) BitField64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BitField64 ¶
type BitField64 uint64
BitField64 type utilizing the power of 64bit CPUs. It lives on the stack
func New ¶
func New() BitField64
New returns a zeroed (all false) bit-field that can store size elements
func (BitField64) And ¶
func (bf64 BitField64) And(bfo BitField64) BitField64
And returns the binary AND of the two bitfields
func (BitField64) Clear ¶
func (bf64 BitField64) Clear(pos int) BitField64
Clear clears the bit at position pos
func (BitField64) ClearAll ¶
func (bf64 BitField64) ClearAll() BitField64
ClearAll returns a bitfield where all 64 bits are set
func (BitField64) Get ¶
func (bf64 BitField64) Get(pos int) bool
Get returns true if bit at position pos is set, false otherwise
func (BitField64) Not ¶
func (bf64 BitField64) Not() BitField64
Not returns the bitfield with each bit inverted: 0 becomes 1, 1 becomes 0
func (BitField64) OnesCount ¶
func (bf64 BitField64) OnesCount() int
OnesCount returns the number of bits set
func (BitField64) Or ¶
func (bf64 BitField64) Or(bfo BitField64) BitField64
Or returns the binary OR of the two bitfields
func (BitField64) Set ¶
func (bf64 BitField64) Set(pos int) BitField64
Set sets the bit at position pos
func (BitField64) SetAll ¶
func (bf64 BitField64) SetAll() BitField64
SetAll returns a bitfield where all 64 bits are set
func (BitField64) Xor ¶
func (bf64 BitField64) Xor(bfo BitField64) BitField64
Xor returns the binary XOR of the two bitfields