Qt Reference Documentation

fftreal_wrapper.h Example File

demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
 /***************************************************************************
 **
 ** 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