| /*************************************************************************** |
| ** |
| ** Copyright (C) 2015 The Qt Company Ltd. |
| ** Contact: http://www.qt.io/licensing/ |
| ** |
| ** This file is part of the examples of the Qt Toolkit. |
| ** |
| ** This program is free software: you can redistribute it and/or modify |
| ** it under the terms of the GNU Lesser General Public License as |
| ** published by the Free Software Foundation, either version 2.1. This |
| ** program is distributed in the hope that it will be useful, but WITHOUT |
| ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| ** for more details. You should have received a copy of the GNU General |
| ** Public License along with this program. If not, see |
| ** <http://www.gnu.org/licenses/>. |
| ** |
| ***************************************************************************/ |
| |
| #ifndef FFTREAL_WRAPPER_H |
| #define FFTREAL_WRAPPER_H |
| |
| #include <QtCore/QtGlobal> |
| |
| #if defined(FFTREAL_LIBRARY) |
| # define FFTREAL_EXPORT Q_DECL_EXPORT |
| #else |
| # define FFTREAL_EXPORT Q_DECL_IMPORT |
| #endif |
| |
| class FFTRealWrapperPrivate; |
| |
| // Each pass of the FFT processes 2^X samples, where X is the |
| // number below. |
| static const int FFTLengthPowerOfTwo = 12; |
| |
| /** |
| * Wrapper around the FFTRealFixLen template provided by the FFTReal |
| * library |
| * |
| * This class instantiates a single instance of FFTRealFixLen, using |
| * FFTLengthPowerOfTwo as the template parameter. It then exposes |
| * FFTRealFixLen<FFTLengthPowerOfTwo>::do_fft via the calculateFFT |
| * function, thereby allowing an application to dynamically link |
| * against the FFTReal implementation. |
| * |
| * See http://ldesoras.free.fr/prod.html |
| */ |
| class FFTREAL_EXPORT FFTRealWrapper |
| { |
| public: |
| FFTRealWrapper(); |
| ~FFTRealWrapper(); |
| |
| typedef float DataType; |
| void calculateFFT(DataType in[], const DataType out[]); |
| |
| private: |
| FFTRealWrapperPrivate* m_private; |
| }; |
| |
| #endif // FFTREAL_WRAPPER_H |
| |