Home | History | Annotate | Download | only in pdf417
      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