Intel® oneAPI Math Kernel Library Developer Reference - C

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

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:

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.

See Also