/************************************************************************* ALGLIB 3.16.0 (source code generated 2019-12-19) Copyright (c) Sergey Bochkanov (ALGLIB project). >>> SOURCE LICENSE >>> This program 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. A copy of the GNU General Public License is available at http://www.fsf.org/licensing/licenses >>> END OF LICENSE >>> *************************************************************************/ #ifndef _alglibinternal_pkg_h #define _alglibinternal_pkg_h #include "ap.h" ///////////////////////////////////////////////////////////////////////// // // THIS SECTION CONTAINS COMPUTATIONAL CORE DECLARATIONS (DATATYPES) // ///////////////////////////////////////////////////////////////////////// namespace alglib_impl { #if defined(AE_COMPILE_SCODES) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_APSERV) || !defined(AE_PARTIAL_BUILD) typedef struct { ae_vector ba0; ae_vector ia0; ae_vector ia1; ae_vector ia2; ae_vector ia3; ae_vector ra0; ae_vector ra1; ae_vector ra2; ae_vector ra3; ae_matrix rm0; ae_matrix rm1; } apbuffers; typedef struct { ae_bool val; } sboolean; typedef struct { ae_vector val; } sbooleanarray; typedef struct { ae_int_t val; } sinteger; typedef struct { ae_vector val; } sintegerarray; typedef struct { double val; } sreal; typedef struct { ae_vector val; } srealarray; typedef struct { ae_complex val; } scomplex; typedef struct { ae_vector val; } scomplexarray; #endif #if defined(AE_COMPILE_TSORT) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_ABLASMKL) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_ABLASF) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_CREFLECTIONS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_ROTATIONS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_TRLINSOLVE) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_SAFESOLVE) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_HBLAS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_SBLAS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_BLAS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_LINMIN) || !defined(AE_PARTIAL_BUILD) typedef struct { ae_bool brackt; ae_bool stage1; ae_int_t infoc; double dg; double dgm; double dginit; double dgtest; double dgx; double dgxm; double dgy; double dgym; double finit; double ftest1; double fm; double fx; double fxm; double fy; double fym; double stx; double sty; double stmin; double stmax; double width; double width1; double xtrapf; } linminstate; typedef struct { ae_bool needf; ae_vector x; double f; ae_int_t n; ae_vector xbase; ae_vector s; double stplen; double fcur; double stpmax; ae_int_t fmax; ae_int_t nfev; ae_int_t info; rcommstate rstate; } armijostate; #endif #if defined(AE_COMPILE_XBLAS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_BASICSTATOPS) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_HPCCORES) || !defined(AE_PARTIAL_BUILD) typedef struct { ae_int_t chunksize; ae_int_t ntotal; ae_int_t nin; ae_int_t nout; ae_int_t wcount; ae_vector batch4buf; ae_vector hpcbuf; ae_matrix xy; ae_matrix xy2; ae_vector xyrow; ae_vector x; ae_vector y; ae_vector desiredy; double e; ae_vector g; ae_vector tmp0; } mlpbuffers; #endif #if defined(AE_COMPILE_NTHEORY) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_FTBASE) || !defined(AE_PARTIAL_BUILD) typedef struct { ae_matrix entries; ae_vector buffer; ae_vector precr; ae_vector preci; ae_shared_pool bluesteinpool; } fasttransformplan; #endif #if defined(AE_COMPILE_NEARUNITYUNIT) || !defined(AE_PARTIAL_BUILD) #endif #if defined(AE_COMPILE_ALGLIBBASICS) || !defined(AE_PARTIAL_BUILD) #endif } ///////////////////////////////////////////////////////////////////////// // // THIS SECTION CONTAINS C++ INTERFACE // ///////////////////////////////////////////////////////////////////////// namespace alglib { } ///////////////////////////////////////////////////////////////////////// // // THIS SECTION CONTAINS COMPUTATIONAL CORE DECLARATIONS (FUNCTIONS) // ///////////////////////////////////////////////////////////////////////// namespace alglib_impl { #if defined(AE_COMPILE_SCODES) || !defined(AE_PARTIAL_BUILD) ae_int_t getrdfserializationcode(ae_state *_state); ae_int_t getkdtreeserializationcode(ae_state *_state); ae_int_t getmlpserializationcode(ae_state *_state); ae_int_t getmlpeserializationcode(ae_state *_state); ae_int_t getrbfserializationcode(ae_state *_state); ae_int_t getspline2dserializationcode(ae_state *_state); ae_int_t getidwserializationcode(ae_state *_state); ae_int_t getknnserializationcode(ae_state *_state); #endif #if defined(AE_COMPILE_APSERV) || !defined(AE_PARTIAL_BUILD) void seterrorflagdiff(ae_bool* flag, double val, double refval, double tol, double s, ae_state *_state); ae_bool alwaysfalse(ae_state *_state); void touchint(ae_int_t* a, ae_state *_state); void touchreal(double* a, ae_state *_state); double coalesce(double a, double b, ae_state *_state); ae_int_t coalescei(ae_int_t a, ae_int_t b, ae_state *_state); double inttoreal(ae_int_t a, ae_state *_state); double logbase2(double x, ae_state *_state); ae_bool approxequal(double a, double b, double tol, ae_state *_state); ae_bool approxequalrel(double a, double b, double tol, ae_state *_state); void taskgenint1d(double a, double b, ae_int_t n, /* Real */ ae_vector* x, /* Real */ ae_vector* y, ae_state *_state); void taskgenint1dequidist(double a, double b, ae_int_t n, /* Real */ ae_vector* x, /* Real */ ae_vector* y, ae_state *_state); void taskgenint1dcheb1(double a, double b, ae_int_t n, /* Real */ ae_vector* x, /* Real */ ae_vector* y, ae_state *_state); void taskgenint1dcheb2(double a, double b, ae_int_t n, /* Real */ ae_vector* x, /* Real */ ae_vector* y, ae_state *_state); ae_bool aredistinct(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); ae_bool aresameboolean(ae_bool v1, ae_bool v2, ae_state *_state); void setlengthzero(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); void bvectorsetlengthatleast(/* Boolean */ ae_vector* x, ae_int_t n, ae_state *_state); void ivectorsetlengthatleast(/* Integer */ ae_vector* x, ae_int_t n, ae_state *_state); void rvectorsetlengthatleast(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); void rmatrixsetlengthatleast(/* Real */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); void bmatrixsetlengthatleast(/* Boolean */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); void bvectorgrowto(/* Boolean */ ae_vector* x, ae_int_t n, ae_state *_state); void ivectorgrowto(/* Integer */ ae_vector* x, ae_int_t n, ae_state *_state); void rmatrixgrowrowsto(/* Real */ ae_matrix* a, ae_int_t n, ae_int_t mincols, ae_state *_state); void rmatrixgrowcolsto(/* Real */ ae_matrix* a, ae_int_t n, ae_int_t minrows, ae_state *_state); void rvectorgrowto(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); void ivectorresize(/* Integer */ ae_vector* x, ae_int_t n, ae_state *_state); void rvectorresize(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); void rmatrixresize(/* Real */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); void imatrixresize(/* Integer */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); void ivectorappend(/* Integer */ ae_vector* x, ae_int_t v, ae_state *_state); ae_bool isfinitevector(/* Real */ ae_vector* x, ae_int_t n, ae_state *_state); ae_bool isfinitecvector(/* Complex */ ae_vector* z, ae_int_t n, ae_state *_state); ae_bool apservisfinitematrix(/* Real */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); ae_bool apservisfinitecmatrix(/* Complex */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); ae_bool isfinitertrmatrix(/* Real */ ae_matrix* x, ae_int_t n, ae_bool isupper, ae_state *_state); ae_bool apservisfinitectrmatrix(/* Complex */ ae_matrix* x, ae_int_t n, ae_bool isupper, ae_state *_state); ae_bool apservisfiniteornanmatrix(/* Real */ ae_matrix* x, ae_int_t m, ae_int_t n, ae_state *_state); double safepythag2(double x, double y, ae_state *_state); double safepythag3(double x, double y, double z, ae_state *_state); ae_int_t saferdiv(double x, double y, double* r, ae_state *_state); double safeminposrv(double x, double y, double v, ae_state *_state); void apperiodicmap(double* x, double a, double b, double* k, ae_state *_state); double randomnormal(ae_state *_state); void randomunit(ae_int_t n, /* Real */ ae_vector* x, ae_state *_state); void swapi(ae_int_t* v0, ae_int_t* v1, ae_state *_state); void swapr(double* v0, double* v1, ae_state *_state); void swaprows(/* Real */ ae_matrix* a, ae_int_t i0, ae_int_t i1, ae_int_t ncols, ae_state *_state); void swapcols(/* Real */ ae_matrix* a, ae_int_t j0, ae_int_t j1, ae_int_t nrows, ae_state *_state); void swapentries(/* Real */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_int_t entrywidth, ae_state *_state); void swapelements(/* Real */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_state *_state); void swapelementsi(/* Integer */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_state *_state); double maxreal3(double v0, double v1, double v2, ae_state *_state); void inc(ae_int_t* v, ae_state *_state); void dec(ae_int_t* v, ae_state *_state); void threadunsafeinc(ae_int_t* v, ae_state *_state); void threadunsafeincby(ae_int_t* v, ae_int_t k, ae_state *_state); void countdown(ae_int_t* v, ae_state *_state); double possign(double x, ae_state *_state); double rmul2(double v0, double v1, ae_state *_state); double rmul3(double v0, double v1, double v2, ae_state *_state); ae_int_t idivup(ae_int_t a, ae_int_t b, ae_state *_state); ae_int_t imin2(ae_int_t i0, ae_int_t i1, ae_state *_state); ae_int_t imin3(ae_int_t i0, ae_int_t i1, ae_int_t i2, ae_state *_state); ae_int_t imax2(ae_int_t i0, ae_int_t i1, ae_state *_state); ae_int_t imax3(ae_int_t i0, ae_int_t i1, ae_int_t i2, ae_state *_state); double rmax3(double r0, double r1, double r2, ae_state *_state); double rmaxabs3(double r0, double r1, double r2, ae_state *_state); double boundval(double x, double b1, double b2, ae_state *_state); ae_int_t iboundval(ae_int_t x, ae_int_t b1, ae_int_t b2, ae_state *_state); double rboundval(double x, double b1, double b2, ae_state *_state); ae_int_t countnz1(/* Real */ ae_vector* v, ae_int_t n, ae_state *_state); ae_int_t countnz2(/* Real */ ae_matrix* v, ae_int_t m, ae_int_t n, ae_state *_state); void alloccomplex(ae_serializer* s, ae_complex v, ae_state *_state); void serializecomplex(ae_serializer* s, ae_complex v, ae_state *_state); ae_complex unserializecomplex(ae_serializer* s, ae_state *_state); void allocrealarray(ae_serializer* s, /* Real */ ae_vector* v, ae_int_t n, ae_state *_state); void serializerealarray(ae_serializer* s, /* Real */ ae_vector* v, ae_int_t n, ae_state *_state); void unserializerealarray(ae_serializer* s, /* Real */ ae_vector* v, ae_state *_state); void allocintegerarray(ae_serializer* s, /* Integer */ ae_vector* v, ae_int_t n, ae_state *_state); void serializeintegerarray(ae_serializer* s, /* Integer */ ae_vector* v, ae_int_t n, ae_state *_state); void unserializeintegerarray(ae_serializer* s, /* Integer */ ae_vector* v, ae_state *_state); void allocrealmatrix(ae_serializer* s, /* Real */ ae_matrix* v, ae_int_t n0, ae_int_t n1, ae_state *_state); void serializerealmatrix(ae_serializer* s, /* Real */ ae_matrix* v, ae_int_t n0, ae_int_t n1, ae_state *_state); void unserializerealmatrix(ae_serializer* s, /* Real */ ae_matrix* v, ae_state *_state); void copybooleanarray(/* Boolean */ ae_vector* src, /* Boolean */ ae_vector* dst, ae_state *_state); void copyintegerarray(/* Integer */ ae_vector* src, /* Integer */ ae_vector* dst, ae_state *_state); void copyrealarray(/* Real */ ae_vector* src, /* Real */ ae_vector* dst, ae_state *_state); void copyrealmatrix(/* Real */ ae_matrix* src, /* Real */ ae_matrix* dst, ae_state *_state); void unsetintegerarray(/* Integer */ ae_vector* a, ae_state *_state); void unsetrealarray(/* Real */ ae_vector* a, ae_state *_state); void unsetrealmatrix(/* Real */ ae_matrix* a, ae_state *_state); void tiledsplit(ae_int_t tasksize, ae_int_t tilesize, ae_int_t* task0, ae_int_t* task1, ae_state *_state); ae_int_t recsearch(/* Integer */ ae_vector* a, ae_int_t nrec, ae_int_t nheader, ae_int_t i0, ae_int_t i1, /* Integer */ ae_vector* b, ae_state *_state); void splitlengtheven(ae_int_t tasksize, ae_int_t* task0, ae_int_t* task1, ae_state *_state); ae_int_t chunkscount(ae_int_t tasksize, ae_int_t chunksize, ae_state *_state); double sparselevel2density(ae_state *_state); ae_int_t matrixtilesizea(ae_state *_state); ae_int_t matrixtilesizeb(ae_state *_state); double smpactivationlevel(ae_state *_state); double spawnlevel(ae_state *_state); void splitlength(ae_int_t tasksize, ae_int_t chunksize, ae_int_t* task0, ae_int_t* task1, ae_state *_state); void tracevectorautoprec(/* Real */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_state *_state); void tracevectorunscaledunshiftedautoprec(/* Real */ ae_vector* x, ae_int_t n, /* Real */ ae_vector* scl, ae_bool applyscl, /* Real */ ae_vector* sft, ae_bool applysft, ae_state *_state); void tracerownrm1autoprec(/* Real */ ae_matrix* a, ae_int_t i0, ae_int_t i1, ae_int_t j0, ae_int_t j1, ae_state *_state); void tracevectore6(/* Real */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_state *_state); void tracevectore615(/* Real */ ae_vector* a, ae_int_t i0, ae_int_t i1, ae_bool usee15, ae_state *_state); void tracerownrm1e6(/* Real */ ae_matrix* a, ae_int_t i0, ae_int_t i1, ae_int_t j0, ae_int_t j1, ae_state *_state); void _apbuffers_init(void* _p, ae_state *_state, ae_bool make_automatic); void _apbuffers_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _apbuffers_clear(void* _p); void _apbuffers_destroy(void* _p); void _sboolean_init(void* _p, ae_state *_state, ae_bool make_automatic); void _sboolean_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _sboolean_clear(void* _p); void _sboolean_destroy(void* _p); void _sbooleanarray_init(void* _p, ae_state *_state, ae_bool make_automatic); void _sbooleanarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _sbooleanarray_clear(void* _p); void _sbooleanarray_destroy(void* _p); void _sinteger_init(void* _p, ae_state *_state, ae_bool make_automatic); void _sinteger_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _sinteger_clear(void* _p); void _sinteger_destroy(void* _p); void _sintegerarray_init(void* _p, ae_state *_state, ae_bool make_automatic); void _sintegerarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _sintegerarray_clear(void* _p); void _sintegerarray_destroy(void* _p); void _sreal_init(void* _p, ae_state *_state, ae_bool make_automatic); void _sreal_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _sreal_clear(void* _p); void _sreal_destroy(void* _p); void _srealarray_init(void* _p, ae_state *_state, ae_bool make_automatic); void _srealarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _srealarray_clear(void* _p); void _srealarray_destroy(void* _p); void _scomplex_init(void* _p, ae_state *_state, ae_bool make_automatic); void _scomplex_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _scomplex_clear(void* _p); void _scomplex_destroy(void* _p); void _scomplexarray_init(void* _p, ae_state *_state, ae_bool make_automatic); void _scomplexarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _scomplexarray_clear(void* _p); void _scomplexarray_destroy(void* _p); #endif #if defined(AE_COMPILE_TSORT) || !defined(AE_PARTIAL_BUILD) void tagsort(/* Real */ ae_vector* a, ae_int_t n, /* Integer */ ae_vector* p1, /* Integer */ ae_vector* p2, ae_state *_state); void tagsortbuf(/* Real */ ae_vector* a, ae_int_t n, /* Integer */ ae_vector* p1, /* Integer */ ae_vector* p2, apbuffers* buf, ae_state *_state); void tagsortfasti(/* Real */ ae_vector* a, /* Integer */ ae_vector* b, /* Real */ ae_vector* bufa, /* Integer */ ae_vector* bufb, ae_int_t n, ae_state *_state); void tagsortfastr(/* Real */ ae_vector* a, /* Real */ ae_vector* b, /* Real */ ae_vector* bufa, /* Real */ ae_vector* bufb, ae_int_t n, ae_state *_state); void tagsortfast(/* Real */ ae_vector* a, /* Real */ ae_vector* bufa, ae_int_t n, ae_state *_state); void tagsortmiddleir(/* Integer */ ae_vector* a, /* Real */ ae_vector* b, ae_int_t offset, ae_int_t n, ae_state *_state); void sortmiddlei(/* Integer */ ae_vector* a, ae_int_t offset, ae_int_t n, ae_state *_state); void tagheappushi(/* Real */ ae_vector* a, /* Integer */ ae_vector* b, ae_int_t* n, double va, ae_int_t vb, ae_state *_state); void tagheapreplacetopi(/* Real */ ae_vector* a, /* Integer */ ae_vector* b, ae_int_t n, double va, ae_int_t vb, ae_state *_state); void tagheappopi(/* Real */ ae_vector* a, /* Integer */ ae_vector* b, ae_int_t* n, ae_state *_state); ae_int_t lowerbound(/* Real */ ae_vector* a, ae_int_t n, double t, ae_state *_state); ae_int_t upperbound(/* Real */ ae_vector* a, ae_int_t n, double t, ae_state *_state); #endif #if defined(AE_COMPILE_ABLASMKL) || !defined(AE_PARTIAL_BUILD) ae_bool rmatrixgermkl(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, double alpha, /* Real */ ae_vector* u, ae_int_t iu, /* Real */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool cmatrixrank1mkl(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Complex */ ae_vector* u, ae_int_t iu, /* Complex */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool rmatrixrank1mkl(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_vector* u, ae_int_t iu, /* Real */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool cmatrixmvmkl(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t opa, /* Complex */ ae_vector* x, ae_int_t ix, /* Complex */ ae_vector* y, ae_int_t iy, ae_state *_state); ae_bool rmatrixmvmkl(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t opa, /* Real */ ae_vector* x, ae_int_t ix, /* Real */ ae_vector* y, ae_int_t iy, ae_state *_state); ae_bool rmatrixgemvmkl(ae_int_t m, ae_int_t n, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t opa, /* Real */ ae_vector* x, ae_int_t ix, double beta, /* Real */ ae_vector* y, ae_int_t iy, ae_state *_state); ae_bool rmatrixtrsvmkl(ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Real */ ae_vector* x, ae_int_t ix, ae_state *_state); ae_bool rmatrixsyrkmkl(ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_bool isupper, ae_state *_state); ae_bool cmatrixherkmkl(ae_int_t n, ae_int_t k, double alpha, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, double beta, /* Complex */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_bool isupper, ae_state *_state); ae_bool rmatrixgemmmkl(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); ae_bool rmatrixsymvmkl(ae_int_t n, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_bool isupper, /* Real */ ae_vector* x, ae_int_t ix, double beta, /* Real */ ae_vector* y, ae_int_t iy, ae_state *_state); ae_bool cmatrixgemmmkl(ae_int_t m, ae_int_t n, ae_int_t k, ae_complex alpha, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Complex */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, ae_complex beta, /* Complex */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); ae_bool cmatrixlefttrsmmkl(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Complex */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool cmatrixrighttrsmmkl(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Complex */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool rmatrixlefttrsmmkl(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Real */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool rmatrixrighttrsmmkl(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Real */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool spdmatrixcholeskymkl(/* Real */ ae_matrix* a, ae_int_t offs, ae_int_t n, ae_bool isupper, ae_bool* cholresult, ae_state *_state); ae_bool rmatrixplumkl(/* Real */ ae_matrix* a, ae_int_t offs, ae_int_t m, ae_int_t n, /* Integer */ ae_vector* pivots, ae_state *_state); ae_bool rmatrixbdmkl(/* Real */ ae_matrix* a, ae_int_t m, ae_int_t n, /* Real */ ae_vector* d, /* Real */ ae_vector* e, /* Real */ ae_vector* tauq, /* Real */ ae_vector* taup, ae_state *_state); ae_bool rmatrixbdmultiplybymkl(/* Real */ ae_matrix* qp, ae_int_t m, ae_int_t n, /* Real */ ae_vector* tauq, /* Real */ ae_vector* taup, /* Real */ ae_matrix* z, ae_int_t zrows, ae_int_t zcolumns, ae_bool byq, ae_bool fromtheright, ae_bool dotranspose, ae_state *_state); ae_bool rmatrixhessenbergmkl(/* Real */ ae_matrix* a, ae_int_t n, /* Real */ ae_vector* tau, ae_state *_state); ae_bool rmatrixhessenbergunpackqmkl(/* Real */ ae_matrix* a, ae_int_t n, /* Real */ ae_vector* tau, /* Real */ ae_matrix* q, ae_state *_state); ae_bool smatrixtdmkl(/* Real */ ae_matrix* a, ae_int_t n, ae_bool isupper, /* Real */ ae_vector* tau, /* Real */ ae_vector* d, /* Real */ ae_vector* e, ae_state *_state); ae_bool smatrixtdunpackqmkl(/* Real */ ae_matrix* a, ae_int_t n, ae_bool isupper, /* Real */ ae_vector* tau, /* Real */ ae_matrix* q, ae_state *_state); ae_bool hmatrixtdmkl(/* Complex */ ae_matrix* a, ae_int_t n, ae_bool isupper, /* Complex */ ae_vector* tau, /* Real */ ae_vector* d, /* Real */ ae_vector* e, ae_state *_state); ae_bool hmatrixtdunpackqmkl(/* Complex */ ae_matrix* a, ae_int_t n, ae_bool isupper, /* Complex */ ae_vector* tau, /* Complex */ ae_matrix* q, ae_state *_state); ae_bool rmatrixbdsvdmkl(/* Real */ ae_vector* d, /* Real */ ae_vector* e, ae_int_t n, ae_bool isupper, /* Real */ ae_matrix* u, ae_int_t nru, /* Real */ ae_matrix* c, ae_int_t ncc, /* Real */ ae_matrix* vt, ae_int_t ncvt, ae_bool* svdresult, ae_state *_state); ae_bool rmatrixinternalschurdecompositionmkl(/* Real */ ae_matrix* h, ae_int_t n, ae_int_t tneeded, ae_int_t zneeded, /* Real */ ae_vector* wr, /* Real */ ae_vector* wi, /* Real */ ae_matrix* z, ae_int_t* info, ae_state *_state); ae_bool rmatrixinternaltrevcmkl(/* Real */ ae_matrix* t, ae_int_t n, ae_int_t side, ae_int_t howmny, /* Real */ ae_matrix* vl, /* Real */ ae_matrix* vr, ae_int_t* m, ae_int_t* info, ae_state *_state); ae_bool smatrixtdevdmkl(/* Real */ ae_vector* d, /* Real */ ae_vector* e, ae_int_t n, ae_int_t zneeded, /* Real */ ae_matrix* z, ae_bool* evdresult, ae_state *_state); ae_bool sparsegemvcrsmkl(ae_int_t opa, ae_int_t arows, ae_int_t acols, double alpha, /* Real */ ae_vector* vals, /* Integer */ ae_vector* cidx, /* Integer */ ae_vector* ridx, /* Real */ ae_vector* x, ae_int_t ix, double beta, /* Real */ ae_vector* y, ae_int_t iy, ae_state *_state); #endif #if defined(AE_COMPILE_ABLASF) || !defined(AE_PARTIAL_BUILD) ae_bool rmatrixgerf(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, double ralpha, /* Real */ ae_vector* u, ae_int_t iu, /* Real */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool cmatrixrank1f(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Complex */ ae_vector* u, ae_int_t iu, /* Complex */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool rmatrixrank1f(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_vector* u, ae_int_t iu, /* Real */ ae_vector* v, ae_int_t iv, ae_state *_state); ae_bool cmatrixrighttrsmf(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Complex */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool cmatrixlefttrsmf(ae_int_t m, ae_int_t n, /* Complex */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Complex */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool rmatrixrighttrsmf(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Real */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool rmatrixlefttrsmf(ae_int_t m, ae_int_t n, /* Real */ ae_matrix* a, ae_int_t i1, ae_int_t j1, ae_bool isupper, ae_bool isunit, ae_int_t optype, /* Real */ ae_matrix* x, ae_int_t i2, ae_int_t j2, ae_state *_state); ae_bool cmatrixherkf(ae_int_t n, ae_int_t k, double alpha, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, double beta, /* Complex */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_bool isupper, ae_state *_state); ae_bool rmatrixsyrkf(ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_bool isupper, ae_state *_state); ae_bool rmatrixgemmf(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); ae_bool cmatrixgemmf(ae_int_t m, ae_int_t n, ae_int_t k, ae_complex alpha, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Complex */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, ae_complex beta, /* Complex */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void cmatrixgemmk(ae_int_t m, ae_int_t n, ae_int_t k, ae_complex alpha, /* Complex */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Complex */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, ae_complex beta, /* Complex */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void rmatrixgemmk(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, ae_int_t optypea, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, ae_int_t optypeb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void rmatrixgemmk44v00(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void rmatrixgemmk44v01(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void rmatrixgemmk44v10(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); void rmatrixgemmk44v11(ae_int_t m, ae_int_t n, ae_int_t k, double alpha, /* Real */ ae_matrix* a, ae_int_t ia, ae_int_t ja, /* Real */ ae_matrix* b, ae_int_t ib, ae_int_t jb, double beta, /* Real */ ae_matrix* c, ae_int_t ic, ae_int_t jc, ae_state *_state); #endif #if defined(AE_COMPILE_CREFLECTIONS) || !defined(AE_PARTIAL_BUILD) void complexgeneratereflection(/* Complex */ ae_vector* x, ae_int_t n, ae_complex* tau, ae_state *_state); void complexapplyreflectionfromtheleft(/* Complex */ ae_matrix* c, ae_complex tau, /* Complex */ ae_vector* v, ae_int_t m1, ae_int_t m2, ae_int_t n1, ae_int_t n2, /* Complex */ ae_vector* work, ae_state *_state); void complexapplyreflectionfromtheright(/* Complex */ ae_matrix* c, ae_complex tau, /* Complex */ ae_vector* v, ae_int_t m1, ae_int_t m2, ae_int_t n1, ae_int_t n2, /* Complex */ ae_vector* work, ae_state *_state); #endif #if defined(AE_COMPILE_ROTATIONS) || !defined(AE_PARTIAL_BUILD) void applyrotationsfromtheleft(ae_bool isforward, ae_int_t m1, ae_int_t m2, ae_int_t n1, ae_int_t n2, /* Real */ ae_vector* c, /* Real */ ae_vector* s, /* Real */ ae_matrix* a, /* Real */ ae_vector* work, ae_state *_state); void applyrotationsfromtheright(ae_bool isforward, ae_int_t m1, ae_int_t m2, ae_int_t n1, ae_int_t n2, /* Real */ ae_vector* c, /* Real */ ae_vector* s, /* Real */ ae_matrix* a, /* Real */ ae_vector* work, ae_state *_state); void generaterotation(double f, double g, double* cs, double* sn, double* r, ae_state *_state); #endif #if defined(AE_COMPILE_TRLINSOLVE) || !defined(AE_PARTIAL_BUILD) void rmatrixtrsafesolve(/* Real */ ae_matrix* a, ae_int_t n, /* Real */ ae_vector* x, double* s, ae_bool isupper, ae_bool istrans, ae_bool isunit, ae_state *_state); void safesolvetriangular(/* Real */ ae_matrix* a, ae_int_t n, /* Real */ ae_vector* x, double* s, ae_bool isupper, ae_bool istrans, ae_bool isunit, ae_bool normin, /* Real */ ae_vector* cnorm, ae_state *_state); #endif #if defined(AE_COMPILE_SAFESOLVE) || !defined(AE_PARTIAL_BUILD) ae_bool rmatrixscaledtrsafesolve(/* Real */ ae_matrix* a, double sa, ae_int_t n, /* Real */ ae_vector* x, ae_bool isupper, ae_int_t trans, ae_bool isunit, double maxgrowth, ae_state *_state); ae_bool cmatrixscaledtrsafesolve(/* Complex */ ae_matrix* a, double sa, ae_int_t n, /* Complex */ ae_vector* x, ae_bool isupper, ae_int_t trans, ae_bool isunit, double maxgrowth, ae_state *_state); #endif #if defined(AE_COMPILE_HBLAS) || !defined(AE_PARTIAL_BUILD) void hermitianmatrixvectormultiply(/* Complex */ ae_matrix* a, ae_bool isupper, ae_int_t i1, ae_int_t i2, /* Complex */ ae_vector* x, ae_complex alpha, /* Complex */ ae_vector* y, ae_state *_state); void hermitianrank2update(/* Complex */ ae_matrix* a, ae_bool isupper, ae_int_t i1, ae_int_t i2, /* Complex */ ae_vector* x, /* Complex */ ae_vector* y, /* Complex */ ae_vector* t, ae_complex alpha, ae_state *_state); #endif #if defined(AE_COMPILE_SBLAS) || !defined(AE_PARTIAL_BUILD) void symmetricmatrixvectormultiply(/* Real */ ae_matrix* a, ae_bool isupper, ae_int_t i1, ae_int_t i2, /* Real */ ae_vector* x, double alpha, /* Real */ ae_vector* y, ae_state *_state); void symmetricrank2update(/* Real */ ae_matrix* a, ae_bool isupper, ae_int_t i1, ae_int_t i2, /* Real */ ae_vector* x, /* Real */ ae_vector* y, /* Real */ ae_vector* t, double alpha, ae_state *_state); #endif #if defined(AE_COMPILE_BLAS) || !defined(AE_PARTIAL_BUILD) double vectornorm2(/* Real */ ae_vector* x, ae_int_t i1, ae_int_t i2, ae_state *_state); ae_int_t vectoridxabsmax(/* Real */ ae_vector* x, ae_int_t i1, ae_int_t i2, ae_state *_state); ae_int_t columnidxabsmax(/* Real */ ae_matrix* x, ae_int_t i1, ae_int_t i2, ae_int_t j, ae_state *_state); ae_int_t rowidxabsmax(/* Real */ ae_matrix* x, ae_int_t j1, ae_int_t j2, ae_int_t i, ae_state *_state); double upperhessenberg1norm(/* Real */ ae_matrix* a, ae_int_t i1, ae_int_t i2, ae_int_t j1, ae_int_t j2, /* Real */ ae_vector* work, ae_state *_state); void copymatrix(/* Real */ ae_matrix* a, ae_int_t is1, ae_int_t is2, ae_int_t js1, ae_int_t js2, /* Real */ ae_matrix* b, ae_int_t id1, ae_int_t id2, ae_int_t jd1, ae_int_t jd2, ae_state *_state); void inplacetranspose(/* Real */ ae_matrix* a, ae_int_t i1, ae_int_t i2, ae_int_t j1, ae_int_t j2, /* Real */ ae_vector* work, ae_state *_state); void copyandtranspose(/* Real */ ae_matrix* a, ae_int_t is1, ae_int_t is2, ae_int_t js1, ae_int_t js2, /* Real */ ae_matrix* b, ae_int_t id1, ae_int_t id2, ae_int_t jd1, ae_int_t jd2, ae_state *_state); void matrixvectormultiply(/* Real */ ae_matrix* a, ae_int_t i1, ae_int_t i2, ae_int_t j1, ae_int_t j2, ae_bool trans, /* Real */ ae_vector* x, ae_int_t ix1, ae_int_t ix2, double alpha, /* Real */ ae_vector* y, ae_int_t iy1, ae_int_t iy2, double beta, ae_state *_state); double pythag2(double x, double y, ae_state *_state); void matrixmatrixmultiply(/* Real */ ae_matrix* a, ae_int_t ai1, ae_int_t ai2, ae_int_t aj1, ae_int_t aj2, ae_bool transa, /* Real */ ae_matrix* b, ae_int_t bi1, ae_int_t bi2, ae_int_t bj1, ae_int_t bj2, ae_bool transb, double alpha, /* Real */ ae_matrix* c, ae_int_t ci1, ae_int_t ci2, ae_int_t cj1, ae_int_t cj2, double beta, /* Real */ ae_vector* work, ae_state *_state); #endif #if defined(AE_COMPILE_LINMIN) || !defined(AE_PARTIAL_BUILD) void linminnormalized(/* Real */ ae_vector* d, double* stp, ae_int_t n, ae_state *_state); void mcsrch(ae_int_t n, /* Real */ ae_vector* x, double* f, /* Real */ ae_vector* g, /* Real */ ae_vector* s, double* stp, double stpmax, double gtol, ae_int_t* info, ae_int_t* nfev, /* Real */ ae_vector* wa, linminstate* state, ae_int_t* stage, ae_state *_state); void armijocreate(ae_int_t n, /* Real */ ae_vector* x, double f, /* Real */ ae_vector* s, double stp, double stpmax, ae_int_t fmax, armijostate* state, ae_state *_state); ae_bool armijoiteration(armijostate* state, ae_state *_state); void armijoresults(armijostate* state, ae_int_t* info, double* stp, double* f, ae_state *_state); void _linminstate_init(void* _p, ae_state *_state, ae_bool make_automatic); void _linminstate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _linminstate_clear(void* _p); void _linminstate_destroy(void* _p); void _armijostate_init(void* _p, ae_state *_state, ae_bool make_automatic); void _armijostate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _armijostate_clear(void* _p); void _armijostate_destroy(void* _p); #endif #if defined(AE_COMPILE_XBLAS) || !defined(AE_PARTIAL_BUILD) void xdot(/* Real */ ae_vector* a, /* Real */ ae_vector* b, ae_int_t n, /* Real */ ae_vector* temp, double* r, double* rerr, ae_state *_state); void xcdot(/* Complex */ ae_vector* a, /* Complex */ ae_vector* b, ae_int_t n, /* Real */ ae_vector* temp, ae_complex* r, double* rerr, ae_state *_state); #endif #if defined(AE_COMPILE_BASICSTATOPS) || !defined(AE_PARTIAL_BUILD) void rankx(/* Real */ ae_vector* x, ae_int_t n, ae_bool iscentered, apbuffers* buf, ae_state *_state); void rankxuntied(/* Real */ ae_vector* x, ae_int_t n, apbuffers* buf, ae_state *_state); #endif #if defined(AE_COMPILE_HPCCORES) || !defined(AE_PARTIAL_BUILD) void hpcpreparechunkedgradient(/* Real */ ae_vector* weights, ae_int_t wcount, ae_int_t ntotal, ae_int_t nin, ae_int_t nout, mlpbuffers* buf, ae_state *_state); void hpcfinalizechunkedgradient(mlpbuffers* buf, /* Real */ ae_vector* grad, ae_state *_state); ae_bool hpcchunkedgradient(/* Real */ ae_vector* weights, /* Integer */ ae_vector* structinfo, /* Real */ ae_vector* columnmeans, /* Real */ ae_vector* columnsigmas, /* Real */ ae_matrix* xy, ae_int_t cstart, ae_int_t csize, /* Real */ ae_vector* batch4buf, /* Real */ ae_vector* hpcbuf, double* e, ae_bool naturalerrorfunc, ae_state *_state); ae_bool hpcchunkedprocess(/* Real */ ae_vector* weights, /* Integer */ ae_vector* structinfo, /* Real */ ae_vector* columnmeans, /* Real */ ae_vector* columnsigmas, /* Real */ ae_matrix* xy, ae_int_t cstart, ae_int_t csize, /* Real */ ae_vector* batch4buf, /* Real */ ae_vector* hpcbuf, ae_state *_state); void _mlpbuffers_init(void* _p, ae_state *_state, ae_bool make_automatic); void _mlpbuffers_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _mlpbuffers_clear(void* _p); void _mlpbuffers_destroy(void* _p); #endif #if defined(AE_COMPILE_NTHEORY) || !defined(AE_PARTIAL_BUILD) void findprimitiverootandinverse(ae_int_t n, ae_int_t* proot, ae_int_t* invproot, ae_state *_state); #endif #if defined(AE_COMPILE_FTBASE) || !defined(AE_PARTIAL_BUILD) void ftcomplexfftplan(ae_int_t n, ae_int_t k, fasttransformplan* plan, ae_state *_state); void ftapplyplan(fasttransformplan* plan, /* Real */ ae_vector* a, ae_int_t offsa, ae_int_t repcnt, ae_state *_state); void ftbasefactorize(ae_int_t n, ae_int_t tasktype, ae_int_t* n1, ae_int_t* n2, ae_state *_state); ae_bool ftbaseissmooth(ae_int_t n, ae_state *_state); ae_int_t ftbasefindsmooth(ae_int_t n, ae_state *_state); ae_int_t ftbasefindsmootheven(ae_int_t n, ae_state *_state); double ftbasegetflopestimate(ae_int_t n, ae_state *_state); void _fasttransformplan_init(void* _p, ae_state *_state, ae_bool make_automatic); void _fasttransformplan_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic); void _fasttransformplan_clear(void* _p); void _fasttransformplan_destroy(void* _p); #endif #if defined(AE_COMPILE_NEARUNITYUNIT) || !defined(AE_PARTIAL_BUILD) double nulog1p(double x, ae_state *_state); double nuexpm1(double x, ae_state *_state); double nucosm1(double x, ae_state *_state); #endif #if defined(AE_COMPILE_ALGLIBBASICS) || !defined(AE_PARTIAL_BUILD) #endif } #endif