62 explicit Polynomial(
const std::vector<int> &coefficients);
95 void setCoefficient(
const int &coefficient,
const std::size_t &order);
113 void truncate(
const std::size_t &truncateOrder);
void setMaxXorder(const std::size_t &maxXorder)
Set the highest order of x to maxXorder, filling in zeros if necessary.
void multiplyPolynomial(const Polynomial &poly)
Multiply polynomial with input polynomial by multiplying term by term maxXorder_m is adjusted accord...
~Polynomial()
Destructor, does nothing.
void addPolynomial(const Polynomial &poly)
Add polynomial to input polynomial If input polynomial has higher order terms, then maxXorder_m is a...
std::vector< int > coefficients_m
void truncate(const std::size_t &truncateOrder)
Truncate polynomial to truncateOrder If truncateOrder is greater than maxXorder_m,...
Polynomial()
Default constructor, initialises zero polynomial.
double evaluatePolynomial(const double &x) const
Evaluate the polynomial.
void printPolynomial() const
Print polynomial for internal debugging.
void setCoefficient(const int &coefficient, const std::size_t &order)
Set the coefficient in front of x^order If order is larger than maxXorder_m maxXorder_m is adjusted ...
int getCoefficient(const std::size_t &order) const
Returns coefficient in front of x^order.
void differentiatePolynomial()
Differentiate polynomial using .
void setZero()
Set polynomial to zero.
Polynomial & operator=(const Polynomial &poly)
Assigment operator.
int getMaxXorder() const
Returns the highest order of x, does nothing if order is negative.