One-dimensional numerical integration routines.  
More...
#include <functional>
#include "lib/Assert.hpp"
#include "FrgCommon.hpp"
Go to the source code of this file.
|  | 
| template<class T > | 
| T | Integrator::integrate (const FrequencyIterator min, const FrequencyIterator max, const std::function< T(float)> &integrand) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space.  More... 
 | 
|  | 
| template<class T > | 
| T | Integrator::integrateWithObscureLeftBoundary (const float min, const FrequencyIterator max, const std::function< T(float)> &integrand) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space.  More... 
 | 
|  | 
| template<class T > | 
| T | Integrator::integrateWithObscureRightBoundary (const FrequencyIterator min, const float max, const std::function< T(float)> &integrand) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space.  More... 
 | 
|  | 
| template<class T > | 
| T | Integrator::integrateWithObscureBoundaries (const float min, const float max, const std::function< T(float)> &integrand) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space.  More... 
 | 
|  | 
| template<class T > | 
| void | ImplicitIntegrator::integrateWithObscureLeftBoundary (const float min, const FrequencyIterator max, const std::function< void(float, T &)> &integrand, T &integrandBuffer, T &resultBuffer) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference.  More... 
 | 
|  | 
| template<class T > | 
| void | ImplicitIntegrator::integrateWithObscureRightBoundary (const FrequencyIterator min, const float max, const std::function< void(float, T &)> &integrand, T &integrandBuffer, T &resultBuffer) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference.  More... 
 | 
|  | 
| template<class T > | 
| void | ImplicitIntegrator::integrateWithObscureBoundaries (const float min, const float max, const std::function< void(float, T &)> &integrand, T &integrandBuffer, T &resultBuffer) | 
|  | One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference.  More... 
 | 
|  | 
One-dimensional numerical integration routines. 
- Author
- Finn Lasse Buessen 
- Copyright
- Copyright (c) 2020 
◆ integrate()
One-dimensional trapezoidal integration in one-dimensional frequency space. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | min | Iterator to lower boundary frequency value. |  | max | Iterator to upper boundary frequency value. |  | integrand | Integrand function. |  
 
- Returns
- T Value of the integral. 
 
 
◆ integrateWithObscureBoundaries() [1/2]
template<class T > 
      
        
          | T Integrator::integrateWithObscureBoundaries | ( | const float | min, | 
        
          |  |  | const float | max, | 
        
          |  |  | const std::function< T(float)> & | integrand | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | min | Lower boundary frequency value. |  | max | Upper boundary frequency value. |  | integrand | Integrand function. |  
 
- Returns
- T Value of the integral. 
 
 
◆ integrateWithObscureBoundaries() [2/2]
template<class T > 
      
        
          | void ImplicitIntegrator::integrateWithObscureBoundaries | ( | const float | min, | 
        
          |  |  | const float | max, | 
        
          |  |  | const std::function< void(float, T &)> & | integrand, | 
        
          |  |  | T & | integrandBuffer, | 
        
          |  |  | T & | resultBuffer | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | [in] | min | Lower boundary frequency value. |  | [in] | max | Upper boundary frequency value. |  | [in] | integrand | Integrand function. |  | [out] | integrandBuffer | Return value buffer of the integrand. |  | [out] | resultBuffer | Value of the integral. |  
 
 
 
◆ integrateWithObscureLeftBoundary() [1/2]
template<class T > 
      
        
          | T Integrator::integrateWithObscureLeftBoundary | ( | const float | min, | 
        
          |  |  | const FrequencyIterator | max, | 
        
          |  |  | const std::function< T(float)> & | integrand | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | min | Lower boundary frequency value. |  | max | Iterator to upper boundary frequency value. |  | integrand | Integrand function. |  
 
- Returns
- T Value of the integral. 
 
 
◆ integrateWithObscureLeftBoundary() [2/2]
template<class T > 
      
        
          | void ImplicitIntegrator::integrateWithObscureLeftBoundary | ( | const float | min, | 
        
          |  |  | const FrequencyIterator | max, | 
        
          |  |  | const std::function< void(float, T &)> & | integrand, | 
        
          |  |  | T & | integrandBuffer, | 
        
          |  |  | T & | resultBuffer | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | [in] | min | Lower boundary frequency value. |  | [in] | max | Iterator to upper boundary frequency value. |  | [in] | integrand | Integrand function. |  | [out] | integrandBuffer | Return value buffer of the integrand. |  | [out] | resultBuffer | Value of the integral. |  
 
 
 
◆ integrateWithObscureRightBoundary() [1/2]
template<class T > 
      
        
          | T Integrator::integrateWithObscureRightBoundary | ( | const FrequencyIterator | min, | 
        
          |  |  | const float | max, | 
        
          |  |  | const std::function< T(float)> & | integrand | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | min | Iterator to lower boundary frequency value. |  | max | Upper boundary frequency value. |  | integrand | Integrand function. |  
 
- Returns
- T Value of the integral. 
 
 
◆ integrateWithObscureRightBoundary() [2/2]
template<class T > 
      
        
          | void ImplicitIntegrator::integrateWithObscureRightBoundary | ( | const FrequencyIterator | min, | 
        
          |  |  | const float | max, | 
        
          |  |  | const std::function< void(float, T &)> & | integrand, | 
        
          |  |  | T & | integrandBuffer, | 
        
          |  |  | T & | resultBuffer | 
        
          |  | ) |  |  | 
      
 
One-dimensional trapezoidal integration in one-dimensional frequency space. First argument of the integrand function is the frequency value, the second argument is the return value of the integrand, passed by reference. 
- Template Parameters
- 
  
  
- Parameters
- 
  
    | [in] | min | Iterator to lower boundary frequency value. |  | [in] | max | Upper boundary frequency value. |  | [in] | integrand | Integrand function. |  | [out] | integrandBuffer | Return value buffer of the integrand. |  | [out] | resultBuffer | Value of the integral. |