22 bool begin(
int len)
override {
25 if (p_fft_object==
nullptr) p_fft_object =
cpp_kiss_fft_alloc(len,
false,
nullptr,
nullptr);
26 assert(p_fft_object!=
nullptr);
27 return p_fft_object!=
nullptr;
32 if (p_fft_object_inv!=
nullptr)
kiss_fft_free(p_fft_object_inv);
34 p_fft_object =
nullptr;
38 k_data[idx].r = value;
42 cpp_kiss_fft (p_fft_object, k_data.data(), k_data.data());
46 if(p_fft_object_inv==
nullptr) {
49 cpp_kiss_fft (p_fft_object_inv, k_data.data(), k_data.data());
58 return (k_data[idx].
r * k_data[idx].
r + k_data[idx].
i * k_data[idx].
i);
61 bool isValid()
override{
return p_fft_object!=
nullptr; }
65 float getValue(
int idx)
override {
return k_data[idx].r; }
69 bool setBin(
int pos,
float real,
float img)
override {
70 if (pos>=len)
return false;
69 bool setBin(
int pos,
float real,
float img)
override {
…}
76 if (pos>=len)
return false;
77 bin.real = k_data[pos].r;
78 bin.img = k_data[pos].i;
100 return driverEx()->k_data.data();