Developer Reference for Intel® oneAPI Math Kernel Library for C
df?IntegrCallBack
A callback function that you can pass into df?integrateex1ddf?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.h
Input Parameters
Name |
Type |
Description |
|---|---|---|
n |
long long* |
Number of pairs of integration limits. |
lcell |
long long* |
Array of size n with indices of the cells that contain the left-side integration limits in array llim . |
llim |
float* for dfsIntegrCallBack double* for dfdIntegrCallBack |
Array of size n that holds the left-side integration limits. |
rcell |
long long* |
Array of size n with indices of the cells that contain the right-side integration limits in array rlim . |
rlim |
float* for dfsIntegrCallBack double* for dfdIntegrCallBack |
Array of size n that holds the right-side integration limits. |
user_params |
void* |
Pointer to user-defined parameters of the callback function. |
library_params |
dfIntegrCallBackLibraryParams* |
Pointer to library-defined parameters of the callback function. |
Output Parameters
Name |
Type |
Description |
|---|---|---|
status |
int |
The status returned by the callback function: Zero indicates successful completion of the callback operation. A negative value indicates an error. A positive value indicates a warning. See “Task Status and Error Reporting” for error code definitions. |
r |
float* for dfsIntegrCallBack double* 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?integrateex1ddf?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 (\(\text{llim} < a\)), the df?integrateex1ddf?IntegrateEx1D routine passes llim as the left integration limit and \(\min(\text{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 (\(\text{rlim} > b\)), the df?integrateex1ddf?IntegrateEx1D routine passes \(\max(\text{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?integrateex1ddf?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. 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 |