summaryrefslogtreecommitdiffstats
path: root/demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2010-05-17 18:00:03 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2010-05-17 18:00:03 (GMT)
commit91a1f7a1c408052b1d284d6b901819964e338fe5 (patch)
treedf7103f0ea0cb9d98f4b641d72c0f8b0ebdf2498 /demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
parent94a3356d5eb7b255d439efe2699bf3a9b025e8eb (diff)
parent509ef11ab4ba6165c16d9d311c4a1bf7cdfd2528 (diff)
downloadQt-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.h63
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
+