Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/zxing-cpp/core/src/ReedSolomonDecoder.h @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/zxing-cpp/core/src/ReedSolomonDecoder.h Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,47 @@ +/* +* Copyright 2016 Nu-book Inc. +* Copyright 2016 ZXing authors +*/ +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include <vector> + +namespace ZXing { + +class GenericGF; + +/** +* <p>Implements Reed-Solomon decoding, as the name implies.</p> +* +* <p>The algorithm will not be explained here, but the following references were helpful +* in creating this implementation:</p> +* +* <ul> +* <li>Bruce Maggs. +* <a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/pscico-guyb/realworld/www/rs_decode.ps"> +* "Decoding Reed-Solomon Codes"</a> (see discussion of Forney's Formula)</li> +* <li>J.I. Hall. <a href="www.mth.msu.edu/~jhall/classes/codenotes/GRS.pdf"> +* "Chapter 5. Generalized Reed-Solomon Codes"</a> +* (see discussion of Euclidean algorithm)</li> +* </ul> +* +* <p>Much credit is due to William Rucklidge since portions of this code are an indirect +* port of his C++ Reed-Solomon implementation.</p> +* +* @author Sean Owen +* @author William Rucklidge +* @author sanfordsquires +*/ + +/** + * @brief ReedSolomonDecode fixes errors in a message containing both data and parity codewords. + * + * @param message data and error-correction/parity codewords + * @param numECCodeWords number of error-correction code words + * @return true iff message errors could successfully be fixed (or there have not been any) + */ +bool ReedSolomonDecode(const GenericGF& field, std::vector<int>& message, int numECCodeWords); + +} // ZXing
