Hi y'all,
Progress. I managed to fix the remaining GF fields, including QRCode and the various Aztec fields. Verified with the RS Java code. Loading the latest ProCrypto-1-1-1 and ProCryptoTests-1-1-1 will load the latest RSFEC.
Installer ss
project: 'Cryptography';
install: 'ProCrypto-1-1-1';
install: 'ProCryptoTests-1-1-1';
install: 'CryptographyRSPlugin'.
Currently all methods are pluganized except for { #encode: #runEuclideanAlgorithm:..., #dividePoly... & @decode:twoS: }. I am getting segfaults on those primitives when called. Investigating...
- 41541 tallies, 53540 msec.
((116473 - 53540) / 116473) asFloat * 100
54% SpeedUp
**Leaves**Unpluganized
24.7% {13224ms} RSFECDecoderWithPlugin>>decode:twoS:
3.0% {1587ms} RSFECDecoderWithPlugin>>runEuclideanAlgorithmPoly:poly:rDegrees:
Pluganized
16.9% {9045ms} RSFECGenericGFPoly class>>newField:coefficients:
6.2% {3311ms} RSFECDecoderWithPlugin>>primFindErrorLocationsDegree:coefficients:fieldSize:expTable:logTable:
4.2% {2245ms} RSFECGenericGFPolyWithPlugin>>addOrSubtractPoly:
2.5% {1317ms} RSFECDecoderWithPlugin>>findErrorMagnitudes:errorLocations:
1.7% {887ms} RSFECGenericGFWithPlugin>>log:
1.1% {583ms} RSFECGenericGFPolyWithPlugin>>degree
Other
8.2% {4414ms} LargePositiveInteger(Integer)>>bitShift:
5.8% {3115ms} SecureHashAlgorithm>>finalHash
5.2% {2775ms} ByteArray class(Behavior)>>new:
5.1% {2705ms} LargePositiveInteger>>+
3.1% {1639ms} SecureHashAlgorithm>>hashInteger:seed:
2.4% {1260ms} SecureRandom>>nextRandom160
1.6% {833ms} SmallInteger(Magnitude)>>between:and:
1.5% {786ms} ByteArray>>unsignedLongAt:put:bigEndian: