40 throw std::invalid_argument(
41 "IterativeTrapzLineQuadrature::compute_points_weights(): invalid or missing eval."
57 if (max_iters_ > LINE_MAX_ORDER)
58 throw std::domain_error(
59 "IterativeTrapzLineQuadrature::compute_points_weights(): max iterations exceeded.");
68 base::points_weights_computed_ =
true;
119 base::points_weights_computed_ =
true;
void compute_points_weights(ConstEigRef< EigColVecN< Float, dim > > p1, ConstEigRef< EigColVecN< Float, dim > > p2, std::function< EigRowVec< Complex >(ConstEigRef< EigMatNX< Float, dim > >)> eval={}) override
Computes and stores the points on which to evaluate the integrand, and the corresponding weights.
bool compare_with_tol(const Complex val, const Complex val_ref, const Float tol, const uint8_t mode)
Compares two complex numbers within a given tolerance based on a given rule.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
Eigen::Matrix< T, 1, Eigen::Dynamic > EigRowVec
Dynamic-size row vector containing type T.
double Float
Floating point number.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Primary namespace for the OpenBEM library.