| //+------------------------------------------------------------------+
|
| //| 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);
|
| }
|
| //+------------------------------------------------------------------+
|