Loading...
Searching...
No Matches
juce_FFT.h
/*
==============================================================================
This file is part of the JUCE library.
Copyright (c) 2022 - Raw Material Software Limited
JUCE is an open source library subject to commercial or open-source
licensing.
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
Agreement and JUCE Privacy Policy.
End User License Agreement: www.juce.com/juce-7-licence
Privacy Policy: www.juce.com/juce-privacy-policy
Or: You may also use this code under the terms of the GPL v3 (see
www.gnu.org/licenses).
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
DISCLAIMED.
==============================================================================
*/
namespace juce::dsp
{
class JUCE_API FFT
{
public:
//==============================================================================
FFT (int order);
FFT (FFT&&) noexcept;
FFT& operator= (FFT&&) noexcept;
~FFT();
//==============================================================================
void perform (const Complex<float>* input, Complex<float>* output, bool inverse) const noexcept;
void performRealOnlyForwardTransform (float* inputOutputData,
bool onlyCalculateNonNegativeFrequencies = false) const noexcept;
void performRealOnlyInverseTransform (float* inputOutputData) const noexcept;
void performFrequencyOnlyForwardTransform (float* inputOutputData,
bool onlyCalculateNonNegativeFrequencies = false) const noexcept;
int getSize() const noexcept { return size; }
//==============================================================================
#ifndef DOXYGEN
/* internal */
struct Instance;
template <typename> struct EngineImpl;
#endif
private:
//==============================================================================
struct Engine;
std::unique_ptr<Instance> engine;
int size;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FFT)
};
} // namespace juce::dsp
juce::dsp::FFT
Definition juce_FFT.h:43
juce::dsp::FFT::performFrequencyOnlyForwardTransform
void performFrequencyOnlyForwardTransform(float *inputOutputData, bool onlyCalculateNonNegativeFrequencies=false) const noexcept
Definition juce_FFT.cpp:982
juce::dsp::FFT::performRealOnlyInverseTransform
void performRealOnlyInverseTransform(float *inputOutputData) const noexcept
Definition juce_FFT.cpp:976
juce::dsp::FFT::FFT
FFT(int order)
Definition juce_FFT.cpp:952
juce::dsp::FFT::getSize
int getSize() const noexcept
Definition juce_FFT.h:109
juce::dsp::FFT::performRealOnlyForwardTransform
void performRealOnlyForwardTransform(float *inputOutputData, bool onlyCalculateNonNegativeFrequencies=false) const noexcept
Definition juce_FFT.cpp:970
juce::dsp::FFT::perform
void perform(const Complex< float > *input, Complex< float > *output, bool inverse) const noexcept
Definition juce_FFT.cpp:964
juce::dsp::FFT::FFT
FFT(FFT &&) noexcept