61 #ifndef INTEGRATIONPLAN_H 62 #define INTEGRATIONPLAN_H 64 #include <armadillo/armadillo> 80 template<IntegrationType>
void generate(
unsigned,
unsigned) {
throw std::invalid_argument(
"not supported"); }
83 const unsigned n_rows = 0;
84 const unsigned n_cols = 0;
88 [[nodiscard]]
const arma::mat& get_data()
const;
90 double operator()(
unsigned,
unsigned)
const;
95 template<>
void IntegrationPlan::generate<IntegrationType::GAUSS>(unsigned, unsigned);
96 template<>
void IntegrationPlan::generate<IntegrationType::HERMITE>(unsigned, unsigned);
97 template<>
void IntegrationPlan::generate<IntegrationType::CHEBYSHEV>(unsigned, unsigned);
98 template<>
void IntegrationPlan::generate<IntegrationType::LOBATTO>(unsigned, unsigned);
99 template<>
void IntegrationPlan::generate<IntegrationType::RADAU>(unsigned, unsigned);
100 template<>
void IntegrationPlan::generate<IntegrationType::LAGUERRE>(unsigned, unsigned);
101 template<>
void IntegrationPlan::generate<IntegrationType::IRONS>(unsigned, unsigned);
102 template<>
void IntegrationPlan::generate<IntegrationType::TRIANGLE>(unsigned, unsigned);
An IntegrationPlan class.
Definition: IntegrationPlan.h:77
IntegrationType
Definition: IntegrationPlan.h:66