# Package org.bouncycastle.pqc.math.ntru.polynomial

- Interface Summary
  Interface | Description
  --- | ---
  Polynomial |
  TernaryPolynomial | A polynomial whose coefficients are all equal to -1, 0, or 1

- Class Summary
  Class | Description
  --- | ---
  BigDecimalPolynomial | A polynomial with `BigDecimal` coefficients.
  BigIntPolynomial | A polynomial with `BigInteger` coefficients. Some methods (like `add`) change the polynomial, others (like `mult`) do not but return the result as a new polynomial.
  Constants |
  DenseTernaryPolynomial | A `TernaryPolynomial` with a "high" number of nonzero coefficients.
  IntegerPolynomial | A polynomial with `int` coefficients. Some methods (like `add`) change the polynomial, others (like `mult`) do not but return the result as a new polynomial.
  LongPolynomial2 | A polynomial class that combines two coefficients into one `long` value for faster multiplication in 64 bit environments. Coefficients can be between 0 and 2047 and are stored in pairs in the bits 0..10 and 24..34 of a `long` number.
  LongPolynomial5 | A polynomial class that combines five coefficients into one `long` value for faster multiplication by a ternary polynomial. Coefficients can be between 0 and 2047 and are stored in bits 0..11, 12..23, ..., 48..59 of a `long` number.
  ModularResultant | A resultant modulo a `BigInteger`
  ProductFormPolynomial | A polynomial of the form `f1*f2+f3`, where `f1,f2,f3` are very sparsely populated ternary polynomials.
  Resultant | Contains a resultant and a polynomial `rho` such that `res = rho*this + t*(x^n-1) for some integer t`.
  SparseTernaryPolynomial | A `TernaryPolynomial` with a "low" number of nonzero coefficients.