| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- !===============================================================================
- ! Copyright 2006-2022 Intel Corporation.
- !
- ! This software and the related documents are Intel copyrighted materials, and
- ! your use of them is governed by the express license under which they were
- ! provided to you (License). Unless the License provides otherwise, you may not
- ! use, modify, copy, publish, distribute, disclose or transmit this software or
- ! the related documents without Intel's prior written permission.
- !
- ! This software and the related documents are provided as is, with no express
- ! or implied warranties, other than those that are expressly stated in the
- ! License.
- !===============================================================================
- ! Content:
- ! Intel(R) oneAPI Math Kernel Library (oneMKL) interface for TT routines
- !*******************************************************************************
- MODULE MKL_TT_TYPE
- ! Parameters definitions for the kind of the Trigonometric Transform
- INTEGER, PARAMETER :: MKL_SINE_TRANSFORM = 0
- INTEGER, PARAMETER :: MKL_COSINE_TRANSFORM = 1
- INTEGER, PARAMETER :: MKL_STAGGERED_COSINE_TRANSFORM = 2
- INTEGER, PARAMETER :: MKL_STAGGERED_SINE_TRANSFORM = 3
- INTEGER, PARAMETER :: MKL_STAGGERED2_COSINE_TRANSFORM = 4
- INTEGER, PARAMETER :: MKL_STAGGERED2_SINE_TRANSFORM = 5
- END MODULE MKL_TT_TYPE
- MODULE MKL_TRIG_TRANSFORMS
- USE MKL_TT_TYPE
- USE MKL_DFTI
- INTERFACE
- SUBROUTINE D_INIT_TRIG_TRANSFORM(n, tt_type, ipar,dpar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_d_init_trig_transform' :: D_INIT_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: n
- !MS$ATTRIBUTES REFERENCE :: tt_type
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: dpar
- !MS$ATTRIBUTES REFERENCE :: 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)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_d_commit_trig_transform' :: D_COMMIT_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: dpar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(8), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(8), INTENT(OUT) :: dpar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE D_COMMIT_TRIG_TRANSFORM
- SUBROUTINE D_FORWARD_TRIG_TRANSFORM(f, handle, ipar,dpar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_d_forward_trig_transform' :: D_FORWARD_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: dpar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(8), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(8), INTENT(IN) :: dpar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE D_FORWARD_TRIG_TRANSFORM
- SUBROUTINE D_BACKWARD_TRIG_TRANSFORM(f, handle, ipar,dpar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_d_backward_trig_transform' :: D_BACKWARD_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: dpar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(8), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(8), INTENT(IN) :: dpar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE D_BACKWARD_TRIG_TRANSFORM
- SUBROUTINE S_INIT_TRIG_TRANSFORM(n, tt_type, ipar,spar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_s_init_trig_transform' :: S_INIT_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: n
- !MS$ATTRIBUTES REFERENCE :: tt_type
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: spar
- !MS$ATTRIBUTES REFERENCE :: 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)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_s_commit_trig_transform' :: S_COMMIT_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: spar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(4), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(4), INTENT(OUT) :: spar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE S_COMMIT_TRIG_TRANSFORM
- SUBROUTINE S_FORWARD_TRIG_TRANSFORM(f, handle, ipar,spar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_s_forward_trig_transform' :: S_FORWARD_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: spar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(4), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(4), INTENT(IN) :: spar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE S_FORWARD_TRIG_TRANSFORM
- SUBROUTINE S_BACKWARD_TRIG_TRANSFORM(f, handle, ipar,spar, stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_s_backward_trig_transform' :: S_BACKWARD_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: f
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: spar
- !MS$ATTRIBUTES REFERENCE :: stat
- REAL(4), INTENT(INOUT) :: f(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(INOUT) :: ipar(*)
- REAL(4), INTENT(IN) :: spar(*)
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE S_BACKWARD_TRIG_TRANSFORM
- SUBROUTINE FREE_TRIG_TRANSFORM(handle, ipar,stat)
- USE MKL_DFT_TYPE
- !DEC$ ATTRIBUTES C, ALIAS: '_free_trig_transform' :: FREE_TRIG_TRANSFORM
- !MS$ATTRIBUTES REFERENCE :: handle
- !MS$ATTRIBUTES REFERENCE :: ipar
- !MS$ATTRIBUTES REFERENCE :: stat
- INTEGER, INTENT(INOUT) :: ipar(*)
- TYPE(DFTI_DESCRIPTOR), POINTER :: handle
- INTEGER, INTENT(OUT) :: stat
- END SUBROUTINE FREE_TRIG_TRANSFORM
- END INTERFACE
- END MODULE MKL_TRIG_TRANSFORMS
|