diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/thirdparty/zxing-cpp/core/src/ReedSolomonEncoder.h	Mon Sep 15 11:43:07 2025 +0200
@@ -0,0 +1,39 @@
+/*
+* Copyright 2016 Huy Cuong Nguyen
+* Copyright 2016 ZXing authors
+*/
+// SPDX-License-Identifier: Apache-2.0
+
+#pragma once
+
+#include "GenericGFPoly.h"
+
+#include <list>
+#include <vector>
+
+namespace ZXing {
+
+// public only for testing purposes
+class ReedSolomonEncoder
+{
+public:
+	explicit ReedSolomonEncoder(const GenericGF& field);
+
+	void encode(std::vector<int>& message, int numECCodeWords);
+
+private:
+	const GenericGF* _field;
+	std::list<GenericGFPoly> _cachedGenerators;
+
+	const GenericGFPoly& buildGenerator(int degree);
+};
+
+/**
+ * @brief ReedSolomonEncode replaces the last numECCodeWords code words in message with error correction code words
+ */
+inline void ReedSolomonEncode(const GenericGF& field, std::vector<int>& message, int numECCodeWords)
+{
+	ReedSolomonEncoder(field).encode(message, numECCodeWords);
+}
+
+} // namespace ZXing