`void initCplxFft32f(DT32S n, DT32S *ip, DT32F *w);`

`void initRealFft32f(DT32S n, DT32S *ip, DT32F *w);`

`void initDdsct32f(DT32S n, DT32S *ip, DT32F *w);`

`void initDfsct32f(DT32S n, DT32S *ip, DT32F *w);`

`void cplxFft32f(DT32S n, DT32S isgn, DT32F *srcdst, DT32S *ip, DT32F *w);`

`void realFft32f(DT32S n, DT32S isgn, DT32F *srcdst, DT32S *ip, DT32F *w);`

`void ddct32f(DT32S n, DT32S isgn, DT32F *srcdst, DT32S *ip, DT32F *w);`

`void ddst32f(DT32S n, DT32S isgn, DT32F *srcdst, DT32S *ip, DT32F *w);`

`void dfct32f(DT32S n, DT32F *srcdst, DT32F *t, DT32S *ip, DT32F *w);`

`void dfst32f(DT32S n, DT32F *srcdst, DT32F *t, DT32S *ip, DT32F *w);`

**Input Parameters :**`n :`length of FFT, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its FFT`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its Fourier transformation.

**Error Conditions**-
None

**Remarks :****1 .**the tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initCplxFft32f(n, ip, w).**2 .**The FFT output is not scaled. To obtain the same vector after forward followed by inverse transformation, the inverse transformation result should be scaled by 1.0/n.**3 .**Data is stored in the follows order: R[0] I[0] R[1] I[1] ... R[n-1] I[n-1]

Calculates the Fast Fourier Transform in place of the complex data stored in the array srcdst of length n.

**Input Parameters :**`n :`length of FFT, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its FFT`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its Fourier transformation.

**Error Conditions**-
None

**Remarks :****1 .**The tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initRealFft32f(n, ip, w).**2 .**The FFT output is not scaled. To obtain the same vector after forward followed by inverse transformation, the inverse transformation result should be scaled by 2.0/n.**3 .**Since the FFT of a real vector is conjugate symmetric, only one half of the data need to be stored. The output data of the forward transformation and the input data to the inverse transformation is stored in a compact form as follows: R[0] R[n/2] R[1] I[1] ... R[n/2-1] I[n/2-1]

Calculates the Fast Fourier Transform in place of the real array srcdst of length n.

**Input Parameters :**`n :`length of DCT transform, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its DCT`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its discrete cosine transformation.

**Error Conditions**-
None

**Remarks :****1 .**The tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initDdsct(n, ip, w).**2 .**The DCT output is not scaled. To obtain the same vector after forward followed by inverse transformation, the first element (srcdst[0]) must be multiplied by 0.5 before inverse transforming, the inverse transformation result should be scaled by 2.0/n.

Calculates the Discrete Cosine Transform in place of the real array srcdst of length n.

**Input Parameters :**`n :`length of DST transform, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its DST`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its discrete sine transformation.

**Error Conditions**-
None

**Remarks :****1 .**The tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initDdsct(n, ip, w).**2 .**The DST output is not scaled. To obtain the same vector after forward followed by inverse transformation, the first element (srcdst[0]) must be multiplied by 0.5 before inverse transforming, the inverse transformation result should be scaled by 2.0/n.

Calculates the Discrete Sine Transform in place of the real array srcdst of length n.

**Input Parameters :**`n :`length of DST transform, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its DST`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its discrete sine transformation.

**Error Conditions**-
None

**Remarks :****1 .**The tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initDfsct32f(n, ip, w).**2 .**The DST output is not scaled. To obtain the same vector after forward followed by inverse transformation, the inverse transformation result should be scaled by 2.0/n.

Calculates the Discrete Cosine Transform in place of the real symmetric data in the array srcdst of length n.

**Input Parameters :**`n :`length of DST transform, must be power of 2`isgn :`Transform direction, must be FORWARD or INVERSE`srcdst :`data array to be replaced by its DST`ip :`pointer to an integer bit-reversal array`w :`pointer to twiddle factor table

**Returns :**- Void

**Output Parameters :**- srcdst is replaced by its discrete sine transformation.

**Error Conditions**-
None

**Remarks :****1 .**The tables ip and w can be generated using the mktable tool. mktable writes those tables as static arrays in a .h file to be included with the application. The tables can also be generated by calling initDfsct32f(n, ip, w).**2 .**The DST output is not scaled. To obtain the same vector after forward followed by inverse transformation, the inverse transformation result should be scaled by 2.0/n.

Calculates the Discrete Sine Transform in place of the real anti-symmetric data in the array srcdst of length n.

**Input Parameters :**`n :`length of FFT transform, must be power of 2

**Returns :**- Void

**Output Parameters :**`ip :`bit-reversal array is populated`w :`twiddle factor table is populated

**Error Conditions**-
None

**Remarks :**-
ip must be at least [sqrt(n/2)+2] long and w must be at least [n/2] long.

Populates the twiddle factor and bit reversal working area needed for the realFFT routine.

**Input Parameters :**`n :`length of FFT transform (number of complex elements), must be power of 2

**Returns :**- Void

**Output Parameters :**`ip :`bit-reversal array is populated`w :`twiddle factor table is populated

**Error Conditions**-
None

**Remarks :**-
ip must be at least [sqrt(n)+2] long and w must be at least [n/2] long.

Populates the twiddle factor and bit reversal working area needed for the cplxFFT routine.

**Input Parameters :**`n :`length of FFT transform, must be power of 2

**Returns :**- Void

**Output Parameters :**`ip :`bit-reversal array is populated`w :`twiddle factor table is populated

**Error Conditions**-
None

**Remarks :**-
ip must be at least [sqrt(n/2)+2] long and w must be at least
[n*5/4] long.

Populates the twiddle factor and bit reversal working area needed for the ddst and ddct routines.

**Input Parameters :**`n :`length of FFT transform, must be power of 2

**Returns :**- Void

**Output Parameters :**`ip :`bit-reversal array is populated`w :`twiddle factor table is populated

**Error Conditions**-
None

**Remarks :**-
ip must be at least [sqrt(n/4)+2] long and w must be at least
[n*5/8] long.

Populates the twiddle factor and bit reversal working area needed for the ddst and ddct routines.