[ep-processor-libraries/dsplib.git] / ti / dsplib / src / DSPF_sp_ifftSPxSP / c674 / DSPF_sp_ifftSPxSP.h
1 /* ======================================================================= */
2 /* TEXAS INSTRUMENTS, INC. */
3 /* */
4 /* NAME */
5 /* DSPF_sp_ifftSPXSP.h -- Optimized Implementation */
6 /* */
7 /* USAGE */
8 /* single precision floating point Forward FFT with mixed radix */
9 /* */
10 /* */
11 /* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ */
12 /* */
13 /* */
14 /* Redistribution and use in source and binary forms, with or without */
15 /* modification, are permitted provided that the following conditions */
16 /* are met: */
17 /* */
18 /* Redistributions of source code must retain the above copyright */
19 /* notice, this list of conditions and the following disclaimer. */
20 /* */
21 /* Redistributions in binary form must reproduce the above copyright */
22 /* notice, this list of conditions and the following disclaimer in the */
23 /* documentation and/or other materials provided with the */
24 /* distribution. */
25 /* */
26 /* Neither the name of Texas Instruments Incorporated nor the names of */
27 /* its contributors may be used to endorse or promote products derived */
28 /* from this software without specific prior written permission. */
29 /* */
30 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
31 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
32 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
33 /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
34 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
35 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
36 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
37 /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
38 /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
39 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
40 /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
41 /* */
42 /* ======================================================================= */
44 #ifndef DSPF_SP_ifftSPxSP_H_
45 #define DSPF_SP_ifftSPxSP_H_
47 /** @ingroup FFT */
48 /* @{ */
50 /** @defgroup DSPF_sp_ifftSPXSP */
51 /** @ingroup DSPF_sp_ifftSPXSP */
52 /* @{ */
54 /**
55 * The benchmark performs a mixed radix inverse fft.
56 *
57 * @param N length of FFT in complex samples
58 * @param ptr_x pointer to complex data input
59 * @param ptr_w pointer to complex twiddle factor
60 * @param ptr_y pointer to complex output data
61 * @param brev pointer to bit reverse table containing 64 entries
62 * @param n_min should be 4 if N can be represented as Power of 4 else, n_min should be 2
63 * @param offset index in complex samples of sub-fft from start of main fft
64 * @param n_max size of main fft in complex samples
65 *
66 * @par Algorithm:
67 * DSPF_sp_ifftSPxSP_cn.c is the natural C equivalent of the optimized linear assembly code without
68 * restrictions. Note that the linear assembly code is optimized and restrictions may
69 * apply.
70 *
71 * @par Assumptions:
72 * N needs to be power of 2 <BR>
73 * 8 <= N <= 131072 <BR>
74 * Arrays pointed by ptr_x, ptr_w, and ptr_y should not overlap <BR>
75 * Arrays pointed by ptr_x, ptr_w, and ptr_y should align on the double words boundary <BR>
76 *
77 * @par Implementation Notes:
78 * @b Interruptibility: The code is interrupt-tolerant but not interruptible. <BR>
79 * @b Endian Support: The code supports both big and little endian modes. <BR>
80 *
81 */
83 void DSPF_sp_ifftSPxSP (int N, float *ptr_x, float *ptr_w, float *ptr_y,
84 unsigned char *brev, int n_min, int offset, int n_max);
86 /* @} */ /* ingroup */
87 /* @} */ /* ingroup */
89 #endif /* DSPF_SP_ifftSPxSP_H_ */