GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: filtrez/mkl_dft_type.f90 Lines: 0 1 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 0 - %

Line Branch Exec Source
1
!*****************************************************************************
2
! Copyright(C) 2002-2011 Intel Corporation. All Rights Reserved.
3
!
4
! The source code, information  and  material ("Material") contained herein is
5
! owned  by Intel Corporation or its suppliers or licensors, and title to such
6
! Material remains  with Intel Corporation  or its suppliers or licensors. The
7
! Material  contains proprietary information  of  Intel or  its  suppliers and
8
! licensors. The  Material is protected by worldwide copyright laws and treaty
9
! provisions. No  part  of  the  Material  may  be  used,  copied, reproduced,
10
! modified, published, uploaded, posted, transmitted, distributed or disclosed
11
! in any way  without Intel's  prior  express written  permission. No  license
12
! under  any patent, copyright  or  other intellectual property rights  in the
13
! Material  is  granted  to  or  conferred  upon  you,  either  expressly,  by
14
! implication, inducement,  estoppel or  otherwise.  Any  license  under  such
15
! intellectual  property  rights must  be express  and  approved  by  Intel in
16
! writing.
17
!
18
! *Third Party trademarks are the property of their respective owners.
19
!
20
! Unless otherwise  agreed  by Intel  in writing, you may not remove  or alter
21
! this  notice or  any other notice embedded  in Materials by Intel or Intel's
22
! suppliers or licensors in any way.
23
!
24
!*****************************************************************************
25
! Content:
26
!    Intel(R) Math Kernel Library (MKL)
27
!    Discrete Fourier Transform Interface (DFTI)
28
!*****************************************************************************
29
30
MODULE MKL_DFT_TYPE
31
32
  TYPE, PUBLIC :: DFTI_DESCRIPTOR
33
     PRIVATE
34
     INTEGER :: dontuse
35
     ! Structure of this type is not used in Fortran code
36
     ! the pointer to this type is used only
37
  END TYPE DFTI_DESCRIPTOR
38
39
  !======================================================================
40
  ! These real type kind parameters are not for direct use
41
  !======================================================================
42
43
  INTEGER, PARAMETER :: DFTI_SPKP = SELECTED_REAL_KIND(6,37)
44
  INTEGER, PARAMETER :: DFTI_DPKP = SELECTED_REAL_KIND(15,307)
45
46
  !======================================================================
47
  ! Descriptor configuration parameters [default values in brackets]
48
  !======================================================================
49
50
  ! Domain for forward transform. No default value
51
  INTEGER, PARAMETER :: DFTI_FORWARD_DOMAIN = 0
52
53
  ! Dimensionality, or rank. No default value
54
  INTEGER, PARAMETER :: DFTI_DIMENSION = 1
55
56
  ! Length(s) of transform. No default value
57
  INTEGER, PARAMETER :: DFTI_LENGTHS = 2
58
59
  ! Floating point precision. No default value
60
  INTEGER, PARAMETER :: DFTI_PRECISION = 3
61
62
  ! Scale factor for forward transform [1.0]
63
  INTEGER, PARAMETER :: DFTI_FORWARD_SCALE = 4
64
65
  ! Scale factor for backward transform [1.0]
66
  INTEGER, PARAMETER :: DFTI_BACKWARD_SCALE = 5
67
68
  ! Exponent sign for forward transform [DFTI_NEGATIVE]
69
  ! INTEGER, PARAMETER :: DFTI_FORWARD_SIGN = 6 ! NOT IMPLEMENTED
70
71
  ! Number of data sets to be transformed [1]
72
  INTEGER, PARAMETER :: DFTI_NUMBER_OF_TRANSFORMS = 7
73
74
  ! Storage of finite complex-valued sequences in complex domain
75
  ! [DFTI_COMPLEX_COMPLEX]
76
  INTEGER, PARAMETER :: DFTI_COMPLEX_STORAGE = 8
77
78
  ! Storage of finite real-valued sequences in real domain
79
  ! [DFTI_REAL_REAL]
80
  INTEGER, PARAMETER :: DFTI_REAL_STORAGE = 9
81
82
  ! Storage of finite complex-valued sequences in conjugate-even
83
  ! domain [DFTI_COMPLEX_REAL]
84
  INTEGER, PARAMETER :: DFTI_CONJUGATE_EVEN_STORAGE = 10
85
86
  ! Placement of result [DFTI_INPLACE]
87
  INTEGER, PARAMETER :: DFTI_PLACEMENT = 11
88
89
  ! Generalized strides for input data layout
90
  ! [tigth, col-major for Fortran]
91
  INTEGER, PARAMETER :: DFTI_INPUT_STRIDES = 12
92
93
  ! Generalized strides for output data layout
94
  ! [tigth, col-major for Fortran]
95
  INTEGER, PARAMETER :: DFTI_OUTPUT_STRIDES = 13
96
97
  ! Distance between first input elements for multiple transforms [0]
98
  INTEGER, PARAMETER :: DFTI_INPUT_DISTANCE = 14
99
100
  ! Distance between first output elements for multiple transforms [0]
101
  INTEGER, PARAMETER :: DFTI_OUTPUT_DISTANCE = 15
102
103
  ! Effort spent in initialization [DFTI_MEDIUM]
104
  ! INTEGER, PARAMETER :: DFTI_INITIALIZATION_EFFORT = 16 ! NOT IMPLEMENTED
105
106
  ! Use of workspace during computation [DFTI_ALLOW]
107
  INTEGER, PARAMETER :: DFTI_WORKSPACE = 17
108
109
  ! Ordering of the result [DFTI_ORDERED]
110
  INTEGER, PARAMETER :: DFTI_ORDERING = 18
111
112
  ! Possible transposition of result [DFTI_NONE]
113
  INTEGER, PARAMETER :: DFTI_TRANSPOSE = 19
114
115
  ! User-settable descriptor name [""]
116
  INTEGER, PARAMETER :: DFTI_DESCRIPTOR_NAME = 20
117
118
  ! Packing format for DFTI_COMPLEX_REAL storage of finite
119
  ! conjugate-even sequences [DFTI_CCS_FORMAT]
120
  INTEGER, PARAMETER :: DFTI_PACKED_FORMAT = 21
121
122
  ! Commit status of the descriptor. Read-only parameter
123
  INTEGER, PARAMETER :: DFTI_COMMIT_STATUS = 22
124
125
  ! Version string for this DFTI implementation. Read-only parameter
126
  INTEGER, PARAMETER :: DFTI_VERSION = 23
127
128
  ! Ordering of the forward transform. Read-only parameter
129
  ! INTEGER, PARAMETER :: DFTI_FORWARD_ORDERING = 24 ! NOT IMPLEMENTED
130
131
  ! Ordering of the backward transform. Read-only parameter
132
  ! INTEGER, PARAMETER :: DFTI_BACKWARD_ORDERING = 25 ! NOT IMPLEMENTED
133
134
  ! Number of user threads that share the descriptor [1]
135
  INTEGER, PARAMETER :: DFTI_NUMBER_OF_USER_THREADS = 26
136
137
  !======================================================================
138
  ! Values of the descriptor configuration parameters
139
  !======================================================================
140
141
  ! DFTI_COMMIT_STATUS
142
  INTEGER, PARAMETER :: DFTI_COMMITTED = 30
143
  INTEGER, PARAMETER :: DFTI_UNCOMMITTED = 31
144
145
  ! DFTI_FORWARD_DOMAIN
146
  INTEGER, PARAMETER :: DFTI_COMPLEX = 32
147
  INTEGER, PARAMETER :: DFTI_REAL = 33
148
  ! INTEGER, PARAMETER :: DFTI_CONJUGATE_EVEN = 34 ! NOT IMPLEMENTED
149
150
  ! DFTI_PRECISION
151
  INTEGER, PARAMETER :: DFTI_SINGLE = 35
152
  INTEGER, PARAMETER :: DFTI_DOUBLE = 36
153
154
  ! DFTI_PRECISION for reduced size of statically linked application.
155
  ! Recommended use: modify statement 'USE MKL_DFTI' in your program,
156
  ! so that it reads as either of:
157
  ! USE MKL_DFTI, FORGET=>DFTI_SINGLE, DFTI_SINGLE=>DFTI_SINGLE_R
158
  ! USE MKL_DFTI, FORGET=>DFTI_DOUBLE, DFTI_DOUBLE=>DFTI_DOUBLE_R
159
  ! where word 'FORGET' can be any name not used in the program.
160
  REAL(DFTI_SPKP), PARAMETER :: DFTI_SINGLE_R = 35
161
  REAL(DFTI_DPKP), PARAMETER :: DFTI_DOUBLE_R = 36
162
163
  ! DFTI_FORWARD_SIGN
164
  ! INTEGER, PARAMETER :: DFTI_NEGATIVE = 37 ! NOT IMPLEMENTED
165
  ! INTEGER, PARAMETER :: DFTI_POSITIVE = 38 ! NOT IMPLEMENTED
166
167
  ! DFTI_COMPLEX_STORAGE and DFTI_CONJUGATE_EVEN_STORAGE
168
  INTEGER, PARAMETER :: DFTI_COMPLEX_COMPLEX = 39
169
  INTEGER, PARAMETER :: DFTI_COMPLEX_REAL = 40
170
171
  ! DFTI_REAL_STORAGE
172
  INTEGER, PARAMETER :: DFTI_REAL_COMPLEX = 41
173
  INTEGER, PARAMETER :: DFTI_REAL_REAL = 42
174
175
  ! DFTI_PLACEMENT
176
  INTEGER, PARAMETER :: DFTI_INPLACE = 43 ! Result overwrites input
177
  INTEGER, PARAMETER :: DFTI_NOT_INPLACE  = 44 ! Have another place for result
178
179
  ! DFTI_INITIALIZATION_EFFORT
180
  ! INTEGER, PARAMETER :: DFTI_LOW = 45 ! NOT IMPLEMENTED
181
  ! INTEGER, PARAMETER :: DFTI_MEDIUM = 46 ! NOT IMPLEMENTED
182
  ! INTEGER, PARAMETER :: DFTI_HIGH = 47 ! NOT IMPLEMENTED
183
184
  ! DFTI_ORDERING
185
  INTEGER, PARAMETER :: DFTI_ORDERED = 48
186
  INTEGER, PARAMETER :: DFTI_BACKWARD_SCRAMBLED = 49
187
  ! INTEGER, PARAMETER :: DFTI_FORWARD_SCRAMBLED  = 50 ! NOT IMPLEMENTED
188
189
  ! Allow/avoid certain usages
190
  INTEGER, PARAMETER :: DFTI_ALLOW = 51 ! Allow transposition or workspace
191
  INTEGER, PARAMETER :: DFTI_AVOID = 52 ! Avoid auxiliary storage
192
  INTEGER, PARAMETER :: DFTI_NONE = 53
193
194
  ! DFTI_PACKED_FORMAT
195
  ! (for storing congugate-even finite sequence in real array)
196
  INTEGER, PARAMETER :: DFTI_CCS_FORMAT = 54  ! Complex conjugate-symmetric
197
  INTEGER, PARAMETER :: DFTI_PACK_FORMAT = 55 ! Pack format for real DFT
198
  INTEGER, PARAMETER :: DFTI_PERM_FORMAT = 56 ! Perm format for real DFT
199
  INTEGER, PARAMETER :: DFTI_CCE_FORMAT = 57  ! Complex conjugate-even
200
201
  !======================================================================
202
  ! Error classes
203
  !======================================================================
204
  INTEGER, PARAMETER :: DFTI_NO_ERROR = 0
205
  INTEGER, PARAMETER :: DFTI_MEMORY_ERROR = 1
206
  INTEGER, PARAMETER :: DFTI_INVALID_CONFIGURATION = 2
207
  INTEGER, PARAMETER :: DFTI_INCONSISTENT_CONFIGURATION = 3
208
  INTEGER, PARAMETER :: DFTI_MULTITHREADED_ERROR = 4
209
  INTEGER, PARAMETER :: DFTI_BAD_DESCRIPTOR = 5
210
  INTEGER, PARAMETER :: DFTI_UNIMPLEMENTED = 6
211
  INTEGER, PARAMETER :: DFTI_MKL_INTERNAL_ERROR = 7
212
  INTEGER, PARAMETER :: DFTI_NUMBER_OF_THREADS_ERROR = 8
213
  INTEGER, PARAMETER :: DFTI_1D_LENGTH_EXCEEDS_INT32 = 9
214
215
  ! Maximum length of error string
216
  INTEGER, PARAMETER :: DFTI_MAX_MESSAGE_LENGTH = 80
217
218
  ! Maximum length of user-settable descriptor name
219
  INTEGER, PARAMETER :: DFTI_MAX_NAME_LENGTH = 10
220
221
  ! Maximum length of MKL version string
222
  INTEGER, PARAMETER :: DFTI_VERSION_LENGTH = 198
223
224
  ! (deprecated parameter)
225
  INTEGER, PARAMETER :: DFTI_ERROR_CLASS = 60
226
227
END MODULE MKL_DFT_TYPE