Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
df?integrcallback
A callback function that you can pass into df?integrateex1d to define integration computations.
Syntax
status = dfsintegrcallback(n, lcell, llim, rcell, rlim, r, user_params, library_params)
status = dfdintegrcallback(n, lcell, llim, rcell, rlim, r, user_params, library_params)
Include Files
- mkl_df.f90
 
Input Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
n  |  
      INTEGER(KIND=8)  |  
      Number of pairs of integration limits.  |  
     
lcell  |  
      INTEGER(KIND=8) DIMENSION(*)  |  
      Array of size n with indices of the cells that contain the left-side integration limits in array llim.  |  
     
llim  |  
      REAL(KIND=4) DIMENSION(*) for dfsintegrcallback REAL(KIND=8) DIMENSION(*) for dfdintegrcallback  |  
      Array of size n that holds the left-side integration limits.  |  
     
rcell  |  
      INTEGER(KIND=8) DIMENSION(*)  |  
      Array of size n with indices of the cells that contain the right-side integration limits in array rlim.  |  
     
rlim  |  
      REAL(KIND=4) DIMENSION(*) for dfsintegrcallback REAL(KIND=8) DIMENSION(*) for dfdintegrcallback  |  
      Array of size n that holds the right-side integration limits.  |  
     
user_params  |  
      INTEGER DIMENSION(*), optional  |  
      Pointer to user-defined parameters of the callback function.  |  
     
library_params  |  
      TYPE(DF_INTEGR_CALLBACK_LIBRARY_PARAMS), optional  |  
      Pointer to library-defined parameters of the callback function.  |  
     
Output Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
status  |  
      INTEGER  |  
      The status returned by the callback function: 
  |  
     
r  |  
      REAL(KIND=4) DIMENSION(*) for dfsintegrcallback REAL(KIND=8) DIMENSION(*) for dfdintegrcallback  |  
      Array of integration results. For packing the results in row-major format, follow the instructions described in df?interpolate1d/df?interpolateex1d.  |  
     
Description
When passed into the df?integrateex1d routine, this function defines integration computations. If at least one of the integration limits is outside the interpolation interval [a, b], the library decomposes the integration into sub-intervals that belong to the extrapolation range to the left of a, the extrapolation range to the right of b, and the interpolation interval [a, b], as follows:
- If the left integration limit is to the left of the interpolation interval (llim< a), the df?integrateex1d routine passes llim as the left integration limit and min(rlim, a) as the right integration limit to the user-defined callback function.
 - If the right integration limit is to the right of the interpolation interval (rlim> b), the df?integrateex1d routine passes max(llim, b) as the left integration limit and rlim as the right integration limit to the user-defined callback function.
 - If the left and the right integration limits belong to the interpolation interval, the df?integrateex1d routine passes them to the user-defined callback function unchanged.
 
The value of the integral is the sum of integral values obtained on the sub-intervals.
The library_params parameter allows the library to provide extra parameters, which the callback function can use to organize computations effectively. Currently no parameters are provided.
Product and Performance Information  |  
       
|---|
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex. Notice revision #20201201  |