| /* | |
| * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | |
| * | |
| * Use of this source code is governed by a BSD-style license | |
| * that can be found in the ../../../LICENSE file in the root of the source | |
| * tree. An additional intellectual property rights grant can be found | |
| * in the file PATENTS. All contributing project authors may | |
| * be found in the AUTHORS file in the root of the source tree. | |
| */ | |
| /*--------------------------------*-C-*---------------------------------* | |
| * File: | |
| * fftn.h | |
| * ---------------------------------------------------------------------* | |
| * Re[]: real value array | |
| * Im[]: imaginary value array | |
| * nTotal: total number of complex values | |
| * nPass: number of elements involved in this pass of transform | |
| * nSpan: nspan/nPass = number of bytes to increment pointer | |
| * in Re[] and Im[] | |
| * isign: exponent: +1 = forward -1 = reverse | |
| * scaling: normalizing constant by which the final result is *divided* | |
| * scaling == -1, normalize by total dimension of the transform | |
| * scaling < -1, normalize by the square-root of the total dimension | |
| * | |
| * ---------------------------------------------------------------------- | |
| * See the comments in the code for correct usage! | |
| */ | |
| #ifndef MODULES_THIRD_PARTY_FFT_FFT_H_ | |
| #define MODULES_THIRD_PARTY_FFT_FFT_H_ | |
| #define FFT_MAXFFTSIZE 2048 | |
| #define FFT_NFACTOR 11 | |
| typedef struct { | |
| unsigned int SpaceAlloced; | |
| unsigned int MaxPermAlloced; | |
| double Tmp0[FFT_MAXFFTSIZE]; | |
| double Tmp1[FFT_MAXFFTSIZE]; | |
| double Tmp2[FFT_MAXFFTSIZE]; | |
| double Tmp3[FFT_MAXFFTSIZE]; | |
| int Perm[FFT_MAXFFTSIZE]; | |
| int factor[FFT_NFACTOR]; | |
| } FFTstr; | |
| /* double precision routine */ | |
| int WebRtcIsac_Fftns(unsigned int ndim, | |
| const int dims[], | |
| double Re[], | |
| double Im[], | |
| int isign, | |
| double scaling, | |
| FFTstr* fftstate); | |
| #endif /* MODULES_THIRD_PARTY_FFT_FFT_H_ */ |