NAME
quadrature_option - send options to the integrate function
SYNOPSIS
The quadrature_option class is used to send options to the integrate function see integrate(4). This class allows one to set the family (Gauss, Gauss-Lobatto, etc) and the polynomial degree that is exactly integrated.
A special family name, call equispaced, refers to an equispaced set of point, suitable for some irregular functions, e.g. the Heaviside function. In that case, the order parameter refers to the number of nodes used. For instance, order=1 refers to the trapezoidal formulae and for the general case, there are order+1 nodes per edges. See also the see quadrature(2) for more on quadrature formulae.
IMPLEMENTATION
class
quadrature_option {
public:
// typedefs:
typedef size_t size_type;
typedef enum {
gauss = 0,
gauss_lobatto = 1,
gauss_radau = 2,
middle_edge = 3,
superconvergent = 4,
equispaced = 5,
max_family = 6
} family_type; // update also family_name[] in
quatrature.cc
// allocators:
quadrature_option(
family_type ft = quadrature_option::gauss,
size_type k =
std::numeric_limits<size_type>::max());
quadrature_option
(const quadrature_option& qopt);
quadrature_option& operator= (const
quadrature_option& qopt);
// accessors & modifiers:
size_t
get_order() const;
family_type get_family() const;
std::string get_family_name() const;
void set_order (size_t r);
void set_family (family_type type);
void set_family (std::string name);
// data:
protected:
family_type _family;
size_t _order;
};
SEE ALSO
COPYRIGHT
Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito [AT] imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.