Class BigIntPolynomial


  • public class BigIntPolynomial
    extends java.lang.Object
    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.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(BigIntPolynomial b)
      Adds another polynomial which can have a different number of coefficients.
      java.lang.Object clone()
      Makes a copy of the polynomial that is independent of the original.
      BigDecimalPolynomial div​(java.math.BigDecimal divisor, int decimalPlaces)
      Divides each coefficient by a BigDecimal and rounds the result to decimalPlaces places.
      void div​(java.math.BigInteger divisor)
      Divides each coefficient by a BigInteger and rounds the result to the nearest whole number.
      Does not return a new polynomial but modifies this polynomial.
      boolean equals​(java.lang.Object obj)  
      java.math.BigInteger[] getCoeffs()  
      int getMaxCoeffLength()
      Returns the base10 length of the largest coefficient.
      int hashCode()  
      void mod​(java.math.BigInteger modulus)
      Takes each coefficient modulo a number.
      void mult​(java.math.BigInteger factor)
      Multiplies each coefficient by a BigInteger.
      BigIntPolynomial mult​(BigIntPolynomial poly2)
      Multiplies the polynomial by another, taking the indices mod N.
      void sub​(BigIntPolynomial b)
      Subtracts another polynomial which can have a different number of coefficients.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BigIntPolynomial

        public BigIntPolynomial​(IntegerPolynomial p)
        Constructs a BigIntPolynomial from a IntegerPolynomial. The two polynomials are independent of each other.
        Parameters:
        p - the original polynomial
    • Method Detail

      • mult

        public BigIntPolynomial mult​(BigIntPolynomial poly2)
        Multiplies the polynomial by another, taking the indices mod N. Does not change this polynomial but returns the result as a new polynomial.
        Both polynomials must have the same number of coefficients.
        Parameters:
        poly2 - the polynomial to multiply by
        Returns:
        a new polynomial
      • add

        public void add​(BigIntPolynomial b)
        Adds another polynomial which can have a different number of coefficients.
        Parameters:
        b - another polynomial
      • sub

        public void sub​(BigIntPolynomial b)
        Subtracts another polynomial which can have a different number of coefficients.
        Parameters:
        b - another polynomial
      • mult

        public void mult​(java.math.BigInteger factor)
        Multiplies each coefficient by a BigInteger. Does not return a new polynomial but modifies this polynomial.
        Parameters:
        factor -
      • div

        public void div​(java.math.BigInteger divisor)
        Divides each coefficient by a BigInteger and rounds the result to the nearest whole number.
        Does not return a new polynomial but modifies this polynomial.
        Parameters:
        divisor - the number to divide by
      • div

        public BigDecimalPolynomial div​(java.math.BigDecimal divisor,
                                        int decimalPlaces)
        Divides each coefficient by a BigDecimal and rounds the result to decimalPlaces places.
        Parameters:
        divisor - the number to divide by
        decimalPlaces - the number of fractional digits to round the result to
        Returns:
        a new BigDecimalPolynomial
      • getMaxCoeffLength

        public int getMaxCoeffLength()
        Returns the base10 length of the largest coefficient.
        Returns:
        length of the longest coefficient
      • mod

        public void mod​(java.math.BigInteger modulus)
        Takes each coefficient modulo a number.
        Parameters:
        modulus -
      • clone

        public java.lang.Object clone()
        Makes a copy of the polynomial that is independent of the original.
        Overrides:
        clone in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getCoeffs

        public java.math.BigInteger[] getCoeffs()