21#if FASTLED_FFT_PRECISION == FASTLED_FFT_FIXED16
23#elif FASTLED_FFT_PRECISION == FASTLED_FFT_FLOAT
25#elif FASTLED_FFT_PRECISION == FASTLED_FFT_DOUBLE
30#if KISS_FFT_USE_ESP32_PSRAM
31#include "esp_heap_caps.h"
51#if KISS_FFT_USE_ESP32_PSRAM
52#define KISS_FFT_MALLOC(nbytes) heap_caps_malloc(nbytes, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT)
53#define KISS_FFT_FREE free
54#elif defined(USE_SIMD)
55# include <xmmintrin.h>
56# define kiss_fft_scalar __m128
57#define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes,16)
58#define KISS_FFT_FREE _mm_free
60#define KISS_FFT_MALLOC(nbytes) fl::malloc(nbytes)
61#define KISS_FFT_FREE(ptr) fl::free(ptr)
66# if (FIXED_POINT == 32)
67# define kiss_fft_scalar int32_t
69# define kiss_fft_scalar int16_t
72# ifndef kiss_fft_scalar
74# if FASTLED_FFT_PRECISION == FASTLED_FFT_FLOAT
75# define kiss_fft_scalar float
76# elif FASTLED_FFT_PRECISION == FASTLED_FFT_DOUBLE
77# define kiss_fft_scalar double
79# define kiss_fft_scalar float
135#define kiss_fft_free KISS_FFT_FREE
150#define kiss_fftr_next_fast_size_real(n) \
151 (kiss_fft_next_fast_size( ((n)+1)>>1)<<1)
void kiss_fft_stride(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout, int fin_stride)
int kiss_fft_next_fast_size(int n)
void kiss_fft_cleanup(void)
void kiss_fft(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
kiss_fft_cfg kiss_fft_alloc(int nfft, int inverse_fft, void *mem, size_t *lenmem)
struct kiss_fft_state * kiss_fft_cfg