From 308a53c389cdc2631860f434989cd57efbf91145 Mon Sep 17 00:00:00 2001 From: Roland Stigge Date: Sun, 17 Feb 2019 14:53:33 +0100 Subject: Implemented Tuner --- fft.cpp | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) (limited to 'fft.cpp') diff --git a/fft.cpp b/fft.cpp index a8009ad..12aeece 100644 --- a/fft.cpp +++ b/fft.cpp @@ -2,6 +2,8 @@ #include "fft.h" +#include "util.h" + #include #include #include @@ -15,15 +17,6 @@ namespace { // Helper functions - bool is_power_of_two(unsigned int n) { - return n != 0 && (n & (n - 1)) == 0; - } -} - -std::vector RIT::magnitudes(std::vector>& v) { - std::vector result(v.size()); - std::transform(std::begin(v), std::end(v), std::begin(result), std::abs); - return result; } RIT::FFT::FFT(int size, bool halfOnly): mSize(size), order(size), expLUT(size/2), mFlagHalfOnly(halfOnly) { @@ -33,7 +26,7 @@ RIT::FFT::FFT(int size, bool halfOnly): mSize(size), order(size), expLUT(size/2) // reorder LUT for (int i = 0; i < size; ++i) { - order[i] = bitreverse(i); + order[i] = RIT::bitreverse(i, size); } // exp LUT @@ -63,20 +56,6 @@ RIT::FFT& RIT::FFT::SetHalfOnly(bool enable) { return *this; } -int RIT::FFT::bitreverse(int i) const { - int size{mSize}; - int result{0}; - - while (size > 1) { - result <<= 1; - result |= i & 1; - i >>= 1; - size >>= 1; - } - - return result; -} - void RIT::FFT::reorder(const std::vector>& src, std::vector>& dst) const { int size = src.size(); -- cgit v1.2.3