diff options
author | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-17 18:00:03 (GMT) |
---|---|---|
committer | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-17 18:00:03 (GMT) |
commit | 91a1f7a1c408052b1d284d6b901819964e338fe5 (patch) | |
tree | df7103f0ea0cb9d98f4b641d72c0f8b0ebdf2498 /demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h | |
parent | 94a3356d5eb7b255d439efe2699bf3a9b025e8eb (diff) | |
parent | 509ef11ab4ba6165c16d9d311c4a1bf7cdfd2528 (diff) | |
download | Qt-91a1f7a1c408052b1d284d6b901819964e338fe5.zip Qt-91a1f7a1c408052b1d284d6b901819964e338fe5.tar.gz Qt-91a1f7a1c408052b1d284d6b901819964e338fe5.tar.bz2 |
Merge remote branch 'origin/4.6' into qt-4.7-from-4.6
Conflicts:
demos/demos.pro
mkspecs/features/resources.prf
mkspecs/features/uic.prf
src/corelib/io/qurl.cpp
src/corelib/tools/qlocale_symbian.cpp
src/gui/graphicsview/qgraphicsscene.cpp
src/gui/graphicsview/qgraphicswidget_p.cpp
src/gui/graphicsview/qgraphicswidget_p.h
src/gui/util/qsystemtrayicon_win.cpp
src/multimedia/audio/qaudioinput.cpp
tests/auto/qhostinfo/qhostinfo.pro
Diffstat (limited to 'demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h')
-rw-r--r-- | demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h new file mode 100644 index 0000000..48d614e --- /dev/null +++ b/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h @@ -0,0 +1,63 @@ +/*************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** 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 + |