PolynomialInterpolator1D.cpp

Go to the documentation of this file.
00001 // PolynomialInterpolator1D.cpp: implementation of the PolynomialInterpolator1D class.
00002 //
00004 
00005 #ifdef WIN32 
00006 #pragma warning(disable:4786)
00007 #endif
00008 #include "PolynomialInterpolator1D.h"
00009 
00011 // Construction/Destruction
00013 namespace Interpolator
00014 {
00016 PolynomialInterpolator1D::PolynomialInterpolator1D()
00017 {
00018 
00019 }
00020 
00022 PolynomialInterpolator1D::~PolynomialInterpolator1D()
00023 {
00024     gsl_spline_free (spline);
00025     gsl_interp_accel_free (acc);
00026 }
00027 
00032 PolynomialInterpolator1D::PolynomialInterpolator1D(     
00033                                 std::string sName, 
00034                                 std::string sDescription, 
00035                                 InterpolationData1D* mInterpolationData) : 
00036                                 Interpolator1D(sName,sDescription,"Polynomial",
00037                                 mInterpolationData)
00038 
00039 {
00040         acc             = gsl_interp_accel_alloc ();
00041         spline  = gsl_spline_alloc (gsl_interp_polynomial, getNbData());
00042         gsl_spline_init (spline, mInterpolationData->getXValues(), mInterpolationData->getYValues(), getNbData());
00043 }
00044 
00046 double PolynomialInterpolator1D::getInterpolatedValue(double dValue)
00047 {
00048       return gsl_spline_eval (spline, dValue, acc);
00049 }
00050 
00052 void PolynomialInterpolator1D::updateInterpolator()
00053 {
00054         gsl_spline_free (spline);
00055     gsl_interp_accel_free (acc);
00056         acc             = gsl_interp_accel_alloc ();
00057         spline  = gsl_spline_alloc (gsl_interp_polynomial, getNbData());
00058         gsl_spline_init (spline, getInterpolatedData()->getXValues(), getInterpolatedData()->getYValues(), getNbData());
00059 }
00060 
00061 }
00062 

Generated on Tue Apr 14 09:50:28 2009 for Interpolator Library by  doxygen 1.4.5