/*****************************************************************************
!                              INTEL CONFIDENTIAL
! Copyright(C) 2003-2010 Intel Corporation. All Rights Reserved.
! The source code contained  or  described herein and all documents related to
! the source code ("Material") are owned by Intel Corporation or its suppliers
! or licensors.  Title to the  Material remains with  Intel Corporation or its
! suppliers and licensors. The Material contains trade secrets and proprietary
! and  confidential  information of  Intel or its suppliers and licensors. The
! Material  is  protected  by  worldwide  copyright  and trade secret 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, trade secret or other intellectual
! property right is granted to or conferred upon you by disclosure or delivery
! of the Materials,  either expressly, by implication, inducement, estoppel or
! otherwise.  Any  license  under  such  intellectual property  rights must be
! express and approved by Intel in writing.
!
!*****************************************************************************
! Content:
!       DFTI examples description file
!****************************************************************************/

!*****************************************************************************
!       DFTI examples  macro substitutions
!*****************************************************************************

Header file (mkl_dfti_examples.h for C and mkl_dfti_examples.fi for Fortran)
contains the follow macro substitutions which can be changed to modify
example's features:

/*
** Static array's size definition
*/
M_MAX - define first  dimension size for static array
N_MAX - define second dimension size for static array
K_MAX - define third  dimension size for static array

/*
** Print level definition
*/
If macro substitution ADVANCED_DATA_PRINT is egual to logical TRUE
then output file will contain input and uoutput data value.

If macro substitution ACCURACY_PRINT is egual to logical TRUE
then output file will contain calculate accuracy value.

If macro substitution LEGEND_PRINT is egual to logical TRUE
then output file will contain DFTI transform parameters for given example.

/*
** Accuracy definitions
*/
SINGLE_EPS - expected accuracy value for single precision data
DOUBLE_EPS - expected accuracy value for double precision data

!*******************************************************************************
!       DFTI examples name abbreviation
!*******************************************************************************

{complex/real}_ - complex or real DFT transform
{1/2/3}d_       - 1, 2 or 3 rank of transform
{single/double} - data precision
{ccs/pack/perm} - packed format for real transform

ex{i}, i=0,1...  - example number which specified other features
   odd  number of i - inplace transform for certain feature
   even number of i - not inplace transform for certain feature

!*******************************************************************************
!       Example's set for Complex-to-Complex transform inplace and not inplace
!*******************************************************************************

complex_1d_{single/double}_ex{1/2}  - Forward-Backward 1D transform,
                                      tight data are allocated dynamically to 1D array with any size.

complex_1d_{single/double}_ex{3/4}  - multiple row 1D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX] untightly.

complex_1d_{single/double}_ex{5/6}  - multiple column 1D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX]  untightly.

complex_1d_{single/double}_ex{7/8}  - Forward 1D transform accuracy test,
                                      tight data are allocated dynamically to 1D array with any size.

complex_1d_{single/double}_ex{9/10} - Backward 1D transform accuracy test,
                                      tight data are allocated dynamically to 1D array with any size.

complex_2d_{single/double}_ex{1/2}  - Forward-Backward 2D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX].

complex_2d_{single/double}_ex{3/4}  - multiple 2D transform along first dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].

complex_2d_{single/double}_ex{5/6}  - multiple 2D transform along second dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].

complex_2d_{single/double}_ex{7/8}  - multiple 2D transform along third dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].

complex_3d_{single/double}_ex{1/2}  - Forward-Backward 3D transform, data are allocated
                                      in static 3D array [M_MAX][N_MAX][K_MAX] tightly.

complex_3d_{single/double}_ex{3/4}  - Forward-Backward 3D transform, data are allocated
                                      in static 3D array [M_MAX][N_MAX][K_MAX] untightly.

real_1d_{ccs/perm/pack}_{single/double}_ex{1/2} - Real-to-Complex and Complex-to-Real 1D transform,
                                      tight data are allocated dynamically to 1D array with any size.

real_1d_{ccs/perm/pack}_{single/double}_ex{3/4} - Real-to-Complex and Complex-to-Real 1D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX] tightly.

real_1d_{ccs/perm/pack}_{single/double}_ex{5/6} - Real-to-Complex and Complex-to-Real 1D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX] untightly.

real_2d_{ccs/perm/pack}_{single/double}_ex{1/2} - Real-to-Complex and Complex-to-Real 2D transform,
                                      data are allocated in static 2D array [M_MAX][N_MAX].

real_2d_{ccs/perm/pack}_{single/double}_ex{3/4}  - multiple 2D Real-to-Complex and Complex-to-Real
				      transform along first dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].

real_2d_{ccs/perm/pack}_{single/double}_ex{5/6}  - multiple 2D Real-to-Complex and Complex-to-Real
				      transform along second dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].

real_2d_{ccs/perm/pack}_{single/double}_ex{7/8}  - multiple 2D Real-to-Complex and Complex-to-Real
				      transform along third dimension of 3D array,
                                      data are allocated in static 3D array [M_MAX][N_MAX][K_MAX].
