r521: no message
[ctsim.git] / include / interpolator.h
1 /*****************************************************************************
2 **  This is part of the CTSim program
3 **  Copyright (c) 1983-2001 Kevin Rosenberg
4 **
5 **  $Id: interpolator.h,v 1.1 2001/02/11 21:57:08 kevin Exp $
6 **
7 **  This program is free software; you can redistribute it and/or modify
8 **  it under the terms of the GNU General Public License (version 2) as
9 **  published by the Free Software Foundation.
10 **
11 **  This program is distributed in the hope that it will be useful,
12 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 **  GNU General Public License for more details.
15 **
16 **  You should have received a copy of the GNU General Public License
17 **  along with this program; if not, write to the Free Software
18 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 ******************************************************************************/
20
21
22 class CubicSplineInterpolator {
23 private:
24   double *m_pdY2;  // second differential of y data
25
26   const double* const m_pdY;
27   const int m_n;
28
29 public:
30   CubicSplineInterpolator (const double* const y, int n);
31
32   ~CubicSplineInterpolator ();
33
34   double interpolate (double x);
35 };
36
37 class CubicPolyInterpolator {
38 private:
39   const double* const m_pdY;
40   const int m_n;
41
42 public:
43   CubicPolyInterpolator (const double* const y, int n);
44
45   ~CubicPolyInterpolator ();
46
47   double interpolate (double x);
48 };
49