1 // Copyright 2014 PDFium Authors. All rights reserved.
\r
2 // Use of this source code is governed by a BSD-style license that can be
\r
3 // found in the LICENSE file.
\r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
\r
7 #ifndef _BC_PDF417ECMODULUSGF_H_
\r
8 #define _BC_PDF417ECMODULUSGF_H_
\r
9 class CBC_PDF417ECModulusPoly;
\r
10 class CBC_PDF417Common;
\r
11 class CBC_PDF417ECModulusGF;
\r
12 class CBC_PDF417ECModulusGF : public CFX_Object
\r
15 CBC_PDF417ECModulusGF(FX_INT32 modulus, FX_INT32 generator, FX_INT32 &e);
\r
16 virtual ~CBC_PDF417ECModulusGF();
\r
17 static void Initialize(FX_INT32 &e);
\r
18 static void Finalize();
\r
19 CBC_PDF417ECModulusPoly* getZero();
\r
20 CBC_PDF417ECModulusPoly* getOne();
\r
21 CBC_PDF417ECModulusPoly* buildMonomial(FX_INT32 degree, FX_INT32 coefficient, FX_INT32 &e);
\r
22 FX_INT32 add(FX_INT32 a, FX_INT32 b);
\r
23 FX_INT32 subtract(FX_INT32 a, FX_INT32 b);
\r
24 FX_INT32 exp(FX_INT32 a);
\r
25 FX_INT32 log(FX_INT32 a, FX_INT32 &e);
\r
26 FX_INT32 inverse(FX_INT32 a, FX_INT32 &e);
\r
27 FX_INT32 multiply(FX_INT32 a, FX_INT32 b);
\r
29 static CBC_PDF417ECModulusGF* PDF417_GF;
\r
31 CFX_Int32Array m_expTable;
\r
32 CFX_Int32Array m_logTable;
\r
33 CBC_PDF417ECModulusPoly* m_zero;
\r
34 CBC_PDF417ECModulusPoly* m_one;
\r