• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_PDF417ECMODULUSPOLY_H_
8 #define _BC_PDF417ECMODULUSPOLY_H_
9 class CBC_PDF417ECModulusGF;
10 class CBC_PDF417ECModulusPoly {
11  public:
12   CBC_PDF417ECModulusPoly(CBC_PDF417ECModulusGF* field,
13                           CFX_Int32Array& coefficients,
14                           int32_t& e);
15   virtual ~CBC_PDF417ECModulusPoly();
16   CFX_Int32Array& getCoefficients();
17   CBC_PDF417ECModulusGF* getField();
18   int32_t getDegree();
19   FX_BOOL isZero();
20   int32_t getCoefficient(int32_t degree);
21   int32_t evaluateAt(int32_t a);
22   CBC_PDF417ECModulusPoly* add(CBC_PDF417ECModulusPoly* other, int32_t& e);
23   CBC_PDF417ECModulusPoly* subtract(CBC_PDF417ECModulusPoly* other, int32_t& e);
24   CBC_PDF417ECModulusPoly* multiply(CBC_PDF417ECModulusPoly* other, int32_t& e);
25   CBC_PDF417ECModulusPoly* negative(int32_t& e);
26   CBC_PDF417ECModulusPoly* multiply(int32_t scalar, int32_t& e);
27   CBC_PDF417ECModulusPoly* multiplyByMonomial(int32_t degree,
28                                               int32_t coefficient,
29                                               int32_t& e);
30   CFX_PtrArray* divide(CBC_PDF417ECModulusPoly* other, int32_t& e);
31   CFX_ByteString toString();
32 
33  private:
34   CBC_PDF417ECModulusGF* m_field;
35   CFX_Int32Array m_coefficients;
36 };
37 #endif
38