source: branches/casa-release-4_3/src/PolynomialInterpolator1D.h@ 3111

Last change on this file since 3111 was 2733, checked in by Takeshi Nakazato, 12 years ago

New Development: No

JIRA Issue: Yes CAS-4770

Ready for Test: Yes

Interface Changes: Yes/No

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No

Module(s): Module Names change impacts.

Description: Describe your changes here...

Redefined Interpolator1D and derived classes as template class.


File size: 1.4 KB
Line 
1//
2// C++ Interface: PolynomialInterpolator1D
3//
4// Description:
5//
6//
7// Author: Takeshi Nakazato <takeshi.nakazato@nao.ac.jp>, (C) 2012
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef ASAP_POLYNOMIAL_INTERPOLATOR_1D_H
13#define ASAP_POLYNOMIAL_INTERPOLATOR_1D_H
14
15#include "Interpolator1D.h"
16
17namespace asap {
18
19/**
20 * Implementation of polynomial interpolation.
21 * @author TakeshiNakazato
22 */
23template <class T, class U>
24class PolynomialInterpolator1D : public Interpolator1D<T, U> {
25public:
26 // Default constructor.
27 PolynomialInterpolator1D();
28
29 // Destructor.
30 virtual ~PolynomialInterpolator1D();
31
32 // Perform interpolation.
33 // @param[in] x horizontal location where the value is evaluated
34 // by interpolation.
35 // @return interpolated value at x.
36 U interpolate(T x);
37private:
38 // Perform polynomial interpolation.
39 // If (number of data points) > (polynomial order + 1), polynomial
40 // interpolation must be done in the sub-region that contains x.
41 // This method takes arguments that specifies sub-region to be used.
42 // @param[in] x horizontal location where the value is evaluated
43 // by interpolation.
44 // @param[in] left the leftmost index of sub-region.
45 // @param[in] n number of data points of sub-region.
46 // @return interpolated value at x.
47 U dopoly(T x, unsigned int left, unsigned int n);
48};
49
50}
51
52#include "PolynomialInterpolator1D.tcc"
53
54#endif
Note: See TracBrowser for help on using the repository browser.