ErrorCorrection.h Example File
appdemos/qtws/QZXing/zxing/zxing/pdf417/decoder/ec/ErrorCorrection.h
#ifndef __ERROR_CORRECTION_PDF_H__
#define __ERROR_CORRECTION_PDF_H__
#include <zxing/common/Counted.h>
#include <zxing/common/Array.h>
#include <zxing/common/DecoderResult.h>
#include <zxing/common/BitMatrix.h>
#include <zxing/pdf417/decoder/ec/ModulusGF.h>
#include <zxing/pdf417/decoder/ec/ModulusPoly.h>
#include <zxing/common/reedsolomon/ReedSolomonException.h>
namespace zxing {
namespace pdf417 {
namespace decoder {
namespace ec {
class ErrorCorrection: public Counted {
private:
ModulusGF &field_;
public:
ErrorCorrection();
void decode(ArrayRef<int> received,
int numECCodewords,
ArrayRef<int> erasures);
private:
std::vector<Ref<ModulusPoly> > runEuclideanAlgorithm(Ref<ModulusPoly> a, Ref<ModulusPoly> b, int R);
ArrayRef<int> findErrorLocations(Ref<ModulusPoly> errorLocator);
ArrayRef<int> findErrorMagnitudes(Ref<ModulusPoly> errorEvaluator,
Ref<ModulusPoly> errorLocator,
ArrayRef<int> errorLocations);
};
}
}
}
}
#endif /* __ERROR_CORRECTION_PDF_H__ */