#include <stdio.h>
#include <time.h>
#include "ap.h"
// disable some irrelevant warnings
#if (AE_COMPILER==AE_MSVC)
#pragma warning(disable:4100)
#pragma warning(disable:4127)
#pragma warning(disable:4702)
#pragma warning(disable:4996)
#endif
#include "alglibmisc.h"
#include "alglibinternal.h"
#include "linalg.h"
#include "statistics.h"
#include "dataanalysis.h"
#include "specialfunctions.h"
#include "solvers.h"
#include "optimization.h"
#include "diffequations.h"
#include "fasttransforms.h"
#include "integration.h"
#include "interpolation.h"
using namespace alglib_impl;
ae_bool testhqrnd(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing tag sort
*************************************************************************/
ae_bool testtsort(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing Nearest Neighbor Search
*************************************************************************/
ae_bool testnearestneighbor(ae_bool silent, ae_state *_state);
ae_bool testablas(ae_bool silent, ae_state *_state);
ae_bool testbasestat(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing BDSS operations
*************************************************************************/
ae_bool testbdss(ae_bool silent, ae_state *_state);
ae_bool testdforest(ae_bool silent, ae_state *_state);
ae_bool testblas(ae_bool silent, ae_state *_state);
ae_bool testkmeans(ae_bool silent, ae_state *_state);
ae_bool testhblas(ae_bool silent, ae_state *_state);
ae_bool testreflections(ae_bool silent, ae_state *_state);
ae_bool testcreflections(ae_bool silent, ae_state *_state);
ae_bool testsblas(ae_bool silent, ae_state *_state);
/*************************************************************************
Main unittest subroutine
*************************************************************************/
ae_bool testortfac(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing symmetric EVD subroutine
*************************************************************************/
ae_bool testevd(ae_bool silent, ae_state *_state);
ae_bool testmatgen(ae_bool silent, ae_state *_state);
ae_bool testtrfac(ae_bool silent, ae_state *_state);
/*************************************************************************
Main unittest subroutine
*************************************************************************/
ae_bool testtrlinsolve(ae_bool silent, ae_state *_state);
/*************************************************************************
Main unittest subroutine
*************************************************************************/
ae_bool testsafesolve(ae_bool silent, ae_state *_state);
ae_bool testrcond(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testmatinv(ae_bool silent, ae_state *_state);
ae_bool testlda(ae_bool silent, ae_state *_state);
ae_bool testgammafunc(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing bidiagonal SVD decomposition subroutine
*************************************************************************/
ae_bool testbdsvd(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing SVD decomposition subroutine
*************************************************************************/
ae_bool testsvd(ae_bool silent, ae_state *_state);
ae_bool testlinreg(ae_bool silent, ae_state *_state);
ae_bool testxblas(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testdensesolver(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing
*************************************************************************/
ae_bool testfbls(ae_bool silent, ae_state *_state);
ae_bool testlinmin(ae_bool silent, ae_state *_state);
ae_bool testminlbfgs(ae_bool silent, ae_state *_state);
ae_bool testmlptrain(ae_bool silent, ae_state *_state);
ae_bool testmlpe(ae_bool silent, ae_state *_state);
ae_bool testpca(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testodesolver(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testfft(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testconv(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testcorr(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testfht(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testgq(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testgkq(ae_bool silent, ae_state *_state);
/*************************************************************************
Test
*************************************************************************/
ae_bool testautogk(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing IDW interpolation
*************************************************************************/
ae_bool testidwint(ae_bool silent, ae_state *_state);
ae_bool testratint(ae_bool silent, ae_state *_state);
/*************************************************************************
Unit test
*************************************************************************/
ae_bool testpolint(ae_bool silent, ae_state *_state);
ae_bool testspline1d(ae_bool silent, ae_state *_state);
ae_bool testminlm(ae_bool silent, ae_state *_state);
ae_bool testlsfit(ae_bool silent, ae_state *_state);
ae_bool testpspline(ae_bool silent, ae_state *_state);
ae_bool testspline2d(ae_bool silent, ae_state *_state);
/*************************************************************************
Testing bidiagonal SVD decomposi