CFL
Interp.hpp
Go to the documentation of this file.
1 //Copyright (c) Dmitry Kramkov, 2000-2006. All rights reserved.
2 #ifndef __cflInterp_hpp__
3 #define __cflInterp_hpp__
4 
5 #include "cfl/Function.hpp"
6 #include <vector>
7 
18 namespace cfl
19 {
26 
28 
33  class IInterp
34  {
35  public:
39  virtual ~IInterp(){}
40 
47  virtual Function interpolate(const std::vector<double> & rArg,
48  const std::vector<double> & rVal) const = 0;
49  };
50 
52 
57  class Interp
58  {
59  public:
64  explicit Interp(IInterp * pNewP = 0);
65 
76  template <class InIt1, class InIt2>
77  Function interpolate(InIt1 itArgBegin, InIt1 itArgEnd,
78  InIt2 itValBegin) const;
79  private:
81  };
82 
84 
89  namespace NInterp
90  {
95  Interp linear();
96 
101  Interp spline();
102  }
104 }
105 
106 #include "cfl/Inline/iInterp.hpp"
107 #endif // of __cflInterp_hpp__
virtual ~IInterp()
Definition: Interp.hpp:39
Standard concrete class for interpolation of one-dimensional functions.
Definition: Interp.hpp:57
Concrete class for a one-dimensional function.
Definition: Function.hpp:78
virtual Function interpolate(const std::vector< double > &rArg, const std::vector< double > &rVal) const =0
Interp linear()
Interface class for numerical interpolation.
Definition: Interp.hpp:33
Main namespace for cfl library.
Definition: Approx.hpp:22
STL class.
One-dimensional function object in cfl library.
Interp spline()