BPASUnivariatePolynomial Class Referenceabstract
A child class of BPASUnivariatePolynomial inherits from BPASPolynomial. Moreover, it implements a univariate polynomial ring in which a notion of Greatest Common Divisor (GCD) makes sense. Arithmetic operations (addition, subtraction, multiplication, exact division) can take a polynomial and a coefficient as input arguments. Arithmetic operations also include shift left and shift right (that is, multiplication or division by a power of the variable) as well as divisions (monic, pseudo and lazy), differentiation, evaluation, GCD computation and square-free factorization. One can query the degree, the leading coefficient, the coefficient of a prescribed monomial, the variable name, the content of a polynomial.
Inheritance diagram for BPASUnivariatePolynomial:

## Public Member Functions

BPASUnivariatePolynomialoperator+ (DataType)

BPASUnivariatePolynomialoperator+= (DataType)

BPASUnivariatePolynomialoperator- (DataType)

BPASUnivariatePolynomialoperator-= (DataType)

BPASUnivariatePolynomialoperator* (DataType)

BPASUnivariatePolynomialoperator*= (DataType)

BPASUnivariatePolynomialoperator/ (DataType)

BPASUnivariatePolynomialoperator/= (DataType)

BPASUnivariatePolynomialoperator<< (int)

BPASUnivariatePolynomialoperator<<= (int)

BPASUnivariatePolynomialoperator>> (int)

BPASUnivariatePolynomialoperator>>= (int)

BPASUnivariatePolynomialmonicDivide (BPASUnivariatePolynomial &)

BPASUnivariatePolynomialmonicDivide (BPASUnivariatePolynomial &, BPASUnivariatePolynomial *)

BPASUnivariatePolynomiallazyPseudoDivide (BPASUnivariatePolynomial &, DataType *, DataType *)

BPASUnivariatePolynomiallazyPseudoDivide (BPASUnivariatePolynomial &, BPASUnivariatePolynomial *, DataType *, DataType *)

BPASUnivariatePolynomialpseudoDivide (BPASUnivariatePolynomial &, DataType *)

BPASUnivariatePolynomialpseudoDivide (BPASUnivariatePolynomial &, BPASUnivariatePolynomial *, DataType *)

virtual void differentiate (int)=0

DataType content ()

BPASUnivariatePolynomialgcd (BPASUnivariatePolynomial &)

std::vector
< BPASUnivariatePolynomial & >
squareFree ()

virtual int degree ()=0

DataType coefficient (int)

void setCoefficient (int, DataType)

virtual void setVariableName (std::string)=0

virtual std::string variable ()=0

virtual bool isTrailingCoefficientZero ()=0

DataType evaluate (DataType)

Public Member Functions inherited from BPASPolynomial
BPASPolynomialoperator= (BPASPolynomial &)

BPASPolynomialoperator+ (BPASPolynomial &)

BPASPolynomialoperator+= (BPASPolynomial &)

BPASPolynomialoperator- (BPASPolynomial &)

BPASPolynomialoperator- ()

BPASPolynomialoperator-= (BPASPolynomial &)

BPASPolynomialoperator* (BPASPolynomial &)

BPASPolynomialoperator*= (BPASPolynomial &)

BPASPolynomialoperator/ (BPASPolynomial &)

BPASPolynomialoperator/= (BPASPolynomial &)

BPASPolynomialoperator^ (int)

bool operator== (BPASPolynomial &)

bool operator!= (BPASPolynomial &)

Public Member Functions inherited from BPASRing
virtual bool isZero ()=0

virtual void zero ()=0

virtual bool isOne ()=0

virtual void one ()=0

virtual bool isNegativeOne ()=0

virtual void negativeOne ()=0

virtual int isConstant ()=0