00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _adevs_poly_h_
00021 #define _adevs_poly_h_
00022 #include <cstdlib>
00023
00024 namespace adevs
00025 {
00036 class InterPoly
00037 {
00038 public:
00045 InterPoly(const double* u, const double* t, unsigned int n);
00050 InterPoly(const double* u, double dt, unsigned int n, double t0 = 0.0);
00056 void setData(const double* u, const double* t = NULL);
00060 double interpolate(double t) const;
00064 double operator()(double t) const;
00068 double derivative(double t) const;
00072 ~InterPoly();
00073 private:
00074 InterPoly(){}
00075 InterPoly(const InterPoly&){}
00076 void operator=(const InterPoly&){}
00077
00078 double* tdat;
00079 double* udat;
00080 unsigned int n;
00081 };
00082 }
00083
00084 #endif