29 #ifndef P_POLYNOMIAL_INCLUDED
30 #define P_POLYNOMIAL_INCLUDED
35 template<
int Degree >
42 template<
int Degree2 >
47 static int Compare(
const void* v1 ,
const void* v2 );
50 template<
int Degree >
73 double integral(
double tMin ,
double tMax )
const;
103 void getSolutions(
double c , std::vector< double >& roots ,
double EPS ,
double min=-DBL_MAX ,
double max=DBL_MAX )
const;
110 void write( FILE* fp ,
int samples ,
double min ,
double max )
const;
112 #include "PPolynomial.inl"
double integral(double tMin, double tMax) const
double Integral(void) const
PPolynomial & addScaled(const PPolynomial &poly, double scale)
PPolynomial & operator-=(double s)
StartingPolynomial< Degree > * polys
PPolynomial operator-(const PPolynomial &p) const
PPolynomial & operator=(const PPolynomial &p)
PPolynomial(const PPolynomial< Degree > &p)
void getSolutions(double c, std::vector< double > &roots, double EPS, double min=-DBL_MAX, double max=DBL_MAX) const
PPolynomial< Degree+1 > MovingAverage(double radius) const
void set(StartingPolynomial< Degree > *sps, int count)
PPolynomial scale(double s) const
static PPolynomial BSpline(double radius=0.5)
PPolynomial & operator*=(double s)
PPolynomial & operator+=(double s)
PPolynomial & operator/=(double s)
PPolynomial< Degree+Degree2 > operator*(const Polynomial< Degree2 > &p) const
PPolynomial & compress(double delta=0.)
void write(FILE *fp, int samples, double min, double max) const
PPolynomial< Degree-1 > derivative(void) const
PPolynomial operator+(const PPolynomial &p) const
PPolynomial reflect(double r=0.) const
PPolynomial operator/(double s) const
void reset(size_t newSize)
PPolynomial< Degree+1 > integral(void) const
PPolynomial shift(double t) const
double operator()(double t) const
static int Compare(const void *v1, const void *v2)
int operator<(const StartingPolynomial &sp) const
StartingPolynomial shift(double t) const
StartingPolynomial scale(double s) const
StartingPolynomial< Degree+Degree2 > operator*(const StartingPolynomial< Degree2 > &p) const