Copyright(C) 2002-2011 Intel Corporation. All Rights Reserved.
The source code, information and material ("Material") contained herein is owned by Intel Corporation or its suppliers or licensors, and title to such Material remains with Intel Corporation or its suppliers or licensors. The Material contains proprietary information of Intel or its suppliers and licensors. The Material is protected by worldwide copyright laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed or disclosed in any way without Intel's prior express written permission. No license under any patent, copyright or other intellectual property rights in the Material is granted to or conferred upon you, either expressly, by implication, inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and approved by Intel in writing.
*Third Party trademarks are the property of their respective owners.
Unless otherwise agreed by Intel in writing, you may not remove or alter this notice or any other notice embedded in Materials by Intel or Intel's suppliers or licensors in any way.
Content: Intel(R) Math Kernel Library (MKL) Discrete Fourier Transform Interface (DFTI)
!***************************************************************************** ! Copyright(C) 2002-2011 Intel Corporation. All Rights Reserved. ! ! The source code, information and material ("Material") contained herein is ! owned by Intel Corporation or its suppliers or licensors, and title to such ! Material remains with Intel Corporation or its suppliers or licensors. The ! Material contains proprietary information of Intel or its suppliers and ! licensors. The Material is protected by worldwide copyright laws and treaty ! provisions. No part of the Material may be used, copied, reproduced, ! modified, published, uploaded, posted, transmitted, distributed or disclosed ! in any way without Intel's prior express written permission. No license ! under any patent, copyright or other intellectual property rights in the ! Material is granted to or conferred upon you, either expressly, by ! implication, inducement, estoppel or otherwise. Any license under such ! intellectual property rights must be express and approved by Intel in ! writing. ! ! *Third Party trademarks are the property of their respective owners. ! ! Unless otherwise agreed by Intel in writing, you may not remove or alter ! this notice or any other notice embedded in Materials by Intel or Intel's ! suppliers or licensors in any way. ! !***************************************************************************** ! Content: ! Intel(R) Math Kernel Library (MKL) ! Discrete Fourier Transform Interface (DFTI) !***************************************************************************** MODULE MKL_DFT_TYPE TYPE, PUBLIC :: DFTI_DESCRIPTOR PRIVATE INTEGER :: dontuse ! Structure of this type is not used in Fortran code ! the pointer to this type is used only END TYPE DFTI_DESCRIPTOR !====================================================================== ! These real type kind parameters are not for direct use !====================================================================== INTEGER, PARAMETER :: DFTI_SPKP = SELECTED_REAL_KIND(6,37) INTEGER, PARAMETER :: DFTI_DPKP = SELECTED_REAL_KIND(15,307) !====================================================================== ! Descriptor configuration parameters [default values in brackets] !====================================================================== ! Domain for forward transform. No default value INTEGER, PARAMETER :: DFTI_FORWARD_DOMAIN = 0 ! Dimensionality, or rank. No default value INTEGER, PARAMETER :: DFTI_DIMENSION = 1 ! Length(s) of transform. No default value INTEGER, PARAMETER :: DFTI_LENGTHS = 2 ! Floating point precision. No default value INTEGER, PARAMETER :: DFTI_PRECISION = 3 ! Scale factor for forward transform [1.0] INTEGER, PARAMETER :: DFTI_FORWARD_SCALE = 4 ! Scale factor for backward transform [1.0] INTEGER, PARAMETER :: DFTI_BACKWARD_SCALE = 5 ! Exponent sign for forward transform [DFTI_NEGATIVE] ! INTEGER, PARAMETER :: DFTI_FORWARD_SIGN = 6 ! NOT IMPLEMENTED ! Number of data sets to be transformed [1] INTEGER, PARAMETER :: DFTI_NUMBER_OF_TRANSFORMS = 7 ! Storage of finite complex-valued sequences in complex domain ! [DFTI_COMPLEX_COMPLEX] INTEGER, PARAMETER :: DFTI_COMPLEX_STORAGE = 8 ! Storage of finite real-valued sequences in real domain ! [DFTI_REAL_REAL] INTEGER, PARAMETER :: DFTI_REAL_STORAGE = 9 ! Storage of finite complex-valued sequences in conjugate-even ! domain [DFTI_COMPLEX_REAL] INTEGER, PARAMETER :: DFTI_CONJUGATE_EVEN_STORAGE = 10 ! Placement of result [DFTI_INPLACE] INTEGER, PARAMETER :: DFTI_PLACEMENT = 11 ! Generalized strides for input data layout ! [tigth, col-major for Fortran] INTEGER, PARAMETER :: DFTI_INPUT_STRIDES = 12 ! Generalized strides for output data layout ! [tigth, col-major for Fortran] INTEGER, PARAMETER :: DFTI_OUTPUT_STRIDES = 13 ! Distance between first input elements for multiple transforms [0] INTEGER, PARAMETER :: DFTI_INPUT_DISTANCE = 14 ! Distance between first output elements for multiple transforms [0] INTEGER, PARAMETER :: DFTI_OUTPUT_DISTANCE = 15 ! Effort spent in initialization [DFTI_MEDIUM] ! INTEGER, PARAMETER :: DFTI_INITIALIZATION_EFFORT = 16 ! NOT IMPLEMENTED ! Use of workspace during computation [DFTI_ALLOW] INTEGER, PARAMETER :: DFTI_WORKSPACE = 17 ! Ordering of the result [DFTI_ORDERED] INTEGER, PARAMETER :: DFTI_ORDERING = 18 ! Possible transposition of result [DFTI_NONE] INTEGER, PARAMETER :: DFTI_TRANSPOSE = 19 ! User-settable descriptor name [""] INTEGER, PARAMETER :: DFTI_DESCRIPTOR_NAME = 20 ! Packing format for DFTI_COMPLEX_REAL storage of finite ! conjugate-even sequences [DFTI_CCS_FORMAT] INTEGER, PARAMETER :: DFTI_PACKED_FORMAT = 21 ! Commit status of the descriptor. Read-only parameter INTEGER, PARAMETER :: DFTI_COMMIT_STATUS = 22 ! Version string for this DFTI implementation. Read-only parameter INTEGER, PARAMETER :: DFTI_VERSION = 23 ! Ordering of the forward transform. Read-only parameter ! INTEGER, PARAMETER :: DFTI_FORWARD_ORDERING = 24 ! NOT IMPLEMENTED ! Ordering of the backward transform. Read-only parameter ! INTEGER, PARAMETER :: DFTI_BACKWARD_ORDERING = 25 ! NOT IMPLEMENTED ! Number of user threads that share the descriptor [1] INTEGER, PARAMETER :: DFTI_NUMBER_OF_USER_THREADS = 26 !====================================================================== ! Values of the descriptor configuration parameters !====================================================================== ! DFTI_COMMIT_STATUS INTEGER, PARAMETER :: DFTI_COMMITTED = 30 INTEGER, PARAMETER :: DFTI_UNCOMMITTED = 31 ! DFTI_FORWARD_DOMAIN INTEGER, PARAMETER :: DFTI_COMPLEX = 32 INTEGER, PARAMETER :: DFTI_REAL = 33 ! INTEGER, PARAMETER :: DFTI_CONJUGATE_EVEN = 34 ! NOT IMPLEMENTED ! DFTI_PRECISION INTEGER, PARAMETER :: DFTI_SINGLE = 35 INTEGER, PARAMETER :: DFTI_DOUBLE = 36 ! DFTI_PRECISION for reduced size of statically linked application. ! Recommended use: modify statement 'USE MKL_DFTI' in your program, ! so that it reads as either of: ! USE MKL_DFTI, FORGET=>DFTI_SINGLE, DFTI_SINGLE=>DFTI_SINGLE_R ! USE MKL_DFTI, FORGET=>DFTI_DOUBLE, DFTI_DOUBLE=>DFTI_DOUBLE_R ! where word 'FORGET' can be any name not used in the program. REAL(DFTI_SPKP), PARAMETER :: DFTI_SINGLE_R = 35 REAL(DFTI_DPKP), PARAMETER :: DFTI_DOUBLE_R = 36 ! DFTI_FORWARD_SIGN ! INTEGER, PARAMETER :: DFTI_NEGATIVE = 37 ! NOT IMPLEMENTED ! INTEGER, PARAMETER :: DFTI_POSITIVE = 38 ! NOT IMPLEMENTED ! DFTI_COMPLEX_STORAGE and DFTI_CONJUGATE_EVEN_STORAGE INTEGER, PARAMETER :: DFTI_COMPLEX_COMPLEX = 39 INTEGER, PARAMETER :: DFTI_COMPLEX_REAL = 40 ! DFTI_REAL_STORAGE INTEGER, PARAMETER :: DFTI_REAL_COMPLEX = 41 INTEGER, PARAMETER :: DFTI_REAL_REAL = 42 ! DFTI_PLACEMENT INTEGER, PARAMETER :: DFTI_INPLACE = 43 ! Result overwrites input INTEGER, PARAMETER :: DFTI_NOT_INPLACE = 44 ! Have another place for result ! DFTI_INITIALIZATION_EFFORT ! INTEGER, PARAMETER :: DFTI_LOW = 45 ! NOT IMPLEMENTED ! INTEGER, PARAMETER :: DFTI_MEDIUM = 46 ! NOT IMPLEMENTED ! INTEGER, PARAMETER :: DFTI_HIGH = 47 ! NOT IMPLEMENTED ! DFTI_ORDERING INTEGER, PARAMETER :: DFTI_ORDERED = 48 INTEGER, PARAMETER :: DFTI_BACKWARD_SCRAMBLED = 49 ! INTEGER, PARAMETER :: DFTI_FORWARD_SCRAMBLED = 50 ! NOT IMPLEMENTED ! Allow/avoid certain usages INTEGER, PARAMETER :: DFTI_ALLOW = 51 ! Allow transposition or workspace INTEGER, PARAMETER :: DFTI_AVOID = 52 ! Avoid auxiliary storage INTEGER, PARAMETER :: DFTI_NONE = 53 ! DFTI_PACKED_FORMAT ! (for storing congugate-even finite sequence in real array) INTEGER, PARAMETER :: DFTI_CCS_FORMAT = 54 ! Complex conjugate-symmetric INTEGER, PARAMETER :: DFTI_PACK_FORMAT = 55 ! Pack format for real DFT INTEGER, PARAMETER :: DFTI_PERM_FORMAT = 56 ! Perm format for real DFT INTEGER, PARAMETER :: DFTI_CCE_FORMAT = 57 ! Complex conjugate-even !====================================================================== ! Error classes !====================================================================== INTEGER, PARAMETER :: DFTI_NO_ERROR = 0 INTEGER, PARAMETER :: DFTI_MEMORY_ERROR = 1 INTEGER, PARAMETER :: DFTI_INVALID_CONFIGURATION = 2 INTEGER, PARAMETER :: DFTI_INCONSISTENT_CONFIGURATION = 3 INTEGER, PARAMETER :: DFTI_MULTITHREADED_ERROR = 4 INTEGER, PARAMETER :: DFTI_BAD_DESCRIPTOR = 5 INTEGER, PARAMETER :: DFTI_UNIMPLEMENTED = 6 INTEGER, PARAMETER :: DFTI_MKL_INTERNAL_ERROR = 7 INTEGER, PARAMETER :: DFTI_NUMBER_OF_THREADS_ERROR = 8 INTEGER, PARAMETER :: DFTI_1D_LENGTH_EXCEEDS_INT32 = 9 ! Maximum length of error string INTEGER, PARAMETER :: DFTI_MAX_MESSAGE_LENGTH = 80 ! Maximum length of user-settable descriptor name INTEGER, PARAMETER :: DFTI_MAX_NAME_LENGTH = 10 ! Maximum length of MKL version string INTEGER, PARAMETER :: DFTI_VERSION_LENGTH = 198 ! (deprecated parameter) INTEGER, PARAMETER :: DFTI_ERROR_CLASS = 60 END MODULE MKL_DFT_TYPE