comparison mupdf-source/thirdparty/zxing-cpp/core/src/ReedSolomonEncoder.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
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 /*
2 * Copyright 2016 Huy Cuong Nguyen
3 * Copyright 2016 ZXing authors
4 */
5 // SPDX-License-Identifier: Apache-2.0
6
7 #pragma once
8
9 #include "GenericGFPoly.h"
10
11 #include <list>
12 #include <vector>
13
14 namespace ZXing {
15
16 // public only for testing purposes
17 class ReedSolomonEncoder
18 {
19 public:
20 explicit ReedSolomonEncoder(const GenericGF& field);
21
22 void encode(std::vector<int>& message, int numECCodeWords);
23
24 private:
25 const GenericGF* _field;
26 std::list<GenericGFPoly> _cachedGenerators;
27
28 const GenericGFPoly& buildGenerator(int degree);
29 };
30
31 /**
32 * @brief ReedSolomonEncode replaces the last numECCodeWords code words in message with error correction code words
33 */
34 inline void ReedSolomonEncode(const GenericGF& field, std::vector<int>& message, int numECCodeWords)
35 {
36 ReedSolomonEncoder(field).encode(message, numECCodeWords);
37 }
38
39 } // namespace ZXing