FastLED 3.9.15
Loading...
Searching...
No Matches

◆ kiss_fft_alloc()

kiss_fft_cfg kiss_fft_alloc ( int nfft,
int inverse_fft,
void * mem,
size_t * lenmem )

Definition at line 333 of file kiss_fft.c.

334{
335 kiss_fft_cfg st=NULL;
336 size_t memneeded = sizeof(struct kiss_fft_state)
337 + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/
338
339 if ( lenmem==NULL ) {
340 st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded );
341 }else{
342 if (mem != NULL && *lenmem >= memneeded)
343 st = (kiss_fft_cfg)mem;
344 *lenmem = memneeded;
345 }
346 if (st) {
347 int i;
348 st->nfft=nfft;
349 st->inverse = inverse_fft;
350
351 for (i=0;i<nfft;++i) {
352 const double pi=3.141592653589793238462643383279502884197169399375105820974944;
353 double phase = -2*pi*i / nfft;
354 if (st->inverse)
355 phase *= -1;
356 kf_cexp(st->twiddles+i, phase );
357 }
358
360 }
361 return st;
362}
#define kf_cexp(x, phase)
int factors[2 *MAXFACTORS]
kiss_fft_cpx twiddles[1]
static void kf_factor(int n, int *facbuf)
Definition kiss_fft.c:303
#define KISS_FFT_MALLOC
Definition kiss_fft.h:53
struct kiss_fft_state * kiss_fft_cfg
Definition kiss_fft.h:77

References kiss_fft_state::factors, kiss_fft_state::inverse, kf_cexp, kf_factor(), KISS_FFT_MALLOC, kiss_fft_state::nfft, and kiss_fft_state::twiddles.

Referenced by kiss_fftr_alloc().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: