Class BigIntPolynomial


  • public class BigIntPolynomial
    extends 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.
    • 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​(BigInteger factor)
        Multiplies each coefficient by a BigInteger. Does not return a new polynomial but modifies this polynomial.
        Parameters:
        factor -
      • div

        public void div​(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​(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​(BigInteger modulus)
        Takes each coefficient modulo a number.
        Parameters:
        modulus -
      • clone

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

        public int hashCode()
        Overrides:
        hashCode in class Object