AlgLib_ver3.19/TestClasses.mq5
super.admin 9e263d779c convert
2025-05-30 14:39:48 +02:00

716 lines
30 KiB
MQL5

//+------------------------------------------------------------------+
//| TestClasses.mq5 |
//| Copyright 2003-2022 Sergey Bochkanov (ALGLIB project) |
//| Copyright 2012-2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
//| Implementation of ALGLIB library in MetaQuotes Language 5 |
//| |
//| The features of the library include: |
//| - Linear algebra (direct algorithms, EVD, SVD) |
//| - Solving systems of linear and non-linear equations |
//| - Interpolation |
//| - Optimization |
//| - FFT (Fast Fourier Transform) |
//| - Numerical integration |
//| - Linear and nonlinear least-squares fitting |
//| - Ordinary differential equations |
//| - Computation of special functions |
//| - Descriptive statistics and hypothesis testing |
//| - Data analysis - classification, regression |
//| - Implementing linear algebra algorithms, interpolation, etc. |
//| in high-precision arithmetic (using MPFR) |
//| |
//| This file is free software; you can redistribute it and/or |
//| modify it under the terms of the GNU General Public License as |
//| published by the Free Software Foundation (www.fsf.org); either |
//| version 2 of the License, or (at your option) any later version. |
//| |
//| 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. |
//+------------------------------------------------------------------+
#define PrintElapsed(function,check,elapsed) PrintFormat("%-40s: %10s in %14s",function,(check ? "PASSED " : "- FAILED -"),elapsed);
#include "TestClasses.mqh"
#ifndef _DEBUG
#property script_show_inputs
#endif
input bool InpSilent=true; // Do not show extended log
input uint InpSeed=UINT_MAX; // Random seed
//+------------------------------------------------------------------+
//| Testing script |
//+------------------------------------------------------------------+
void OnStart()
{
bool check;
ulong start_mcs;
ulong stop_mcs;
//--- initialization
bool silent=InpSilent;
uint seed=GetTickCount();
if(InpSeed!=UINT_MAX)
seed=InpSeed;
//--- seed
PrintFormat("RandomSeed = %u",seed);
//--- start time
datetime start_time=TimeLocal();
//--- check class CHighQualityRand // 1
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestHQRndUnit::TestHQRnd(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CHighQualityRand",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CTSort // 2
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestTSortUnit::TestTSort(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CTSort",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CNearestNeighbor // 3
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestNearestNeighborUnit::TestNearestNeighbor(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CNearestNeighbor",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CAblas // 4
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestAblasUnit::TestAblas(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CAblas",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CBaseStat // 5
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestBaseStatUnit::TestBaseStat(seed);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CBaseStat",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CBdSS // 6
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestBdSSUnit::TestBdSS(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CBdSS",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CDForest // 7
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestDForestUnit::TestDForest(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CDForest",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CBlas // 8
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestBlasUnit::TestBlas(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CBlas",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CKMeans // 9
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestKMeansUnit::TestKMeans(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CKMeans",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CHblas // 10
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestHblasUnit::TestHblas(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CHblas",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CReflections // 11
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestReflectionsUnit::TestReflections(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CReflections",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CComplexReflections // 12
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestCReflectionsUnit::TestCReflections(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CComplexReflections",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSblas // 13
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSblasUnit::TestSblas(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSblas",check,GetElapsed(stop_mcs-start_mcs));
//--- check class COrtFac // 14
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestOrtFacUnit::TestOrtFac(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("COrtFac",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CEigenVDetect // 15
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestEVDUnit::TestEVD(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CEigenVDetect",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMatGen // 16
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMatGenUnit::TestMatGen(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMatGen",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CTrFac // 17
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestTrFacUnit::TestTrFac(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CTrFac",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CTrLinSolve // 18
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestTrLinSolveUnit::TestTrLinSolve(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CTrLinSolve",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSafeSolve // 19
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSafeSolveUnit::TestSafeSolve(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSafeSolve",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CRCond // 20
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestRCondUnit::TestRCond(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CRCond",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMatInv // 21
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMatInvUnit::TestMatInv(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMatInv",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLDA // 22
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLDAUnit::TestLDA(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLDA",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CGammaFunc // 23
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestGammaFuncUnit::TestGammaFunc(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CGammaFunc",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CBdSingValueDecompose // 24
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestBdSVDUnit::TestBdSVD(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CBdSingValueDecompose",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSingValueDecompose // 25
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSVDUnit::TestSVD(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSingValueDecompose",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLinReg // 26
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLinRegUnit::TestLinReg(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLinReg",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CXblas // 27
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestXBlasUnit::TestXBlas(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CXblas",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CDenseSolver // 28
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestDenseSolverUnit::TestDenseSolver(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CDenseSolver",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinCG // 30
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinCGUnit::TestMinCG(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinCG",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinBLEIC // 31
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinBLEICUnit::TestMinBLEIC(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinBLEIC",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMarkovCPD // 32
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMCPDUnit::TestMCPD(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMarkovCPD",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CFbls // 33
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestFblsUnit::TestFbls(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CFbls",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinLBFGS // 34
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinLBFGSUnit::TestMinLBFGS(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinLBFGS",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMLPTrain // 35
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMLPTrainUnit::TestMLPTrain(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMLPTrain",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMLPE // 36
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMLPEUnit::TestMLPE(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMLPE",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CPCAnalysis // 37
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestPCAUnit::TestPCA(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CPCAnalysis",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CODESolver // 38
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestODESolverUnit::TestODESolver(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CODESolver",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CFastFourierTransform // 39
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestFFTUnit::TestFFT(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CFastFourierTransform",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CConv // 40
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestConvUnit::TestConv(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CConv",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CCorr // 41
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestCorrUnit::TestCorr(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CCorr",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CFastHartleyTransform // 42
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestFHTUnit::TestFHT(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CFastHartleyTransform",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CGaussQ // 43
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestGQUnit::TestGQ(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CGaussQ",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CGaussKronrodQ // 44
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestGKQUnit::TestGKQ(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CGaussKronrodQ",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CAutoGK // 45
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestAutoGKUnit::TestAutoGK(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CAutoGK",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CIDWInt // 46
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestIDWIntUnit::TestIDWInt(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CIDWInt",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CRatInt // 47
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestRatIntUnit::TestRatInt(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CRatInt",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CPolInt // 48
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestPolIntUnit::TestPolInt(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CPolInt",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSpline1D // 49
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSpline1DUnit::TestSpline1D(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSpline1D",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinLM // 50
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinLMUnit::TestMinLM(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinLM",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLSFit // 51
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLSFitUnit::TestLSFit(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLSFit",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CPSpline // 52
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestPSplineUnit::TestPSpline(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CPSpline",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSpline2D // 53
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSpline2DUnit::TestSpline2D(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSpline2D",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSpdGEVD // 54
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSpdGEVDUnit::TestSpdGEVD(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSpdGEVD",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CInverseUpdate // 55
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestInverseUpdateUnit::TestInverseUpdate(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CInverseUpdate",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSchur // 56
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSchurUnit::TestSchur(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSchur",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CNlEq // 57
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestNlEqUnit::TestNlEq(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CNlEq",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CChebyshev // 58
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestChebyshevUnit::TestChebyshev(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CChebyshev",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CHermite // 59
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestHermiteUnit::TestHermite(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CHermite",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLaguerre // 60
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLaguerreUnit::TestLaguerre(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLaguerre",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLegendre // 61
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLegendreUnit::TestLegendre(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLegendre",check,GetElapsed(stop_mcs-start_mcs));
//--- check class AlglibBasics // 62
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestAlglibBasicsUnit::TestAlglibBasics(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("AlglibBasics",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSparse // 63
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSparseUnit::TestSparse(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSparse",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CAblasF // 64
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestAblasFUnit::TestAblasF(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CAblasF",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CPolynomialSolver // 65
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestPolynomialSolverUnit::TestPolynomialSolver(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CPolynomialSolver",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CDirectSparseSolvers // 66
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestDirectSparseSolversUnit::TestDirectSparseSolvers(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CDirectSparseSolvers",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CIterativeSparse // 67
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestIterativeSparseUnit::TestIterativeSparse(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CIterativeSparse",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLinCG // 68
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLinCGUnit::TestLinCG(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLinCG",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CNormEstimator // 69
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestNormEstimatorUnit::TestNormEstimator(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CNormEstimator",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CLinLSQR // 70
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestLinLSQRUnit::TestLinLSQR(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CLinLSQR",check,GetElapsed(stop_mcs-start_mcs));
//--- check class COptServ // 71
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestOptservUnit::TestOptserv(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("COptServ",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CCQModels // 72
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestCQModelsUnit::TestCQModels(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CCQModels",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSNNLS // 73
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSNNLSUnit::TestSNNLS(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSNNLS",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSActiveSets // 74
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSActiveSetsUnit::TestSActiveSets(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSActiveSets",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinQP // 75
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinQPUnit::TestMinQP(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinQP",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinLP // 76
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinLPUnit::TestMinLP(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinLP",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinNLC // 77
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinNLCUnit::TestMinNLC(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinNLC",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinNS // 78
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinNSUnit::TestMinNS(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinNS",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMinBC // 79
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMinBCUnit::TestMinBC(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMinBC",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CNormalDistr // 80
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestNormalDistrUnit::TestNormalDistr(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CNormalDistr",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CWilcoxonSignedRank // 81
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestWSRUnit::TestWSR(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CWilcoxonSignedRank",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMannWhitneyU // 82
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMannWhitneyUUnit::TestMannWhitneyU(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMannWhitneyU",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSignTest // 83
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSTestUnit::TestSTest(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSignTest",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CStudentTests // 84
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestStudentTestsUnit::TestStudentTests(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CStudentTests",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CFitSphere // 85
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestFitSphereUnit::TestFitSphere(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CFitSphere",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSpline3D // 86
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSpline3DUnit::TestSpline3D(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSpline3D",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CRBF // 87
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestRBFUnit::TestRBF(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CRBF",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CMLPBase // 88
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestMLPBaseUnit::TestMLPBase(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CMLPBase",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CFilters // 89
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestFiltersUnit::TestFilters(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CFilters",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CSSA // 90
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestSSAUnit::TestSSA(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CSSA",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CKNN // 91
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestKNNUnit::TestKNN(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CKNN",check,GetElapsed(stop_mcs-start_mcs));
//--- check class CClustering // 92
_RandomSeed=seed;
start_mcs=GetMicrosecondCount();
check=CTestClusteringUnit::TestClustering(silent);
stop_mcs=GetMicrosecondCount();
PrintElapsed("CClustering",check,GetElapsed(stop_mcs-start_mcs));
//--- finish time
ulong elapsed_time=TimeLocal()-start_time;
int seconds=(int)elapsed_time%60;
int minutes=(int)elapsed_time/60;
PrintFormat("Test passed in %d min %02d sec",minutes,seconds);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string GetElapsed(ulong microseconds)
{
int sec=int(microseconds/1000000);
int mcs=int(microseconds%1000000);
string elapsed=StringFormat("%d.%06d sec",sec,mcs);
return(elapsed);
}
//+------------------------------------------------------------------+