PFASST++
clenshaw_curtis.hpp
Go to the documentation of this file.
1 
5 #ifndef _PFASST__QUADRATURE__CLENSHAW_CURTIS_HPP_
6 #define _PFASST__QUADRATURE__CLENSHAW_CURTIS_HPP_
7 
8 #include <cassert>
9 #include <vector>
10 using namespace std;
11 
12 #include "pfasst/interfaces.hpp"
14 
15 
16 namespace pfasst
17 {
18  namespace quadrature
19  {
27  template<typename precision = pfasst::time_precision>
29  : public IQuadrature<precision>
30  {
31  protected:
33  static const bool LEFT_IS_NODE = true;
34  static const bool RIGHT_IS_NODE = true;
36 
37  public:
39 
42  explicit ClenshawCurtis(const size_t num_nodes);
43  ClenshawCurtis() = default;
44  virtual ~ClenshawCurtis() = default;
46 
48  virtual bool left_is_node() const override;
49  virtual bool right_is_node() const override;
51 
52  protected:
54  virtual void compute_nodes() override;
56  };
57  } // ::pfasst::quadrature
58 } // ::pfasst
59 
61 
62 #endif // _PFASST__QUADRATURE__CLENSHAW_CURTIS_HPP_
Interface for quadrature handlers.
Definition: interface.hpp:232
Quadrature handler for Clenshaw-Curtis quadrature.
STL namespace.
vector< precision > compute_nodes(size_t nnodes, QuadratureType qtype)
Compute quadrature nodes for given quadrature type descriptor.
Definition: quadrature.hpp:84
interfaces for SDC/MLSDC/PFASST algorithms.