716 lines
30 KiB
MQL5
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);
| |||
}
| |||
//+------------------------------------------------------------------+
|