1234567891011121314151617181920212223242526272829303132 |
- #ifndef _RAR_RS_
- #define _RAR_RS_
- #define MAXPAR 255
- #define MAXPOL 512
- class RSCoder
- {
- private:
- void gfInit();
- int gfMult(int a,int b);
- void pnInit();
- void pnMult(int *p1,int *p2,int *r);
- int gfExp[MAXPOL];
- int gfLog[MAXPAR+1];
- int GXPol[MAXPOL*2];
- int ErrorLocs[MAXPAR+1],ErrCount;
- int Dnm[MAXPAR+1];
- int ParSize;
- int ELPol[MAXPOL];
- bool FirstBlockDone;
- public:
- void Init(int ParSize);
- void Encode(byte *Data,int DataSize,byte *DestData);
- bool Decode(byte *Data,int DataSize,int *EraLoc,int EraSize);
- };
- #endif
|