Intel® oneAPI Math Kernel Library Developer Reference - Fortran

Trigonometric Transform Implementation Details

Several aspects of the Intel® oneAPI Math Kernel Library 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 provides you with the TT language-specific header file to include in your code:

Note

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 PDE support tools and described inCalling PDE Support Routines from Fortran.