Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of 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