Developer Reference

Contents

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.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?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. 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

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.