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;
95template<>
void IntegrationPlan::generate<IntegrationType::GAUSS>(
unsigned,
unsigned);
96template<>
void IntegrationPlan::generate<IntegrationType::HERMITE>(
unsigned,
unsigned);
97template<>
void IntegrationPlan::generate<IntegrationType::CHEBYSHEV>(
unsigned,
unsigned);
98template<>
void IntegrationPlan::generate<IntegrationType::LOBATTO>(
unsigned,
unsigned);
99template<>
void IntegrationPlan::generate<IntegrationType::RADAU>(
unsigned,
unsigned);
100template<>
void IntegrationPlan::generate<IntegrationType::LAGUERRE>(
unsigned,
unsigned);
101template<>
void IntegrationPlan::generate<IntegrationType::IRONS>(
unsigned,
unsigned);
102template<>
void IntegrationPlan::generate<IntegrationType::TRIANGLE>(
unsigned,
unsigned);
An IntegrationPlan class.
Definition: IntegrationPlan.h:77
double operator()(unsigned, unsigned) const
Definition: IntegrationPlan.cpp:1846
IntegrationPlan(unsigned, unsigned, IntegrationType)
Definition: IntegrationPlan.cpp:1815
const arma::mat & get_data() const
Definition: IntegrationPlan.cpp:1844
void print() const
Definition: IntegrationPlan.cpp:1848
const unsigned n_rows
Definition: IntegrationPlan.h:83
const unsigned n_cols
Definition: IntegrationPlan.h:84
IntegrationType
Definition: IntegrationPlan.h:66