File indexing completed on 2024-04-28 03:48:04
0001 /* 0002 File : FitTest.h 0003 Project : LabPlot 0004 Description : Tests for data fitting 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2017 Alexander Semke <alexander.semke@web.de> 0007 SPDX-FileCopyrightText: 2018-2021 Stefan Gerlach <stefan.gerlach@uni.kn> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 #ifndef FITTEST_H 0012 #define FITTEST_H 0013 0014 #include <../AnalysisTest.h> 0015 0016 class FitTest : public AnalysisTest { 0017 Q_OBJECT 0018 0019 private Q_SLOTS: 0020 // linear regression (see NIST/linear data) 0021 void testLinearNorris(); 0022 void testLinearPontius(); 0023 void testLinearNoInt1(); // using custom model 0024 void testLinearNoInt1_2(); // using polynomial model with fixed parameter 0025 void testLinearNoInt2(); // using custom model 0026 void testLinearNoInt2_2(); // using polynomial model with fixed parameter 0027 void testLinearFilip(); 0028 0029 void testLinearWampler1(); 0030 void testLinearWampler2(); 0031 void testLinearWampler3(); 0032 void testLinearWampler4(); 0033 void testLinearWampler5(); 0034 0035 void testLinearWP_OLS(); 0036 void testLinearR_lm2(); 0037 0038 // non-linear regression 0039 void testNonLinearMisra1a(); 0040 void testNonLinearMisra1a_2(); // second set of start values 0041 void testNonLinearMisra1a_3(); // third set of start values 0042 void testNonLinearMisra1b(); 0043 void testNonLinearMisra1b_2(); // second set of start values 0044 void testNonLinearMisra1b_3(); // third set of start values 0045 void testNonLinearMisra1c(); 0046 void testNonLinearMisra1c_2(); // second set of start values 0047 void testNonLinearMisra1c_3(); // third set of start values 0048 void testNonLinearMisra1d(); 0049 void testNonLinearMisra1d_2(); // second set of start values 0050 void testNonLinearMisra1d_3(); // third set of start values 0051 void testNonLinearMGH09(); 0052 void testNonLinearMGH09_2(); // second set of start values 0053 void testNonLinearMGH09_3(); // third set of start values 0054 void testNonLinearMGH10(); 0055 void testNonLinearMGH10_2(); // second set of start values 0056 void testNonLinearMGH10_3(); // third set of start values 0057 void testNonLinearRat43(); 0058 void testNonLinearRat43_2(); // second set of start values 0059 void testNonLinearRat43_3(); // third set of start values 0060 0061 void testNonLinearMichaelis_Menten(); 0062 0063 // fits with weights 0064 void testNonLinearGP_lcdemo(); 0065 void testLinearGP_PY_noerror(); 0066 void testLinearGP_PY_yerror_polynomial(); 0067 void testLinearGP_PY_yerror_custom(); 0068 void testLinearGP_PY_xyerror_polynomial(); 0069 void testLinearGP_PY_xyerror_custom(); 0070 void testLinearGP_PY_xyerror_custom_instrumental_weight(); 0071 void testLinearGP_PY_xyerror_custom_inverse_weight(); 0072 0073 void testNonLinear_yerror_zero_bug408535(); 0074 0075 // histogram fit 0076 void testHistogramFit(); 0077 void testHistogramGaussianML(); 0078 void testHistogramExponentialML(); 0079 void testHistogramLaplaceML(); 0080 void testHistogramCauchyML(); 0081 void testHistogramLognormalML(); 0082 void testHistogramPoissonML(); 0083 void testHistogramBinomialML(); 0084 }; 0085 #endif