FFTImpl & get_or_create(const FFT_Args &args)
scoped_ptr< HashMap > mMap
void setFFTCacheSize(fl::size size)
void run(const span< const i16 > &sample, FFTBins *out, const FFT_Args &args=FFT_Args())
FFT & operator=(FFT &&)=default
Result run(const AudioSample &sample, FFTBins *out)
HashMapLru(fl::size max_size)
#define FL_DISABLE_WARNING(warning)
#define FL_DISABLE_WARNING_PUSH
#define FL_DISABLE_WARNING_POP
shared_ptr< T > make_shared(Args &&... args)
static u32 MurmurHash3_x86_32(const void *key, fl::size len, u32 seed=0)
bool equal(Iterator1 first1, Iterator1 last1, Iterator2 first2)
HashMap(fl::size max_size)
bool operator==(const FFT_Args &other) const
FFT_Args(int samples=DefaultSamples(), int bands=DefaultBands(), float fmin=DefaultMinFrequency(), float fmax=DefaultMaxFrequency(), int sample_rate=DefaultSampleRate())
fl::u32 operator()(const FFT_Args &key) const noexcept