#include "rar.hpp" #define Clean(D,S) … void RSCoder::Init(int ParSize) { … } // Initialize logarithms and exponents Galois field tables. void RSCoder::gfInit() { … } // Multiplication over Galois field. inline int RSCoder::gfMult(int a,int b) { … } // Create the generator polynomial g(x). // g(x)=(x-a)(x-a^2)(x-a^3)..(x-a^N) void RSCoder::pnInit() { … } // Multiply polynomial 'p1' to 'p2' and store the result in 'r'. void RSCoder::pnMult(int *p1,int *p2,int *r) { … } void RSCoder::Encode(byte *Data,int DataSize,byte *DestData) { … } bool RSCoder::Decode(byte *Data,int DataSize,int *EraLoc,int EraSize) { … }