Developer Reference

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

Trigonometric Transform Implementation Details

Several aspects of the
Intel® MKL
TT interface are platform-specific and language-specific. To promote portability across platforms and ease of use across different languages,
Intel® MKL
provides you with the TT language-specific header file to include in your code:
  • mkl_trig_transforms.f90
    , to be used together with
    mkl_dfti.f90
    .
  • Intel® MKL
    TT interface supports Fortran versions starting with Fortran 90.
  • Use of the
    Intel® MKL
    TT software without including the above language-specific header files is not supported.

Header File

The header file below defines the following function prototypes:
SUBROUTINE D_INIT_TRIG_TRANSFORM(n, tt_type, ipar, dpar, stat) INTEGER, INTENT(IN) :: n, tt_type INTEGER, INTENT(INOUT) :: ipar(*) REAL(8), INTENT(INOUT) :: dpar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE D_INIT_TRIG_TRANSFORM   SUBROUTINE D_COMMIT_TRIG_TRANSFORM(f, handle, ipar, dpar, stat) REAL(8), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(8), INTENT(INOUT) :: dpar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE D_COMMIT_TRIG_TRANSFORM   SUBROUTINE D_FORWARD_TRIG_TRANSFORM(f, handle, ipar, dpar, stat) REAL(8), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(8), INTENT(INOUT) :: dpar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE D_FORWARD_TRIG_TRANSFORM   SUBROUTINE D_BACKWARD_TRIG_TRANSFORM(f, handle, ipar, dpar, stat) REAL(8), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(8), INTENT(INOUT) :: dpar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE D_BACKWARD_TRIG_TRANSFORM   SUBROUTINE S_INIT_TRIG_TRANSFORM(n, tt_type, ipar, spar, stat) INTEGER, INTENT(IN) :: n, tt_type INTEGER, INTENT(INOUT) :: ipar(*) REAL(4), INTENT(INOUT) :: spar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE S_INIT_TRIG_TRANSFORM   SUBROUTINE S_COMMIT_TRIG_TRANSFORM(f, handle, ipar, spar, stat) REAL(4), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(4), INTENT(INOUT) :: spar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE S_COMMIT_TRIG_TRANSFORM   SUBROUTINE S_FORWARD_TRIG_TRANSFORM(f, handle, ipar, spar, stat) REAL(4), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(4), INTENT(INOUT) :: spar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE S_FORWARD_TRIG_TRANSFORM   SUBROUTINE S_BACKWARD_TRIG_TRANSFORM(f, handle, ipar, spar, stat) REAL(4), INTENT(INOUT) :: f(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(INOUT) :: ipar(*) REAL(4), INTENT(INOUT) :: spar(*) INTEGER, INTENT(OUT) :: stat END SUBROUTINE S_BACKWARD_TRIG_TRANSFORM   SUBROUTINE FREE_TRIG_TRANSFORM(handle, ipar, stat) INTEGER, INTENT(INOUT) :: ipar(*) TYPE(DFTI_DESCRIPTOR), POINTER :: handle INTEGER, INTENT(OUT) :: stat END SUBROUTINE FREE_TRIG_TRANSFORM
Fortran specifics of the TT routines usage are similar for all
Intel® MKL
PDE support tools and described in Calling PDE Support Routines from Fortran .

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