diff options
Diffstat (limited to 'fft.cpp')
-rw-r--r-- | fft.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
@@ -42,7 +42,6 @@ RIT::FFT::FFT(int size, bool halfOnly): mSize(size), order(size), expLUT(size/2) } } - std::vector<std::complex<double>> RIT::FFT::operator()(const std::vector<std::complex<double>> &v) const { if (v.size() != mSize) throw std::length_error("Bad input size"); @@ -159,28 +158,3 @@ std::vector<std::complex<double>> RIT::IFFT::operator()(const std::vector<std::c return result; } -struct RIT::AutoCorrelation::Impl { -public: - Impl(int size): mFft(std::make_shared<RIT::FFT>(size)), mIfft(mFft) {} - std::shared_ptr<RIT::FFT> mFft; - RIT::IFFT mIfft; -}; - -RIT::AutoCorrelation::AutoCorrelation(int size): mImpl(std::make_unique<RIT::AutoCorrelation::Impl>(size)) -{ -} - -RIT::AutoCorrelation::~AutoCorrelation() -{ -} - -std::vector<std::complex<double>> RIT::AutoCorrelation::operator()(const std::vector<std::complex<double>> &v) const -{ - auto result = (*mImpl->mFft)(v); - - std::transform(std::begin(result), std::end(result), std::begin(result), - [=](const auto& x){return x * std::conj(x);}); - - return mImpl->mIfft(result); -} - |