Bouncy Castle Cryptography Library 1.49

org.bouncycastle.pqc.math.ntru.polynomial
Class BigIntPolynomial

java.lang.Object
  extended by org.bouncycastle.pqc.math.ntru.polynomial.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.


Constructor Summary
BigIntPolynomial(IntegerPolynomial p)
          Constructs a BigIntPolynomial from a IntegerPolynomial.
 
Method Summary
 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.
 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()

Bouncy Castle Cryptography Library 1.49