OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_ | |
8 #define XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_ | |
9 | |
10 #include "core/include/fxcrt/fx_basic.h" | |
11 #include "xfa/src/fxbarcode/utils.h" | |
12 | |
13 class CBC_ReedSolomonGF256Poly; | |
14 class CBC_ReedSolomonGF256 { | |
15 public: | |
16 static void Initialize(); | |
17 static void Finalize(); | |
18 static CBC_ReedSolomonGF256* QRCodeFild; | |
19 static CBC_ReedSolomonGF256* DataMatrixField; | |
20 CBC_ReedSolomonGF256(int32_t primitive); | |
21 virtual ~CBC_ReedSolomonGF256(); | |
22 CBC_ReedSolomonGF256Poly* GetZero(); | |
23 CBC_ReedSolomonGF256Poly* GetOne(); | |
24 CBC_ReedSolomonGF256Poly* BuildMonomial(int32_t degree, | |
25 int32_t coefficient, | |
26 int32_t& e); | |
27 static int32_t AddOrSubtract(int32_t a, int32_t b); | |
28 int32_t Exp(int32_t a); | |
29 int32_t Log(int32_t a, int32_t& e); | |
30 int32_t Inverse(int32_t a, int32_t& e); | |
31 int32_t Multiply(int32_t a, int32_t b); | |
32 virtual void Init(); | |
33 | |
34 private: | |
35 int32_t m_expTable[256]; | |
36 int32_t m_logTable[256]; | |
37 CBC_ReedSolomonGF256Poly* m_zero; | |
38 CBC_ReedSolomonGF256Poly* m_one; | |
39 }; | |
40 | |
41 #endif // XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_ | |
OLD | NEW |