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