#include "rar.hpp" #define Clean(D,S) {for (int I=0;I<(S);I++) (D)[I]=0;} RSCoder::RSCoder(int ParSize) { RSCoder::ParSize=ParSize; FirstBlockDone=false; gfInit(); pnInit(); } void RSCoder::gfInit() { for (int I=0,J=1;I0;J--) ShiftReg[J]=ShiftReg[J-1]^gfMult(GXPol[J],D); ShiftReg[0]=gfMult(GXPol[0],D); } for (int I=0;I0;I--) PolB[I]^=gfMult(M,PolB[I-1]); ErrCount=0; for (int Root=MAXPAR-DataSize;Root0) for (int I=0;I=0 && DataPos