Function intdeo

I = integral of f(x) over (a,infinity), f(x) has oscillatory factor :

void intdeo(Real, Func) (
  Func f,
  Real a,
  Real omega,
  Real eps,
  Real* i,
  Real* err
);
f(x) = g(x) * sin(omega * x + theta) as x -> infinity

Parameters

NameDescription
f integrand f(x)
a lower limit of integration
omega frequency of oscillation
eps relative error requested
i approximation to the integral
err estimate of the absolute error

Remarks

        function
            f(x) needs to be analytic over (a,infinity).
        relative error
            eps is relative error requested excluding
            cancellation of significant digits.
            i.e. eps means : (absolute error) /
                             (integral_a^R |f(x)| dx).
            eps does not mean : (absolute error) / I.
        error message
            err >= 0 : normal termination.
            err < 0  : abnormal termination (m >= mmax).
                       i.e. convergent error is detected :
                           1. f(x) or (d/dx)^n f(x) has
                              discontinuous points or sharp
                              peaks over (a,infinity).
                              you must divide the interval
                              (a,infinity) at this points.
                           2. relative error of f(x) is
                              greater than eps.