Visible to Intel only — GUID: GUID-46488E96-DC4A-4686-B720-CB328D6032C3
Visible to Intel only — GUID: GUID-46488E96-DC4A-4686-B720-CB328D6032C3
Trigonometric Transform Implementation Details
Several aspects of the Intel® oneAPI Math Kernel Library (oneMKL) TT interface are platform-specific and language-specific. To promote portability across platforms and ease of use across different languages, Intel® oneAPI Math Kernel Library (oneMKL) 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® oneAPI Math Kernel Library (oneMKL) TT interface supports Fortran versions starting with Fortran 90.
- Use of the Intel® oneAPI Math Kernel Library (oneMKL) 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® oneAPI Math Kernel Library (oneMKL) PDE support tools and described inCalling PDE Support Routines from Fortran.