Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?_commit_trig_transform

Checks consistency and correctness of user's data as well as initializes certain data structures required to perform the Trigonometric Transform.

Syntax

void d_commit_trig_transform
(
double
f[],
DFTI_DESCRIPTOR_HANDLE
*handle,
MKL_INT
ipar[],
double
dpar[],
MKL_INT
*stat
)
;
void s_commit_trig_transform
(
float
f[],
DFTI_DESCRIPTOR_HANDLE
*handle,
MKL_INT
ipar[],
float
spar[],
MKL_INT
*stat
)
;
Include Files
  • mkl_trig_transforms.f90
Input Parameters
f
double
for
d_commit_trig_transform
,
float
for
s_commit_trig_transform
,
array of size
n
for staggered2 transforms and of size
n
+1 for all other transforms, where
n
is the size of the problem. Contains data vector to be transformed. Note that the following values should be 0.0 up to rounding errors:
  • f
    [0] and
    f
    [
    n
    ] for sine transforms
  • f
    [
    n
    ] for staggered cosine transforms
  • f
    [0] for staggered sine transforms.
Otherwise, the routine will produce a warning, and the result of the computations for sine transforms may be wrong. These restrictions meet the requirements of the
Intel® MKL
Poisson Solver, which the TT interface is primarily designed for (for details, see Fast Poisson Solver Routines ).
ipar
MKL_INT
array of size 128. Contains integer data needed for Trigonometric Transform computations.
dpar
double
array of size 5
n
/2+2. Contains double-precision data needed for Trigonometric Transform computations. The routine initializes most elements of this array.
spar
float
array of size 5
n
/2+2. Contains single-precision data needed for Trigonometric Transform computations. The routine initializes most elements of this array.
Output Parameters
handle
DFTI_DESCRIPTOR_HANDLE*
. The data structure used by
Intel® MKL
FFT interface (for details, refer to FFT Functions ).
ipar
Contains integer data needed for Trigonometric Transform computations. On output,
ipar[6]
is updated with the
stat
value.
dpar
Contains double-precision data needed for Trigonometric Transform computations. On output, the entire array is initialized.
spar
Contains single-precision data needed for Trigonometric Transform computations. On output, the entire array is initialized.
stat
MKL_INT*
. Contains the routine completion status, which is also written to
ipar[6]
.
Description
The routine
?_commit_trig_transform
checks consistency and correctness of the parameters to be passed to the transform routines
?_forward_trig_transform
and/or
?_backward_trig_transform
. The routine also initializes the following data structures:
handle
,
dpar
in case of
d_commit_trig_transform
, and
spar
in case of
s_commit_trig_transform
. The
?_commit_trig_transform
routine initializes only those elements of
dpar
or
spar
that depend upon the type of transform, defined in the
?_init_trig_transform
routine and passed to
?_commit_trig_transform
with the
ipar
array. The size of the problem
n
, which determines sizes of the array parameters, is also passed to the routine with the
ipar
array and defined in the previously called
?_init_trig_transform
routine. For a detailed description of arrays
ipar
,
dpar
and
spar
, refer to Common Parameters . The routine performs only a basic check for correctness and consistency of the parameters. If you are going to modify parameters of TT routines, see Caveat on Parameter Modifications . Unlike
?_init_trig_transform
, you must call the
?_commit_trig_transform
routine in your code.
Return Values
stat
= 11