\BaconQrCode\CommonReedSolomonCodec

Reed-Solomon codec for 8-bit characters.

Based on libfec by Phil Karn, KA9Q.

Summary

Methods
Properties
Constants
__construct()
encode()
decode()
No public properties found
No constants found
modNn()
$symbolSize
$blockSize
$firstRoot
$primitive
$iPrimitive
$numRoots
$padding
$alphaTo
$indexOf
$generatorPoly
N/A
No private methods found
No private properties found
N/A

Properties

$symbolSize

$symbolSize : integer

Symbol size in bits.

Type

integer

$blockSize

$blockSize : integer

Block size in symbols.

Type

integer

$firstRoot

$firstRoot : integer

First root of RS code generator polynomial, index form.

Type

integer

$primitive

$primitive : integer

Primitive element to generate polynomial roots, index form.

Type

integer

$iPrimitive

$iPrimitive : integer

Prim-th root of 1, index form.

Type

integer

$numRoots

$numRoots : integer

RS code generator polynomial degree (number of roots).

Type

integer

$padding

$padding : integer

Padding bytes at front of shortened block.

Type

integer

$alphaTo

$alphaTo : \SplFixedArray

Log lookup table.

Type

\SplFixedArray

$indexOf

$indexOf : \SplFixedArray

Anti-Log lookup table.

Type

\SplFixedArray

$generatorPoly

$generatorPoly : \SplFixedArray

Generator polynomial.

Type

\SplFixedArray

Methods

__construct()

__construct(integer  $symbolSize, integer  $gfPoly, integer  $firstRoot, integer  $primitive, integer  $numRoots, integer  $padding) 

Creates a new reed solomon instance.

Parameters

integer $symbolSize
integer $gfPoly
integer $firstRoot
integer $primitive
integer $numRoots
integer $padding

Throws

\BaconQrCode\Exception\InvalidArgumentException
\BaconQrCode\Exception\RuntimeException

encode()

encode(\SplFixedArray  $data, \SplFixedArray  $parity) : void

Encodes data and writes result back into parity array.

Parameters

\SplFixedArray $data
\SplFixedArray $parity

decode()

decode(\SplFixedArray  $data, \SplFixedArray|null  $erasures = null) : null|integer

Decodes received data.

Parameters

\SplFixedArray $data
\SplFixedArray|null $erasures

Returns

null|integer

modNn()

modNn(\BaconQrCode\Common\itneger  $x) : integer

Computes $x % GF_SIZE, where GF_SIZE is 2**GF_BITS - 1, without a slow divide.

Parameters

\BaconQrCode\Common\itneger $x

Returns

integer