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