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"); }
88 [[nodiscard]]
const arma::mat&
get_data()
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
double operator()(unsigned, unsigned) const
Definition: IntegrationPlan.cpp:1122
IntegrationPlan(unsigned, unsigned, IntegrationType)
Definition: IntegrationPlan.cpp:1091
const arma::mat & get_data() const
Definition: IntegrationPlan.cpp:1120
void print() const
Definition: IntegrationPlan.cpp:1124
const unsigned n_rows
Definition: IntegrationPlan.h:83
const unsigned n_cols
Definition: IntegrationPlan.h:84
IntegrationType
Definition: IntegrationPlan.h:66