You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.2KB

  1. #include "FFTData.h"
  2. #include "kiss_fft.h"
  3. #include "kiss_fftr.h"
  4. #include <assert.h>
  5. int FFTDataCpx::_count = 0;
  6. FFTDataCpx::FFTDataCpx(int numBins) :
  7. buffer(numBins)
  8. {
  9. ++_count;
  10. }
  11. FFTDataCpx::~FFTDataCpx()
  12. {
  13. // We need to manually delete the cfg, since only "we" know
  14. // what type it is.
  15. if (kiss_cfg) {
  16. free(kiss_cfg);
  17. }
  18. --_count;
  19. }
  20. cpx FFTDataCpx::get(int index) const
  21. {
  22. assert(index < (int)buffer.size());
  23. return buffer[index];
  24. }
  25. void FFTDataCpx::set(int index, cpx value)
  26. {
  27. assert(index < (int)buffer.size());
  28. buffer[index] = value;
  29. }
  30. /******************************************************************/
  31. int FFTDataReal::_count = 0;
  32. FFTDataReal::FFTDataReal(int numBins) :
  33. buffer(numBins)
  34. {
  35. ++_count;
  36. }
  37. FFTDataReal::~FFTDataReal()
  38. {
  39. // We need to manually delete the cfg, since only "we" know
  40. // what type it is.
  41. if (kiss_cfg) {
  42. free(kiss_cfg);
  43. }
  44. --_count;
  45. }
  46. float FFTDataReal::get(int index) const
  47. {
  48. assert(index < (int)buffer.size());
  49. return buffer[index];
  50. }
  51. void FFTDataReal::set(int index, float value)
  52. {
  53. assert(index < (int)buffer.size());
  54. buffer[index] = value;
  55. }