---
name: "quadrature_option_type"
section: "2rheolef"
platform: "linux"
package: "librheolef-dev"
version: "6.7-1+b4"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/quadrature_option_type"
---

# quadrature\_option\_type(2rheolef)

send options to the integrate function

## NAME

**quadrature\_option\_type** - send options to the integrate function

## SYNOPSYS

The **quadrature\_option\_type** class is used to send options to the **integrate** function see integrate(4). This class allows 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_type {
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_type(
        family_type ft = quadrature_option_type::gauss,
        size_type k = std::numeric_limits<size_type>::max());
  quadrature_option_type (const quadrature_option_type& qopt);
  quadrature_option_type& operator= (const quadrature_option_type& 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

integrate(4), quadrature(2)
