File indexing completed on 2024-10-06 12:12:47

0001 /***************************************************************************
0002     File                 : ConvolutionTest.h
0003     Project              : LabPlot
0004     Description          : Tests for data convolution
0005     --------------------------------------------------------------------
0006     Copyright            : (C) 2018 Stefan Gerlach (stefan.gerlach@uni.kn)
0007  ***************************************************************************/
0008 
0009 /***************************************************************************
0010  *                                                                         *
0011  *  This program is free software; you can redistribute it and/or modify   *
0012  *  it under the terms of the GNU General Public License as published by   *
0013  *  the Free Software Foundation; either version 2 of the License, or      *
0014  *  (at your option) any later version.                                    *
0015  *                                                                         *
0016  *  This program is distributed in the hope that it will be useful,        *
0017  *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
0018  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
0019  *  GNU General Public License for more details.                           *
0020  *                                                                         *
0021  *   You should have received a copy of the GNU General Public License     *
0022  *   along with this program; if not, write to the Free Software           *
0023  *   Foundation, Inc., 51 Franklin Street, Fifth Floor,                    *
0024  *   Boston, MA  02110-1301  USA                                           *
0025  *                                                                         *
0026  ***************************************************************************/
0027 #ifndef CONVOLUTIONTEST_H
0028 #define CONVOLUTIONTEST_H
0029 
0030 #include <../AnalysisTest.h>
0031 
0032 class ConvolutionTest : public AnalysisTest {
0033     Q_OBJECT
0034 
0035 private slots:
0036     // linear tests
0037     void testLinear();
0038     void testLinear2();
0039     void testLinear_noX();
0040     void testLinear_swapped();
0041     void testLinear_swapped_noX();
0042     void testLinear_norm();
0043     void testLinear_swapped_norm();
0044     void testLinear_wrapMax();
0045     void testLinear_swapped_wrapMax();
0046     void testLinear_wrapCenter();
0047     void testLinear_swapped_wrapCenter();
0048 
0049     // circular tests
0050     void testCircular();
0051     void testCircular2();
0052     void testCircular_noX();
0053     void testCircular_swapped();
0054     void testCircular_swapped_noX();
0055     void testCircular_norm();
0056     void testCircular_swapped_norm();
0057     void testCircular_wrapMax();
0058     void testCircular_swapped_wrapMax();
0059     void testCircular_wrapCenter();
0060     void testCircular_swapped_wrapCenter();
0061 
0062     // deconvolution tests
0063     void testLinearDeconv();
0064     void testLinearDeconv2();
0065     void testLinearDeconv_swapped();
0066     void testLinearDeconv2_swapped();
0067     void testLinearDeconv_norm();
0068     void testCircularDeconv();
0069     void testCircularDeconv2();
0070     void testCircularDeconv_norm();
0071 
0072     void testPerformance();
0073 };
0074 #endif