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

364{
366 size_t memneeded = sizeof(struct kiss_fft_state)
367 + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/
368
369 if ( lenmem==NULL ) {
370 st = (kiss_fft_cfg) KISS_FFT_MALLOC( memneeded );
371 }else{
372 if (mem != NULL && *lenmem >= memneeded)
373 st = (kiss_fft_cfg)mem;
374 *lenmem = memneeded;
375 }
376 if (st) {
377 int i;
378 st->nfft=nfft;
379 st->inverse = inverse_fft;
380
381 for (i=0;i<nfft;++i) {
382 const double pi=3.141592653589793238462643383279502884197169399375105820974944;
383 double phase = -2*pi*i / nfft;
384 if (st->inverse)
385 phase *= -1;
386 kf_cexp(st->twiddles+i, phase );
387 }
388
390 }
391 return st;
392}
#define kf_cexp(x, phase)
int factors[2 *MAXFACTORS]
kiss_fft_cpx twiddles[1]
#define NULL
static void kf_factor(int n, int *facbuf) FL_NOEXCEPT
struct kiss_fft_state * kiss_fft_cfg
Definition kiss_fft.h:89
#define KISS_FFT_MALLOC(nbytes)
Definition kiss_fft.h:60

References kiss_fft_state::factors, FL_NOEXCEPT, kiss_fft_state::inverse, kf_cexp, kf_factor(), KISS_FFT_MALLOC, kiss_fft_state::nfft, NULL, 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: