Class GenericGFPoly

java.lang.Object
com.google.zxing.common.reedsolomon.GenericGFPoly

final class GenericGFPoly extends Object

Represents a polynomial whose coefficients are elements of a GF. Instances of this class are immutable.

Much credit is due to William Rucklidge since portions of this code are an indirect port of his C++ Reed-Solomon implementation.

Author:
Sean Owen
  • Constructor Details

    • GenericGFPoly

      GenericGFPoly(GenericGF field, int[] coefficients)
      Parameters:
      field - the GenericGF instance representing the field to use to perform computations
      coefficients - coefficients as ints representing elements of GF(size), arranged from most significant (highest-power term) coefficient to least significant
      Throws:
      IllegalArgumentException - if argument is null or empty, or if leading coefficient is 0 and this is not a constant polynomial (that is, it is not the monomial "0")
  • Method Details

    • getCoefficients

      int[] getCoefficients()
    • getDegree

      int getDegree()
      Returns:
      degree of this polynomial
    • isZero

      boolean isZero()
      Returns:
      true iff this polynomial is the monomial "0"
    • getCoefficient

      int getCoefficient(int degree)
      Returns:
      coefficient of x^degree term in this polynomial
    • evaluateAt

      int evaluateAt(int a)
      Returns:
      evaluation of this polynomial at a given point
    • addOrSubtract

      GenericGFPoly addOrSubtract(GenericGFPoly other)
    • multiply

      GenericGFPoly multiply(GenericGFPoly other)
    • multiply

      GenericGFPoly multiply(int scalar)
    • multiplyByMonomial

      GenericGFPoly multiplyByMonomial(int degree, int coefficient)
    • divide

      GenericGFPoly[] divide(GenericGFPoly other)
    • toString

      public String toString()
      Overrides:
      toString in class Object