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.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804