npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0

#include <FejerQuadrature.hh>

Inheritance diagram for npstat::FejerQuadrature:
npstat::AbsIntervalQuadrature1D

Public Types

enum  { interval_quadrature = 1 }
 

Public Member Functions

 FejerQuadrature (unsigned npoints)
 
unsigned npoints () const
 
void getAllAbscissae (long double *abscissae, unsigned len) const
 
void getAllWeights (long double *weights, unsigned len) const
 
template<typename FcnResult , typename FcnArg >
long double integrate (const Functor1< FcnResult, FcnArg > &fcn, long double a, long double b) const
 
- Public Member Functions inherited from npstat::AbsIntervalQuadrature1D
template<class Functor >
std::vector< std::pair< double, double > > weightedIntegrationPoints (const Functor &weight, const long double left, const long double right) const
 
template<class Functor >
std::vector< std::pair< long double, long double > > weightedIntegrationPointsLD (const Functor &weight, const long double left, const long double right) const
 

Static Public Member Functions

static unsigned minimalExactRule (unsigned polyDegree)
 

Detailed Description

Fejer quadrature. Internally, operations are performed in long double precision.

Member Function Documentation

◆ getAllAbscissae()

void npstat::FejerQuadrature::getAllAbscissae ( long double *  abscissae,
unsigned  len 
) const
virtual

The abscissae of the integration rule. The buffer length should be at least npoints.

Implements npstat::AbsIntervalQuadrature1D.

◆ getAllWeights()

void npstat::FejerQuadrature::getAllWeights ( long double *  weights,
unsigned  len 
) const
virtual

The weights of the integration rule. The buffer length should be at least npoints.

Implements npstat::AbsIntervalQuadrature1D.

◆ integrate()

template<typename FcnResult , typename FcnArg >
long double npstat::FejerQuadrature::integrate ( const Functor1< FcnResult, FcnArg > &  fcn,
long double  a,
long double  b 
) const

Perform the quadrature on [a, b] interval

◆ minimalExactRule()

static unsigned npstat::FejerQuadrature::minimalExactRule ( unsigned  polyDegree)
static

Minimum number of points which integrates a polynomial with the given degree exactly

◆ npoints()

unsigned npstat::FejerQuadrature::npoints ( ) const
inlinevirtual

Return the number of quadrature points

Implements npstat::AbsIntervalQuadrature1D.


The documentation for this class was generated from the following file: