// poly.h polyprt polycopy polyval polyderiv polyintegrate // polyadd polysub polymul polydiv polyshrink // polymake polyfindaroot polyremovearoot polyroots // polyfit // polynomial stored p[pwr]*x^pwr + ... + p[2]*x^2 + p[1]*x + p[0] // some functions require passing array or address of pwr for return double polyval(int pwr, double p[], double x); void polycopy(int pwr, double pin[], double pouy[]); void polyprt(int pwr, double p[]); void polyderiv(int pwr, double p[], double pderiv[]); void polyintegrate(int pwr, double p[], double pintg[]); void polyadd(int npp, double p[], int npq, double q[], int npr[], double r[]); void polysub(int npp, double p[], int npq, double q[], int npr[], double r[]); void polymul(int npp, double p[], int npq, double q[], int npr[], double r[]); void polydiv(int npp, double p[], int npd, double d[], int npq[], double q[], int npr[], double r[]); int polyshrink(int pwr, double p[]); void polymake(int nr, double x[], int npp[], double p[]); double polyfindaroot (int npp, double p[]); void polyremovearoot(double x, int npp[], double p[]); void polyroots(int npp, double p[], int nr, double x[]); // fit polynomial to data void polyfit(int pwr, int n, double x[], double y[], double p[]);