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 354 of file kiss_fft.cpp.

355{
356 kiss_fft_cfg st=NULL;
357 size_t memneeded = sizeof(struct kiss_fft_state)
358 + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/
359
360 if ( lenmem==NULL ) {
361 st = (kiss_fft_cfg) KISS_FFT_MALLOC( memneeded );
362 }else{
363 if (mem != NULL && *lenmem >= memneeded)
364 st = (kiss_fft_cfg)mem;
365 *lenmem = memneeded;
366 }
367 if (st) {
368 int i;
369 st->nfft=nfft;
370 st->inverse = inverse_fft;
371
372 for (i=0;i<nfft;++i) {
373 const double pi=3.141592653589793238462643383279502884197169399375105820974944;
374 double phase = -2*pi*i / nfft;
375 if (st->inverse)
376 phase *= -1;
377 kf_cexp(st->twiddles+i, phase );
378 }
379
381 }
382 return st;
383}
#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.cpp:307
#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: