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_READSOLOMONGF256POLY_H_ | 7 #ifndef XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_READSOLOMONGF256POLY_H_ |
8 #define _BC_READSOLOMONGF256POLY_H_ | 8 #define XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_READSOLOMONGF256POLY_H_ |
| 9 |
9 class CBC_ReedSolomonGF256; | 10 class CBC_ReedSolomonGF256; |
10 class CBC_ReedSolomonGF256Poly { | 11 class CBC_ReedSolomonGF256Poly { |
11 public: | 12 public: |
12 CBC_ReedSolomonGF256Poly(CBC_ReedSolomonGF256* field, int32_t coefficients); | 13 CBC_ReedSolomonGF256Poly(CBC_ReedSolomonGF256* field, int32_t coefficients); |
13 CBC_ReedSolomonGF256Poly(); | 14 CBC_ReedSolomonGF256Poly(); |
14 virtual ~CBC_ReedSolomonGF256Poly(); | 15 virtual ~CBC_ReedSolomonGF256Poly(); |
15 int32_t GetCoefficients(int32_t degree); | 16 int32_t GetCoefficients(int32_t degree); |
16 CFX_Int32Array* GetCoefficients(); | 17 CFX_Int32Array* GetCoefficients(); |
17 int32_t GetDegree(); | 18 int32_t GetDegree(); |
18 FX_BOOL IsZero(); | 19 FX_BOOL IsZero(); |
19 int32_t EvaluateAt(int32_t a); | 20 int32_t EvaluateAt(int32_t a); |
20 CBC_ReedSolomonGF256Poly* AddOrSubtract(CBC_ReedSolomonGF256Poly* other, | 21 CBC_ReedSolomonGF256Poly* AddOrSubtract(CBC_ReedSolomonGF256Poly* other, |
21 int32_t& e); | 22 int32_t& e); |
22 CBC_ReedSolomonGF256Poly* Multiply(CBC_ReedSolomonGF256Poly* other, | 23 CBC_ReedSolomonGF256Poly* Multiply(CBC_ReedSolomonGF256Poly* other, |
23 int32_t& e); | 24 int32_t& e); |
24 CBC_ReedSolomonGF256Poly* Multiply(int32_t scalar, int32_t& e); | 25 CBC_ReedSolomonGF256Poly* Multiply(int32_t scalar, int32_t& e); |
25 CBC_ReedSolomonGF256Poly* MultiplyByMonomial(int32_t degree, | 26 CBC_ReedSolomonGF256Poly* MultiplyByMonomial(int32_t degree, |
26 int32_t coefficient, | 27 int32_t coefficient, |
27 int32_t& e); | 28 int32_t& e); |
28 CFX_PtrArray* Divide(CBC_ReedSolomonGF256Poly* other, int32_t& e); | 29 CFX_PtrArray* Divide(CBC_ReedSolomonGF256Poly* other, int32_t& e); |
29 CBC_ReedSolomonGF256Poly* Clone(int32_t& e); | 30 CBC_ReedSolomonGF256Poly* Clone(int32_t& e); |
30 virtual void Init(CBC_ReedSolomonGF256* field, | 31 virtual void Init(CBC_ReedSolomonGF256* field, |
31 CFX_Int32Array* coefficients, | 32 CFX_Int32Array* coefficients, |
32 int32_t& e); | 33 int32_t& e); |
33 | 34 |
34 private: | 35 private: |
35 CBC_ReedSolomonGF256* m_field; | 36 CBC_ReedSolomonGF256* m_field; |
36 CFX_Int32Array m_coefficients; | 37 CFX_Int32Array m_coefficients; |
37 }; | 38 }; |
38 #endif | 39 |
| 40 #endif // XFA_SRC_FXBARCODE_COMMON_REEDSOLOMON_BC_READSOLOMONGF256POLY_H_ |
OLD | NEW |