df?IntegrCallBack
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:
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), thedf?IntegrateEx1Droutine passesllimas the left integration limit andmin(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), thedf?IntegrateEx1Droutine passesmax(llim,b) as the left integration limit andrlimas the right integration limit to the user-defined callback function.
- If the left and the right integration limits belong to the interpolation interval, thedf?IntegrateEx1Droutine 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.