\BaconQrCode\CommonBitArray

A simple, fast array of bits.

Summary

Methods
Properties
Constants
__construct()
getSize()
getSizeInBytes()
ensureCapacity()
get()
set()
flip()
getNextSet()
getNextUnset()
setBulk()
setRange()
clear()
isRange()
appendBit()
appendBits()
appendBitArray()
xorBits()
toBytes()
getBitArray()
reverse()
__toString()
No public properties found
No constants found
No protected methods found
$bits
$size
N/A
No private methods found
No private properties found
N/A

Properties

$bits

$bits : \SplFixedArray

Bits represented as an array of integers.

Type

\SplFixedArray

$size

$size : integer

Size of the bit array in bits.

Type

integer

Methods

__construct()

__construct(integer  $size) 

Creates a new bit array with a given size.

Parameters

integer $size

getSize()

getSize() : integer

Gets the size in bits.

Returns

integer

getSizeInBytes()

getSizeInBytes() : integer

Gets the size in bytes.

Returns

integer

ensureCapacity()

ensureCapacity(integer  $size) : void

Ensures that the array has a minimum capacity.

Parameters

integer $size

get()

get(integer  $i) : boolean

Gets a specific bit.

Parameters

integer $i

Returns

boolean

set()

set(integer  $i) : void

Sets a specific bit.

Parameters

integer $i

flip()

flip(integer  $i) : void

Flips a specific bit.

Parameters

integer $i

getNextSet()

getNextSet(integer  $from) : integer

Gets the next set bit position from a given position.

Parameters

integer $from

Returns

integer

getNextUnset()

getNextUnset(integer  $from) : integer

Gets the next unset bit position from a given position.

Parameters

integer $from

Returns

integer

setBulk()

setBulk(integer  $i, integer  $newBits) : void

Sets a bulk of bits.

Parameters

integer $i
integer $newBits

setRange()

setRange(integer  $start, integer  $end) : void

Sets a range of bits.

Parameters

integer $start
integer $end

Throws

\BaconQrCode\Common\Exception\InvalidArgumentException

clear()

clear() : void

Clears the bit array, unsetting every bit.

isRange()

isRange(integer  $start, integer  $end, integer  $value) : boolean

Checks if a range of bits is set or not set.

Parameters

integer $start
integer $end
integer $value

Throws

\BaconQrCode\Common\Exception\InvalidArgumentException

Returns

boolean

appendBit()

appendBit(boolean  $bit) : void

Appends a bit to the array.

Parameters

boolean $bit

appendBits()

appendBits(integer  $value, integer  $numBits) : void

Appends a number of bits (up to 32) to the array.

Parameters

integer $value
integer $numBits

Throws

\BaconQrCode\Common\Exception\InvalidArgumentException

appendBitArray()

appendBitArray(\BaconQrCode\Common\BitArray  $other) : void

Appends another bit array to this array.

Parameters

\BaconQrCode\Common\BitArray $other

xorBits()

xorBits(\BaconQrCode\Common\BitArray  $other) : void

Makes an exclusive-or comparision on the current bit array.

Parameters

\BaconQrCode\Common\BitArray $other

Throws

\BaconQrCode\Common\Exception\InvalidArgumentException

toBytes()

toBytes(integer  $bitOffset, integer  $numBytes) : \SplFixedArray

Converts the bit array to a byte array.

Parameters

integer $bitOffset
integer $numBytes

Returns

\SplFixedArray

getBitArray()

getBitArray() : \SplFixedArray

Gets the internal bit array.

Returns

\SplFixedArray

reverse()

reverse() : void

Reverses the array.

__toString()

__toString() : string

Returns a string representation of the bit array.

Returns

string