GF256 class
Galois Field 256 operations for RaptorQ Uses precomputed log/antilog tables for efficiency
Constructors
- GF256()
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
add(
int a, int b) → int - Add two elements (XOR in GF(256))
-
clearCache(
) → void - Clear the multiplication table cache (useful for memory pressure)
-
divide(
int a, int b) → int - Divide two elements
-
getMultiplyTable(
int b) → Uint8List - Get or create a multiplication lookup table for a specific multiplier. This allows O(1) lookup instead of log/antilog computation per element.
-
initialize(
) → void - Initialize lookup tables
-
inverse(
int a) → int - Multiplicative inverse (a^-1)
-
multiply(
int a, int b) → int - Multiply two elements
-
multiplyAdd(
Uint8List dest, Uint8List src, int scalar) → void - Multiply and add: dest += src * scalar
-
multiplyAddFast(
Uint8List dest, Uint8List src, int scalar) → void -
Optimized multiply-add using pre-computed table.
dest
i= destiXOR (srci* scalar) -
multiplyBatch(
Uint8List dest, Uint8List src, int scalar) → void -
Batch multiply: dest
i= srci* scalar -
power(
int a, int n) → int - Compute a^n
-
scalarMultiply(
Uint8List vector, int scalar) → void - Multiply vector by scalar
-
subtract(
int a, int b) → int - Subtract two elements (same as add in GF(256))
-
vectorAdd(
Uint8List dest, Uint8List src) → void - Add two vectors (XOR)