#include "common.h" #include #include #include Polynomial::Polynomial(){ float coeffs[1]; coeffs[0] = 1; init(1, coeffs); } Polynomial::Polynomial(int numcoeffs, float coeffs[]){ init(numcoeffs, coeffs); } void Polynomial::init(int numcoeffs, float coeffs[]) { this->coeffs = (float *) calloc((size_t) numcoeffs, (size_t) sizeof(float)); int i; float *ptr = coeffs; for(i=0;icoeffs[i] = *ptr; ptr++; } degree = numcoeffs-1; } Polynomial::~Polynomial() { free((void *) coeffs); } float Polynomial::value(float x) { float y = coeffs[0]; int i; for(i=1;i<=degree;i++){ y += pow(x, i) * coeffs[i]; } return y; } void Polynomial::describe() { int i; for(i=degree;i>=0; i--){ if(coeffs[i] >= 0) { if(i