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