1 /*************************************************************************
2 ALGLIB 3.15.0 (source code generated 2019-02-20)
3 Copyright (c) Sergey Bochkanov (ALGLIB project).
4 
5 >>> SOURCE LICENSE >>>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation (www.fsf.org); either version 2 of the
9 License, or (at your option) any later version.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 A copy of the GNU General Public License is available at
17 http://www.fsf.org/licensing/licenses
18 >>> END OF LICENSE >>>
19 *************************************************************************/
20 #ifndef _alglibinternal_pkg_h
21 #define _alglibinternal_pkg_h
22 #include "ap.h"
23 
24 
25 /////////////////////////////////////////////////////////////////////////
26 //
27 // THIS SECTION CONTAINS COMPUTATIONAL CORE DECLARATIONS (DATATYPES)
28 //
29 /////////////////////////////////////////////////////////////////////////
30 namespace alglib_impl
31 {
32 #if defined(AE_COMPILE_SCODES) || !defined(AE_PARTIAL_BUILD)
33 #endif
34 #if defined(AE_COMPILE_APSERV) || !defined(AE_PARTIAL_BUILD)
35 typedef struct
36 {
37     ae_vector ba0;
38     ae_vector ia0;
39     ae_vector ia1;
40     ae_vector ia2;
41     ae_vector ia3;
42     ae_vector ra0;
43     ae_vector ra1;
44     ae_vector ra2;
45     ae_vector ra3;
46     ae_matrix rm0;
47     ae_matrix rm1;
48 } apbuffers;
49 typedef struct
50 {
51     ae_bool val;
52 } sboolean;
53 typedef struct
54 {
55     ae_vector val;
56 } sbooleanarray;
57 typedef struct
58 {
59     ae_int_t val;
60 } sinteger;
61 typedef struct
62 {
63     ae_vector val;
64 } sintegerarray;
65 typedef struct
66 {
67     double val;
68 } sreal;
69 typedef struct
70 {
71     ae_vector val;
72 } srealarray;
73 typedef struct
74 {
75     ae_complex val;
76 } scomplex;
77 typedef struct
78 {
79     ae_vector val;
80 } scomplexarray;
81 #endif
82 #if defined(AE_COMPILE_TSORT) || !defined(AE_PARTIAL_BUILD)
83 #endif
84 #if defined(AE_COMPILE_ABLASMKL) || !defined(AE_PARTIAL_BUILD)
85 #endif
86 #if defined(AE_COMPILE_ABLASF) || !defined(AE_PARTIAL_BUILD)
87 #endif
88 #if defined(AE_COMPILE_CREFLECTIONS) || !defined(AE_PARTIAL_BUILD)
89 #endif
90 #if defined(AE_COMPILE_ROTATIONS) || !defined(AE_PARTIAL_BUILD)
91 #endif
92 #if defined(AE_COMPILE_TRLINSOLVE) || !defined(AE_PARTIAL_BUILD)
93 #endif
94 #if defined(AE_COMPILE_SAFESOLVE) || !defined(AE_PARTIAL_BUILD)
95 #endif
96 #if defined(AE_COMPILE_HBLAS) || !defined(AE_PARTIAL_BUILD)
97 #endif
98 #if defined(AE_COMPILE_SBLAS) || !defined(AE_PARTIAL_BUILD)
99 #endif
100 #if defined(AE_COMPILE_BLAS) || !defined(AE_PARTIAL_BUILD)
101 #endif
102 #if defined(AE_COMPILE_LINMIN) || !defined(AE_PARTIAL_BUILD)
103 typedef struct
104 {
105     ae_bool brackt;
106     ae_bool stage1;
107     ae_int_t infoc;
108     double dg;
109     double dgm;
110     double dginit;
111     double dgtest;
112     double dgx;
113     double dgxm;
114     double dgy;
115     double dgym;
116     double finit;
117     double ftest1;
118     double fm;
119     double fx;
120     double fxm;
121     double fy;
122     double fym;
123     double stx;
124     double sty;
125     double stmin;
126     double stmax;
127     double width;
128     double width1;
129     double xtrapf;
130 } linminstate;
131 typedef struct
132 {
133     ae_bool needf;
134     ae_vector x;
135     double f;
136     ae_int_t n;
137     ae_vector xbase;
138     ae_vector s;
139     double stplen;
140     double fcur;
141     double stpmax;
142     ae_int_t fmax;
143     ae_int_t nfev;
144     ae_int_t info;
145     rcommstate rstate;
146 } armijostate;
147 #endif
148 #if defined(AE_COMPILE_XBLAS) || !defined(AE_PARTIAL_BUILD)
149 #endif
150 #if defined(AE_COMPILE_BASICSTATOPS) || !defined(AE_PARTIAL_BUILD)
151 #endif
152 #if defined(AE_COMPILE_HPCCORES) || !defined(AE_PARTIAL_BUILD)
153 typedef struct
154 {
155     ae_int_t chunksize;
156     ae_int_t ntotal;
157     ae_int_t nin;
158     ae_int_t nout;
159     ae_int_t wcount;
160     ae_vector batch4buf;
161     ae_vector hpcbuf;
162     ae_matrix xy;
163     ae_matrix xy2;
164     ae_vector xyrow;
165     ae_vector x;
166     ae_vector y;
167     ae_vector desiredy;
168     double e;
169     ae_vector g;
170     ae_vector tmp0;
171 } mlpbuffers;
172 #endif
173 #if defined(AE_COMPILE_NTHEORY) || !defined(AE_PARTIAL_BUILD)
174 #endif
175 #if defined(AE_COMPILE_FTBASE) || !defined(AE_PARTIAL_BUILD)
176 typedef struct
177 {
178     ae_matrix entries;
179     ae_vector buffer;
180     ae_vector precr;
181     ae_vector preci;
182     ae_shared_pool bluesteinpool;
183 } fasttransformplan;
184 #endif
185 #if defined(AE_COMPILE_NEARUNITYUNIT) || !defined(AE_PARTIAL_BUILD)
186 #endif
187 #if defined(AE_COMPILE_ALGLIBBASICS) || !defined(AE_PARTIAL_BUILD)
188 #endif
189 
190 }
191 
192 /////////////////////////////////////////////////////////////////////////
193 //
194 // THIS SECTION CONTAINS C++ INTERFACE
195 //
196 /////////////////////////////////////////////////////////////////////////
197 namespace alglib
198 {
199 
200 
201 }
202 
203 /////////////////////////////////////////////////////////////////////////
204 //
205 // THIS SECTION CONTAINS COMPUTATIONAL CORE DECLARATIONS (FUNCTIONS)
206 //
207 /////////////////////////////////////////////////////////////////////////
208 namespace alglib_impl
209 {
210 #if defined(AE_COMPILE_SCODES) || !defined(AE_PARTIAL_BUILD)
211 ae_int_t getrdfserializationcode(ae_state *_state);
212 ae_int_t getkdtreeserializationcode(ae_state *_state);
213 ae_int_t getmlpserializationcode(ae_state *_state);
214 ae_int_t getmlpeserializationcode(ae_state *_state);
215 ae_int_t getrbfserializationcode(ae_state *_state);
216 ae_int_t getspline2dserializationcode(ae_state *_state);
217 ae_int_t getidwserializationcode(ae_state *_state);
218 ae_int_t getknnserializationcode(ae_state *_state);
219 #endif
220 #if defined(AE_COMPILE_APSERV) || !defined(AE_PARTIAL_BUILD)
221 void seterrorflagdiff(ae_bool* flag,
222      double val,
223      double refval,
224      double tol,
225      double s,
226      ae_state *_state);
227 ae_bool alwaysfalse(ae_state *_state);
228 void touchint(ae_int_t* a, ae_state *_state);
229 void touchreal(double* a, ae_state *_state);
230 double coalesce(double a, double b, ae_state *_state);
231 ae_int_t coalescei(ae_int_t a, ae_int_t b, ae_state *_state);
232 double inttoreal(ae_int_t a, ae_state *_state);
233 double logbase2(double x, ae_state *_state);
234 ae_bool approxequal(double a, double b, double tol, ae_state *_state);
235 ae_bool approxequalrel(double a, double b, double tol, ae_state *_state);
236 void taskgenint1d(double a,
237      double b,
238      ae_int_t n,
239      /* Real    */ ae_vector* x,
240      /* Real    */ ae_vector* y,
241      ae_state *_state);
242 void taskgenint1dequidist(double a,
243      double b,
244      ae_int_t n,
245      /* Real    */ ae_vector* x,
246      /* Real    */ ae_vector* y,
247      ae_state *_state);
248 void taskgenint1dcheb1(double a,
249      double b,
250      ae_int_t n,
251      /* Real    */ ae_vector* x,
252      /* Real    */ ae_vector* y,
253      ae_state *_state);
254 void taskgenint1dcheb2(double a,
255      double b,
256      ae_int_t n,
257      /* Real    */ ae_vector* x,
258      /* Real    */ ae_vector* y,
259      ae_state *_state);
260 ae_bool aredistinct(/* Real    */ ae_vector* x,
261      ae_int_t n,
262      ae_state *_state);
263 ae_bool aresameboolean(ae_bool v1, ae_bool v2, ae_state *_state);
264 void bvectorsetlengthatleast(/* Boolean */ ae_vector* x,
265      ae_int_t n,
266      ae_state *_state);
267 void ivectorsetlengthatleast(/* Integer */ ae_vector* x,
268      ae_int_t n,
269      ae_state *_state);
270 void rvectorsetlengthatleast(/* Real    */ ae_vector* x,
271      ae_int_t n,
272      ae_state *_state);
273 void rmatrixsetlengthatleast(/* Real    */ ae_matrix* x,
274      ae_int_t m,
275      ae_int_t n,
276      ae_state *_state);
277 void bvectorgrowto(/* Boolean */ ae_vector* x,
278      ae_int_t n,
279      ae_state *_state);
280 void ivectorgrowto(/* Integer */ ae_vector* x,
281      ae_int_t n,
282      ae_state *_state);
283 void rmatrixgrowrowsto(/* Real    */ ae_matrix* a,
284      ae_int_t n,
285      ae_int_t mincols,
286      ae_state *_state);
287 void rmatrixgrowcolsto(/* Real    */ ae_matrix* a,
288      ae_int_t n,
289      ae_int_t minrows,
290      ae_state *_state);
291 void rvectorgrowto(/* Real    */ ae_vector* x,
292      ae_int_t n,
293      ae_state *_state);
294 void ivectorresize(/* Integer */ ae_vector* x,
295      ae_int_t n,
296      ae_state *_state);
297 void rvectorresize(/* Real    */ ae_vector* x,
298      ae_int_t n,
299      ae_state *_state);
300 void rmatrixresize(/* Real    */ ae_matrix* x,
301      ae_int_t m,
302      ae_int_t n,
303      ae_state *_state);
304 void imatrixresize(/* Integer */ ae_matrix* x,
305      ae_int_t m,
306      ae_int_t n,
307      ae_state *_state);
308 void ivectorappend(/* Integer */ ae_vector* x,
309      ae_int_t v,
310      ae_state *_state);
311 ae_bool isfinitevector(/* Real    */ ae_vector* x,
312      ae_int_t n,
313      ae_state *_state);
314 ae_bool isfinitecvector(/* Complex */ ae_vector* z,
315      ae_int_t n,
316      ae_state *_state);
317 ae_bool apservisfinitematrix(/* Real    */ ae_matrix* x,
318      ae_int_t m,
319      ae_int_t n,
320      ae_state *_state);
321 ae_bool apservisfinitecmatrix(/* Complex */ ae_matrix* x,
322      ae_int_t m,
323      ae_int_t n,
324      ae_state *_state);
325 ae_bool isfinitertrmatrix(/* Real    */ ae_matrix* x,
326      ae_int_t n,
327      ae_bool isupper,
328      ae_state *_state);
329 ae_bool apservisfinitectrmatrix(/* Complex */ ae_matrix* x,
330      ae_int_t n,
331      ae_bool isupper,
332      ae_state *_state);
333 ae_bool apservisfiniteornanmatrix(/* Real    */ ae_matrix* x,
334      ae_int_t m,
335      ae_int_t n,
336      ae_state *_state);
337 double safepythag2(double x, double y, ae_state *_state);
338 double safepythag3(double x, double y, double z, ae_state *_state);
339 ae_int_t saferdiv(double x, double y, double* r, ae_state *_state);
340 double safeminposrv(double x, double y, double v, ae_state *_state);
341 void apperiodicmap(double* x,
342      double a,
343      double b,
344      double* k,
345      ae_state *_state);
346 double randomnormal(ae_state *_state);
347 void randomunit(ae_int_t n, /* Real    */ ae_vector* x, ae_state *_state);
348 void swapi(ae_int_t* v0, ae_int_t* v1, ae_state *_state);
349 void swapr(double* v0, double* v1, ae_state *_state);
350 void swaprows(/* Real    */ ae_matrix* a,
351      ae_int_t i0,
352      ae_int_t i1,
353      ae_int_t ncols,
354      ae_state *_state);
355 void swapentries(/* Real    */ ae_vector* a,
356      ae_int_t i0,
357      ae_int_t i1,
358      ae_int_t entrywidth,
359      ae_state *_state);
360 void swapelements(/* Real    */ ae_vector* a,
361      ae_int_t i0,
362      ae_int_t i1,
363      ae_state *_state);
364 void swapelementsi(/* Integer */ ae_vector* a,
365      ae_int_t i0,
366      ae_int_t i1,
367      ae_state *_state);
368 double maxreal3(double v0, double v1, double v2, ae_state *_state);
369 void inc(ae_int_t* v, ae_state *_state);
370 void dec(ae_int_t* v, ae_state *_state);
371 void threadunsafeinc(ae_int_t* v, ae_state *_state);
372 void countdown(ae_int_t* v, ae_state *_state);
373 double possign(double x, ae_state *_state);
374 double rmul2(double v0, double v1, ae_state *_state);
375 double rmul3(double v0, double v1, double v2, ae_state *_state);
376 ae_int_t idivup(ae_int_t a, ae_int_t b, ae_state *_state);
377 ae_int_t imin2(ae_int_t i0, ae_int_t i1, ae_state *_state);
378 ae_int_t imin3(ae_int_t i0, ae_int_t i1, ae_int_t i2, ae_state *_state);
379 ae_int_t imax2(ae_int_t i0, ae_int_t i1, ae_state *_state);
380 ae_int_t imax3(ae_int_t i0, ae_int_t i1, ae_int_t i2, ae_state *_state);
381 double rmax3(double r0, double r1, double r2, ae_state *_state);
382 double rmaxabs3(double r0, double r1, double r2, ae_state *_state);
383 double boundval(double x, double b1, double b2, ae_state *_state);
384 ae_int_t iboundval(ae_int_t x, ae_int_t b1, ae_int_t b2, ae_state *_state);
385 double rboundval(double x, double b1, double b2, ae_state *_state);
386 ae_int_t countnz1(/* Real    */ ae_vector* v,
387      ae_int_t n,
388      ae_state *_state);
389 ae_int_t countnz2(/* Real    */ ae_matrix* v,
390      ae_int_t m,
391      ae_int_t n,
392      ae_state *_state);
393 void alloccomplex(ae_serializer* s, ae_complex v, ae_state *_state);
394 void serializecomplex(ae_serializer* s, ae_complex v, ae_state *_state);
395 ae_complex unserializecomplex(ae_serializer* s, ae_state *_state);
396 void allocrealarray(ae_serializer* s,
397      /* Real    */ ae_vector* v,
398      ae_int_t n,
399      ae_state *_state);
400 void serializerealarray(ae_serializer* s,
401      /* Real    */ ae_vector* v,
402      ae_int_t n,
403      ae_state *_state);
404 void unserializerealarray(ae_serializer* s,
405      /* Real    */ ae_vector* v,
406      ae_state *_state);
407 void allocintegerarray(ae_serializer* s,
408      /* Integer */ ae_vector* v,
409      ae_int_t n,
410      ae_state *_state);
411 void serializeintegerarray(ae_serializer* s,
412      /* Integer */ ae_vector* v,
413      ae_int_t n,
414      ae_state *_state);
415 void unserializeintegerarray(ae_serializer* s,
416      /* Integer */ ae_vector* v,
417      ae_state *_state);
418 void allocrealmatrix(ae_serializer* s,
419      /* Real    */ ae_matrix* v,
420      ae_int_t n0,
421      ae_int_t n1,
422      ae_state *_state);
423 void serializerealmatrix(ae_serializer* s,
424      /* Real    */ ae_matrix* v,
425      ae_int_t n0,
426      ae_int_t n1,
427      ae_state *_state);
428 void unserializerealmatrix(ae_serializer* s,
429      /* Real    */ ae_matrix* v,
430      ae_state *_state);
431 void copybooleanarray(/* Boolean */ ae_vector* src,
432      /* Boolean */ ae_vector* dst,
433      ae_state *_state);
434 void copyintegerarray(/* Integer */ ae_vector* src,
435      /* Integer */ ae_vector* dst,
436      ae_state *_state);
437 void copyrealarray(/* Real    */ ae_vector* src,
438      /* Real    */ ae_vector* dst,
439      ae_state *_state);
440 void copyrealmatrix(/* Real    */ ae_matrix* src,
441      /* Real    */ ae_matrix* dst,
442      ae_state *_state);
443 void unsetintegerarray(/* Integer */ ae_vector* a, ae_state *_state);
444 void unsetrealarray(/* Real    */ ae_vector* a, ae_state *_state);
445 void unsetrealmatrix(/* Real    */ ae_matrix* a, ae_state *_state);
446 void tiledsplit(ae_int_t tasksize,
447      ae_int_t tilesize,
448      ae_int_t* task0,
449      ae_int_t* task1,
450      ae_state *_state);
451 ae_int_t recsearch(/* Integer */ ae_vector* a,
452      ae_int_t nrec,
453      ae_int_t nheader,
454      ae_int_t i0,
455      ae_int_t i1,
456      /* Integer */ ae_vector* b,
457      ae_state *_state);
458 void splitlengtheven(ae_int_t tasksize,
459      ae_int_t* task0,
460      ae_int_t* task1,
461      ae_state *_state);
462 ae_int_t chunkscount(ae_int_t tasksize,
463      ae_int_t chunksize,
464      ae_state *_state);
465 double sparselevel2density(ae_state *_state);
466 ae_int_t matrixtilesizea(ae_state *_state);
467 ae_int_t matrixtilesizeb(ae_state *_state);
468 double smpactivationlevel(ae_state *_state);
469 double spawnlevel(ae_state *_state);
470 void splitlength(ae_int_t tasksize,
471      ae_int_t chunksize,
472      ae_int_t* task0,
473      ae_int_t* task1,
474      ae_state *_state);
475 void _apbuffers_init(void* _p, ae_state *_state, ae_bool make_automatic);
476 void _apbuffers_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
477 void _apbuffers_clear(void* _p);
478 void _apbuffers_destroy(void* _p);
479 void _sboolean_init(void* _p, ae_state *_state, ae_bool make_automatic);
480 void _sboolean_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
481 void _sboolean_clear(void* _p);
482 void _sboolean_destroy(void* _p);
483 void _sbooleanarray_init(void* _p, ae_state *_state, ae_bool make_automatic);
484 void _sbooleanarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
485 void _sbooleanarray_clear(void* _p);
486 void _sbooleanarray_destroy(void* _p);
487 void _sinteger_init(void* _p, ae_state *_state, ae_bool make_automatic);
488 void _sinteger_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
489 void _sinteger_clear(void* _p);
490 void _sinteger_destroy(void* _p);
491 void _sintegerarray_init(void* _p, ae_state *_state, ae_bool make_automatic);
492 void _sintegerarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
493 void _sintegerarray_clear(void* _p);
494 void _sintegerarray_destroy(void* _p);
495 void _sreal_init(void* _p, ae_state *_state, ae_bool make_automatic);
496 void _sreal_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
497 void _sreal_clear(void* _p);
498 void _sreal_destroy(void* _p);
499 void _srealarray_init(void* _p, ae_state *_state, ae_bool make_automatic);
500 void _srealarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
501 void _srealarray_clear(void* _p);
502 void _srealarray_destroy(void* _p);
503 void _scomplex_init(void* _p, ae_state *_state, ae_bool make_automatic);
504 void _scomplex_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
505 void _scomplex_clear(void* _p);
506 void _scomplex_destroy(void* _p);
507 void _scomplexarray_init(void* _p, ae_state *_state, ae_bool make_automatic);
508 void _scomplexarray_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
509 void _scomplexarray_clear(void* _p);
510 void _scomplexarray_destroy(void* _p);
511 #endif
512 #if defined(AE_COMPILE_TSORT) || !defined(AE_PARTIAL_BUILD)
513 void tagsort(/* Real    */ ae_vector* a,
514      ae_int_t n,
515      /* Integer */ ae_vector* p1,
516      /* Integer */ ae_vector* p2,
517      ae_state *_state);
518 void tagsortbuf(/* Real    */ ae_vector* a,
519      ae_int_t n,
520      /* Integer */ ae_vector* p1,
521      /* Integer */ ae_vector* p2,
522      apbuffers* buf,
523      ae_state *_state);
524 void tagsortfasti(/* Real    */ ae_vector* a,
525      /* Integer */ ae_vector* b,
526      /* Real    */ ae_vector* bufa,
527      /* Integer */ ae_vector* bufb,
528      ae_int_t n,
529      ae_state *_state);
530 void tagsortfastr(/* Real    */ ae_vector* a,
531      /* Real    */ ae_vector* b,
532      /* Real    */ ae_vector* bufa,
533      /* Real    */ ae_vector* bufb,
534      ae_int_t n,
535      ae_state *_state);
536 void tagsortfast(/* Real    */ ae_vector* a,
537      /* Real    */ ae_vector* bufa,
538      ae_int_t n,
539      ae_state *_state);
540 void tagsortmiddleir(/* Integer */ ae_vector* a,
541      /* Real    */ ae_vector* b,
542      ae_int_t offset,
543      ae_int_t n,
544      ae_state *_state);
545 void sortmiddlei(/* Integer */ ae_vector* a,
546      ae_int_t offset,
547      ae_int_t n,
548      ae_state *_state);
549 void tagheappushi(/* Real    */ ae_vector* a,
550      /* Integer */ ae_vector* b,
551      ae_int_t* n,
552      double va,
553      ae_int_t vb,
554      ae_state *_state);
555 void tagheapreplacetopi(/* Real    */ ae_vector* a,
556      /* Integer */ ae_vector* b,
557      ae_int_t n,
558      double va,
559      ae_int_t vb,
560      ae_state *_state);
561 void tagheappopi(/* Real    */ ae_vector* a,
562      /* Integer */ ae_vector* b,
563      ae_int_t* n,
564      ae_state *_state);
565 ae_int_t lowerbound(/* Real    */ ae_vector* a,
566      ae_int_t n,
567      double t,
568      ae_state *_state);
569 ae_int_t upperbound(/* Real    */ ae_vector* a,
570      ae_int_t n,
571      double t,
572      ae_state *_state);
573 #endif
574 #if defined(AE_COMPILE_ABLASMKL) || !defined(AE_PARTIAL_BUILD)
575 ae_bool rmatrixgermkl(ae_int_t m,
576      ae_int_t n,
577      /* Real    */ ae_matrix* a,
578      ae_int_t ia,
579      ae_int_t ja,
580      double alpha,
581      /* Real    */ ae_vector* u,
582      ae_int_t iu,
583      /* Real    */ ae_vector* v,
584      ae_int_t iv,
585      ae_state *_state);
586 ae_bool cmatrixrank1mkl(ae_int_t m,
587      ae_int_t n,
588      /* Complex */ ae_matrix* a,
589      ae_int_t ia,
590      ae_int_t ja,
591      /* Complex */ ae_vector* u,
592      ae_int_t iu,
593      /* Complex */ ae_vector* v,
594      ae_int_t iv,
595      ae_state *_state);
596 ae_bool rmatrixrank1mkl(ae_int_t m,
597      ae_int_t n,
598      /* Real    */ ae_matrix* a,
599      ae_int_t ia,
600      ae_int_t ja,
601      /* Real    */ ae_vector* u,
602      ae_int_t iu,
603      /* Real    */ ae_vector* v,
604      ae_int_t iv,
605      ae_state *_state);
606 ae_bool cmatrixmvmkl(ae_int_t m,
607      ae_int_t n,
608      /* Complex */ ae_matrix* a,
609      ae_int_t ia,
610      ae_int_t ja,
611      ae_int_t opa,
612      /* Complex */ ae_vector* x,
613      ae_int_t ix,
614      /* Complex */ ae_vector* y,
615      ae_int_t iy,
616      ae_state *_state);
617 ae_bool rmatrixmvmkl(ae_int_t m,
618      ae_int_t n,
619      /* Real    */ ae_matrix* a,
620      ae_int_t ia,
621      ae_int_t ja,
622      ae_int_t opa,
623      /* Real    */ ae_vector* x,
624      ae_int_t ix,
625      /* Real    */ ae_vector* y,
626      ae_int_t iy,
627      ae_state *_state);
628 ae_bool rmatrixgemvmkl(ae_int_t m,
629      ae_int_t n,
630      double alpha,
631      /* Real    */ ae_matrix* a,
632      ae_int_t ia,
633      ae_int_t ja,
634      ae_int_t opa,
635      /* Real    */ ae_vector* x,
636      ae_int_t ix,
637      double beta,
638      /* Real    */ ae_vector* y,
639      ae_int_t iy,
640      ae_state *_state);
641 ae_bool rmatrixtrsvmkl(ae_int_t n,
642      /* Real    */ ae_matrix* a,
643      ae_int_t ia,
644      ae_int_t ja,
645      ae_bool isupper,
646      ae_bool isunit,
647      ae_int_t optype,
648      /* Real    */ ae_vector* x,
649      ae_int_t ix,
650      ae_state *_state);
651 ae_bool rmatrixsyrkmkl(ae_int_t n,
652      ae_int_t k,
653      double alpha,
654      /* Real    */ ae_matrix* a,
655      ae_int_t ia,
656      ae_int_t ja,
657      ae_int_t optypea,
658      double beta,
659      /* Real    */ ae_matrix* c,
660      ae_int_t ic,
661      ae_int_t jc,
662      ae_bool isupper,
663      ae_state *_state);
664 ae_bool cmatrixherkmkl(ae_int_t n,
665      ae_int_t k,
666      double alpha,
667      /* Complex */ ae_matrix* a,
668      ae_int_t ia,
669      ae_int_t ja,
670      ae_int_t optypea,
671      double beta,
672      /* Complex */ ae_matrix* c,
673      ae_int_t ic,
674      ae_int_t jc,
675      ae_bool isupper,
676      ae_state *_state);
677 ae_bool rmatrixgemmmkl(ae_int_t m,
678      ae_int_t n,
679      ae_int_t k,
680      double alpha,
681      /* Real    */ ae_matrix* a,
682      ae_int_t ia,
683      ae_int_t ja,
684      ae_int_t optypea,
685      /* Real    */ ae_matrix* b,
686      ae_int_t ib,
687      ae_int_t jb,
688      ae_int_t optypeb,
689      double beta,
690      /* Real    */ ae_matrix* c,
691      ae_int_t ic,
692      ae_int_t jc,
693      ae_state *_state);
694 ae_bool rmatrixsymvmkl(ae_int_t n,
695      double alpha,
696      /* Real    */ ae_matrix* a,
697      ae_int_t ia,
698      ae_int_t ja,
699      ae_bool isupper,
700      /* Real    */ ae_vector* x,
701      ae_int_t ix,
702      double beta,
703      /* Real    */ ae_vector* y,
704      ae_int_t iy,
705      ae_state *_state);
706 ae_bool cmatrixgemmmkl(ae_int_t m,
707      ae_int_t n,
708      ae_int_t k,
709      ae_complex alpha,
710      /* Complex */ ae_matrix* a,
711      ae_int_t ia,
712      ae_int_t ja,
713      ae_int_t optypea,
714      /* Complex */ ae_matrix* b,
715      ae_int_t ib,
716      ae_int_t jb,
717      ae_int_t optypeb,
718      ae_complex beta,
719      /* Complex */ ae_matrix* c,
720      ae_int_t ic,
721      ae_int_t jc,
722      ae_state *_state);
723 ae_bool cmatrixlefttrsmmkl(ae_int_t m,
724      ae_int_t n,
725      /* Complex */ ae_matrix* a,
726      ae_int_t i1,
727      ae_int_t j1,
728      ae_bool isupper,
729      ae_bool isunit,
730      ae_int_t optype,
731      /* Complex */ ae_matrix* x,
732      ae_int_t i2,
733      ae_int_t j2,
734      ae_state *_state);
735 ae_bool cmatrixrighttrsmmkl(ae_int_t m,
736      ae_int_t n,
737      /* Complex */ ae_matrix* a,
738      ae_int_t i1,
739      ae_int_t j1,
740      ae_bool isupper,
741      ae_bool isunit,
742      ae_int_t optype,
743      /* Complex */ ae_matrix* x,
744      ae_int_t i2,
745      ae_int_t j2,
746      ae_state *_state);
747 ae_bool rmatrixlefttrsmmkl(ae_int_t m,
748      ae_int_t n,
749      /* Real    */ ae_matrix* a,
750      ae_int_t i1,
751      ae_int_t j1,
752      ae_bool isupper,
753      ae_bool isunit,
754      ae_int_t optype,
755      /* Real    */ ae_matrix* x,
756      ae_int_t i2,
757      ae_int_t j2,
758      ae_state *_state);
759 ae_bool rmatrixrighttrsmmkl(ae_int_t m,
760      ae_int_t n,
761      /* Real    */ ae_matrix* a,
762      ae_int_t i1,
763      ae_int_t j1,
764      ae_bool isupper,
765      ae_bool isunit,
766      ae_int_t optype,
767      /* Real    */ ae_matrix* x,
768      ae_int_t i2,
769      ae_int_t j2,
770      ae_state *_state);
771 ae_bool spdmatrixcholeskymkl(/* Real    */ ae_matrix* a,
772      ae_int_t offs,
773      ae_int_t n,
774      ae_bool isupper,
775      ae_bool* cholresult,
776      ae_state *_state);
777 ae_bool rmatrixplumkl(/* Real    */ ae_matrix* a,
778      ae_int_t offs,
779      ae_int_t m,
780      ae_int_t n,
781      /* Integer */ ae_vector* pivots,
782      ae_state *_state);
783 ae_bool rmatrixbdmkl(/* Real    */ ae_matrix* a,
784      ae_int_t m,
785      ae_int_t n,
786      /* Real    */ ae_vector* d,
787      /* Real    */ ae_vector* e,
788      /* Real    */ ae_vector* tauq,
789      /* Real    */ ae_vector* taup,
790      ae_state *_state);
791 ae_bool rmatrixbdmultiplybymkl(/* Real    */ ae_matrix* qp,
792      ae_int_t m,
793      ae_int_t n,
794      /* Real    */ ae_vector* tauq,
795      /* Real    */ ae_vector* taup,
796      /* Real    */ ae_matrix* z,
797      ae_int_t zrows,
798      ae_int_t zcolumns,
799      ae_bool byq,
800      ae_bool fromtheright,
801      ae_bool dotranspose,
802      ae_state *_state);
803 ae_bool rmatrixhessenbergmkl(/* Real    */ ae_matrix* a,
804      ae_int_t n,
805      /* Real    */ ae_vector* tau,
806      ae_state *_state);
807 ae_bool rmatrixhessenbergunpackqmkl(/* Real    */ ae_matrix* a,
808      ae_int_t n,
809      /* Real    */ ae_vector* tau,
810      /* Real    */ ae_matrix* q,
811      ae_state *_state);
812 ae_bool smatrixtdmkl(/* Real    */ ae_matrix* a,
813      ae_int_t n,
814      ae_bool isupper,
815      /* Real    */ ae_vector* tau,
816      /* Real    */ ae_vector* d,
817      /* Real    */ ae_vector* e,
818      ae_state *_state);
819 ae_bool smatrixtdunpackqmkl(/* Real    */ ae_matrix* a,
820      ae_int_t n,
821      ae_bool isupper,
822      /* Real    */ ae_vector* tau,
823      /* Real    */ ae_matrix* q,
824      ae_state *_state);
825 ae_bool hmatrixtdmkl(/* Complex */ ae_matrix* a,
826      ae_int_t n,
827      ae_bool isupper,
828      /* Complex */ ae_vector* tau,
829      /* Real    */ ae_vector* d,
830      /* Real    */ ae_vector* e,
831      ae_state *_state);
832 ae_bool hmatrixtdunpackqmkl(/* Complex */ ae_matrix* a,
833      ae_int_t n,
834      ae_bool isupper,
835      /* Complex */ ae_vector* tau,
836      /* Complex */ ae_matrix* q,
837      ae_state *_state);
838 ae_bool rmatrixbdsvdmkl(/* Real    */ ae_vector* d,
839      /* Real    */ ae_vector* e,
840      ae_int_t n,
841      ae_bool isupper,
842      /* Real    */ ae_matrix* u,
843      ae_int_t nru,
844      /* Real    */ ae_matrix* c,
845      ae_int_t ncc,
846      /* Real    */ ae_matrix* vt,
847      ae_int_t ncvt,
848      ae_bool* svdresult,
849      ae_state *_state);
850 ae_bool rmatrixinternalschurdecompositionmkl(/* Real    */ ae_matrix* h,
851      ae_int_t n,
852      ae_int_t tneeded,
853      ae_int_t zneeded,
854      /* Real    */ ae_vector* wr,
855      /* Real    */ ae_vector* wi,
856      /* Real    */ ae_matrix* z,
857      ae_int_t* info,
858      ae_state *_state);
859 ae_bool rmatrixinternaltrevcmkl(/* Real    */ ae_matrix* t,
860      ae_int_t n,
861      ae_int_t side,
862      ae_int_t howmny,
863      /* Real    */ ae_matrix* vl,
864      /* Real    */ ae_matrix* vr,
865      ae_int_t* m,
866      ae_int_t* info,
867      ae_state *_state);
868 ae_bool smatrixtdevdmkl(/* Real    */ ae_vector* d,
869      /* Real    */ ae_vector* e,
870      ae_int_t n,
871      ae_int_t zneeded,
872      /* Real    */ ae_matrix* z,
873      ae_bool* evdresult,
874      ae_state *_state);
875 ae_bool sparsegemvcrsmkl(ae_int_t opa,
876      ae_int_t arows,
877      ae_int_t acols,
878      double alpha,
879      /* Real    */ ae_vector* vals,
880      /* Integer */ ae_vector* cidx,
881      /* Integer */ ae_vector* ridx,
882      /* Real    */ ae_vector* x,
883      ae_int_t ix,
884      double beta,
885      /* Real    */ ae_vector* y,
886      ae_int_t iy,
887      ae_state *_state);
888 #endif
889 #if defined(AE_COMPILE_ABLASF) || !defined(AE_PARTIAL_BUILD)
890 ae_bool rmatrixgerf(ae_int_t m,
891      ae_int_t n,
892      /* Real    */ ae_matrix* a,
893      ae_int_t ia,
894      ae_int_t ja,
895      double ralpha,
896      /* Real    */ ae_vector* u,
897      ae_int_t iu,
898      /* Real    */ ae_vector* v,
899      ae_int_t iv,
900      ae_state *_state);
901 ae_bool cmatrixrank1f(ae_int_t m,
902      ae_int_t n,
903      /* Complex */ ae_matrix* a,
904      ae_int_t ia,
905      ae_int_t ja,
906      /* Complex */ ae_vector* u,
907      ae_int_t iu,
908      /* Complex */ ae_vector* v,
909      ae_int_t iv,
910      ae_state *_state);
911 ae_bool rmatrixrank1f(ae_int_t m,
912      ae_int_t n,
913      /* Real    */ ae_matrix* a,
914      ae_int_t ia,
915      ae_int_t ja,
916      /* Real    */ ae_vector* u,
917      ae_int_t iu,
918      /* Real    */ ae_vector* v,
919      ae_int_t iv,
920      ae_state *_state);
921 ae_bool cmatrixrighttrsmf(ae_int_t m,
922      ae_int_t n,
923      /* Complex */ ae_matrix* a,
924      ae_int_t i1,
925      ae_int_t j1,
926      ae_bool isupper,
927      ae_bool isunit,
928      ae_int_t optype,
929      /* Complex */ ae_matrix* x,
930      ae_int_t i2,
931      ae_int_t j2,
932      ae_state *_state);
933 ae_bool cmatrixlefttrsmf(ae_int_t m,
934      ae_int_t n,
935      /* Complex */ ae_matrix* a,
936      ae_int_t i1,
937      ae_int_t j1,
938      ae_bool isupper,
939      ae_bool isunit,
940      ae_int_t optype,
941      /* Complex */ ae_matrix* x,
942      ae_int_t i2,
943      ae_int_t j2,
944      ae_state *_state);
945 ae_bool rmatrixrighttrsmf(ae_int_t m,
946      ae_int_t n,
947      /* Real    */ ae_matrix* a,
948      ae_int_t i1,
949      ae_int_t j1,
950      ae_bool isupper,
951      ae_bool isunit,
952      ae_int_t optype,
953      /* Real    */ ae_matrix* x,
954      ae_int_t i2,
955      ae_int_t j2,
956      ae_state *_state);
957 ae_bool rmatrixlefttrsmf(ae_int_t m,
958      ae_int_t n,
959      /* Real    */ ae_matrix* a,
960      ae_int_t i1,
961      ae_int_t j1,
962      ae_bool isupper,
963      ae_bool isunit,
964      ae_int_t optype,
965      /* Real    */ ae_matrix* x,
966      ae_int_t i2,
967      ae_int_t j2,
968      ae_state *_state);
969 ae_bool cmatrixherkf(ae_int_t n,
970      ae_int_t k,
971      double alpha,
972      /* Complex */ ae_matrix* a,
973      ae_int_t ia,
974      ae_int_t ja,
975      ae_int_t optypea,
976      double beta,
977      /* Complex */ ae_matrix* c,
978      ae_int_t ic,
979      ae_int_t jc,
980      ae_bool isupper,
981      ae_state *_state);
982 ae_bool rmatrixsyrkf(ae_int_t n,
983      ae_int_t k,
984      double alpha,
985      /* Real    */ ae_matrix* a,
986      ae_int_t ia,
987      ae_int_t ja,
988      ae_int_t optypea,
989      double beta,
990      /* Real    */ ae_matrix* c,
991      ae_int_t ic,
992      ae_int_t jc,
993      ae_bool isupper,
994      ae_state *_state);
995 ae_bool rmatrixgemmf(ae_int_t m,
996      ae_int_t n,
997      ae_int_t k,
998      double alpha,
999      /* Real    */ ae_matrix* a,
1000      ae_int_t ia,
1001      ae_int_t ja,
1002      ae_int_t optypea,
1003      /* Real    */ ae_matrix* b,
1004      ae_int_t ib,
1005      ae_int_t jb,
1006      ae_int_t optypeb,
1007      double beta,
1008      /* Real    */ ae_matrix* c,
1009      ae_int_t ic,
1010      ae_int_t jc,
1011      ae_state *_state);
1012 ae_bool cmatrixgemmf(ae_int_t m,
1013      ae_int_t n,
1014      ae_int_t k,
1015      ae_complex alpha,
1016      /* Complex */ ae_matrix* a,
1017      ae_int_t ia,
1018      ae_int_t ja,
1019      ae_int_t optypea,
1020      /* Complex */ ae_matrix* b,
1021      ae_int_t ib,
1022      ae_int_t jb,
1023      ae_int_t optypeb,
1024      ae_complex beta,
1025      /* Complex */ ae_matrix* c,
1026      ae_int_t ic,
1027      ae_int_t jc,
1028      ae_state *_state);
1029 void cmatrixgemmk(ae_int_t m,
1030      ae_int_t n,
1031      ae_int_t k,
1032      ae_complex alpha,
1033      /* Complex */ ae_matrix* a,
1034      ae_int_t ia,
1035      ae_int_t ja,
1036      ae_int_t optypea,
1037      /* Complex */ ae_matrix* b,
1038      ae_int_t ib,
1039      ae_int_t jb,
1040      ae_int_t optypeb,
1041      ae_complex beta,
1042      /* Complex */ ae_matrix* c,
1043      ae_int_t ic,
1044      ae_int_t jc,
1045      ae_state *_state);
1046 void rmatrixgemmk(ae_int_t m,
1047      ae_int_t n,
1048      ae_int_t k,
1049      double alpha,
1050      /* Real    */ ae_matrix* a,
1051      ae_int_t ia,
1052      ae_int_t ja,
1053      ae_int_t optypea,
1054      /* Real    */ ae_matrix* b,
1055      ae_int_t ib,
1056      ae_int_t jb,
1057      ae_int_t optypeb,
1058      double beta,
1059      /* Real    */ ae_matrix* c,
1060      ae_int_t ic,
1061      ae_int_t jc,
1062      ae_state *_state);
1063 void rmatrixgemmk44v00(ae_int_t m,
1064      ae_int_t n,
1065      ae_int_t k,
1066      double alpha,
1067      /* Real    */ ae_matrix* a,
1068      ae_int_t ia,
1069      ae_int_t ja,
1070      /* Real    */ ae_matrix* b,
1071      ae_int_t ib,
1072      ae_int_t jb,
1073      double beta,
1074      /* Real    */ ae_matrix* c,
1075      ae_int_t ic,
1076      ae_int_t jc,
1077      ae_state *_state);
1078 void rmatrixgemmk44v01(ae_int_t m,
1079      ae_int_t n,
1080      ae_int_t k,
1081      double alpha,
1082      /* Real    */ ae_matrix* a,
1083      ae_int_t ia,
1084      ae_int_t ja,
1085      /* Real    */ ae_matrix* b,
1086      ae_int_t ib,
1087      ae_int_t jb,
1088      double beta,
1089      /* Real    */ ae_matrix* c,
1090      ae_int_t ic,
1091      ae_int_t jc,
1092      ae_state *_state);
1093 void rmatrixgemmk44v10(ae_int_t m,
1094      ae_int_t n,
1095      ae_int_t k,
1096      double alpha,
1097      /* Real    */ ae_matrix* a,
1098      ae_int_t ia,
1099      ae_int_t ja,
1100      /* Real    */ ae_matrix* b,
1101      ae_int_t ib,
1102      ae_int_t jb,
1103      double beta,
1104      /* Real    */ ae_matrix* c,
1105      ae_int_t ic,
1106      ae_int_t jc,
1107      ae_state *_state);
1108 void rmatrixgemmk44v11(ae_int_t m,
1109      ae_int_t n,
1110      ae_int_t k,
1111      double alpha,
1112      /* Real    */ ae_matrix* a,
1113      ae_int_t ia,
1114      ae_int_t ja,
1115      /* Real    */ ae_matrix* b,
1116      ae_int_t ib,
1117      ae_int_t jb,
1118      double beta,
1119      /* Real    */ ae_matrix* c,
1120      ae_int_t ic,
1121      ae_int_t jc,
1122      ae_state *_state);
1123 #endif
1124 #if defined(AE_COMPILE_CREFLECTIONS) || !defined(AE_PARTIAL_BUILD)
1125 void complexgeneratereflection(/* Complex */ ae_vector* x,
1126      ae_int_t n,
1127      ae_complex* tau,
1128      ae_state *_state);
1129 void complexapplyreflectionfromtheleft(/* Complex */ ae_matrix* c,
1130      ae_complex tau,
1131      /* Complex */ ae_vector* v,
1132      ae_int_t m1,
1133      ae_int_t m2,
1134      ae_int_t n1,
1135      ae_int_t n2,
1136      /* Complex */ ae_vector* work,
1137      ae_state *_state);
1138 void complexapplyreflectionfromtheright(/* Complex */ ae_matrix* c,
1139      ae_complex tau,
1140      /* Complex */ ae_vector* v,
1141      ae_int_t m1,
1142      ae_int_t m2,
1143      ae_int_t n1,
1144      ae_int_t n2,
1145      /* Complex */ ae_vector* work,
1146      ae_state *_state);
1147 #endif
1148 #if defined(AE_COMPILE_ROTATIONS) || !defined(AE_PARTIAL_BUILD)
1149 void applyrotationsfromtheleft(ae_bool isforward,
1150      ae_int_t m1,
1151      ae_int_t m2,
1152      ae_int_t n1,
1153      ae_int_t n2,
1154      /* Real    */ ae_vector* c,
1155      /* Real    */ ae_vector* s,
1156      /* Real    */ ae_matrix* a,
1157      /* Real    */ ae_vector* work,
1158      ae_state *_state);
1159 void applyrotationsfromtheright(ae_bool isforward,
1160      ae_int_t m1,
1161      ae_int_t m2,
1162      ae_int_t n1,
1163      ae_int_t n2,
1164      /* Real    */ ae_vector* c,
1165      /* Real    */ ae_vector* s,
1166      /* Real    */ ae_matrix* a,
1167      /* Real    */ ae_vector* work,
1168      ae_state *_state);
1169 void generaterotation(double f,
1170      double g,
1171      double* cs,
1172      double* sn,
1173      double* r,
1174      ae_state *_state);
1175 #endif
1176 #if defined(AE_COMPILE_TRLINSOLVE) || !defined(AE_PARTIAL_BUILD)
1177 void rmatrixtrsafesolve(/* Real    */ ae_matrix* a,
1178      ae_int_t n,
1179      /* Real    */ ae_vector* x,
1180      double* s,
1181      ae_bool isupper,
1182      ae_bool istrans,
1183      ae_bool isunit,
1184      ae_state *_state);
1185 void safesolvetriangular(/* Real    */ ae_matrix* a,
1186      ae_int_t n,
1187      /* Real    */ ae_vector* x,
1188      double* s,
1189      ae_bool isupper,
1190      ae_bool istrans,
1191      ae_bool isunit,
1192      ae_bool normin,
1193      /* Real    */ ae_vector* cnorm,
1194      ae_state *_state);
1195 #endif
1196 #if defined(AE_COMPILE_SAFESOLVE) || !defined(AE_PARTIAL_BUILD)
1197 ae_bool rmatrixscaledtrsafesolve(/* Real    */ ae_matrix* a,
1198      double sa,
1199      ae_int_t n,
1200      /* Real    */ ae_vector* x,
1201      ae_bool isupper,
1202      ae_int_t trans,
1203      ae_bool isunit,
1204      double maxgrowth,
1205      ae_state *_state);
1206 ae_bool cmatrixscaledtrsafesolve(/* Complex */ ae_matrix* a,
1207      double sa,
1208      ae_int_t n,
1209      /* Complex */ ae_vector* x,
1210      ae_bool isupper,
1211      ae_int_t trans,
1212      ae_bool isunit,
1213      double maxgrowth,
1214      ae_state *_state);
1215 #endif
1216 #if defined(AE_COMPILE_HBLAS) || !defined(AE_PARTIAL_BUILD)
1217 void hermitianmatrixvectormultiply(/* Complex */ ae_matrix* a,
1218      ae_bool isupper,
1219      ae_int_t i1,
1220      ae_int_t i2,
1221      /* Complex */ ae_vector* x,
1222      ae_complex alpha,
1223      /* Complex */ ae_vector* y,
1224      ae_state *_state);
1225 void hermitianrank2update(/* Complex */ ae_matrix* a,
1226      ae_bool isupper,
1227      ae_int_t i1,
1228      ae_int_t i2,
1229      /* Complex */ ae_vector* x,
1230      /* Complex */ ae_vector* y,
1231      /* Complex */ ae_vector* t,
1232      ae_complex alpha,
1233      ae_state *_state);
1234 #endif
1235 #if defined(AE_COMPILE_SBLAS) || !defined(AE_PARTIAL_BUILD)
1236 void symmetricmatrixvectormultiply(/* Real    */ ae_matrix* a,
1237      ae_bool isupper,
1238      ae_int_t i1,
1239      ae_int_t i2,
1240      /* Real    */ ae_vector* x,
1241      double alpha,
1242      /* Real    */ ae_vector* y,
1243      ae_state *_state);
1244 void symmetricrank2update(/* Real    */ ae_matrix* a,
1245      ae_bool isupper,
1246      ae_int_t i1,
1247      ae_int_t i2,
1248      /* Real    */ ae_vector* x,
1249      /* Real    */ ae_vector* y,
1250      /* Real    */ ae_vector* t,
1251      double alpha,
1252      ae_state *_state);
1253 #endif
1254 #if defined(AE_COMPILE_BLAS) || !defined(AE_PARTIAL_BUILD)
1255 double vectornorm2(/* Real    */ ae_vector* x,
1256      ae_int_t i1,
1257      ae_int_t i2,
1258      ae_state *_state);
1259 ae_int_t vectoridxabsmax(/* Real    */ ae_vector* x,
1260      ae_int_t i1,
1261      ae_int_t i2,
1262      ae_state *_state);
1263 ae_int_t columnidxabsmax(/* Real    */ ae_matrix* x,
1264      ae_int_t i1,
1265      ae_int_t i2,
1266      ae_int_t j,
1267      ae_state *_state);
1268 ae_int_t rowidxabsmax(/* Real    */ ae_matrix* x,
1269      ae_int_t j1,
1270      ae_int_t j2,
1271      ae_int_t i,
1272      ae_state *_state);
1273 double upperhessenberg1norm(/* Real    */ ae_matrix* a,
1274      ae_int_t i1,
1275      ae_int_t i2,
1276      ae_int_t j1,
1277      ae_int_t j2,
1278      /* Real    */ ae_vector* work,
1279      ae_state *_state);
1280 void copymatrix(/* Real    */ ae_matrix* a,
1281      ae_int_t is1,
1282      ae_int_t is2,
1283      ae_int_t js1,
1284      ae_int_t js2,
1285      /* Real    */ ae_matrix* b,
1286      ae_int_t id1,
1287      ae_int_t id2,
1288      ae_int_t jd1,
1289      ae_int_t jd2,
1290      ae_state *_state);
1291 void inplacetranspose(/* Real    */ ae_matrix* a,
1292      ae_int_t i1,
1293      ae_int_t i2,
1294      ae_int_t j1,
1295      ae_int_t j2,
1296      /* Real    */ ae_vector* work,
1297      ae_state *_state);
1298 void copyandtranspose(/* Real    */ ae_matrix* a,
1299      ae_int_t is1,
1300      ae_int_t is2,
1301      ae_int_t js1,
1302      ae_int_t js2,
1303      /* Real    */ ae_matrix* b,
1304      ae_int_t id1,
1305      ae_int_t id2,
1306      ae_int_t jd1,
1307      ae_int_t jd2,
1308      ae_state *_state);
1309 void matrixvectormultiply(/* Real    */ ae_matrix* a,
1310      ae_int_t i1,
1311      ae_int_t i2,
1312      ae_int_t j1,
1313      ae_int_t j2,
1314      ae_bool trans,
1315      /* Real    */ ae_vector* x,
1316      ae_int_t ix1,
1317      ae_int_t ix2,
1318      double alpha,
1319      /* Real    */ ae_vector* y,
1320      ae_int_t iy1,
1321      ae_int_t iy2,
1322      double beta,
1323      ae_state *_state);
1324 double pythag2(double x, double y, ae_state *_state);
1325 void matrixmatrixmultiply(/* Real    */ ae_matrix* a,
1326      ae_int_t ai1,
1327      ae_int_t ai2,
1328      ae_int_t aj1,
1329      ae_int_t aj2,
1330      ae_bool transa,
1331      /* Real    */ ae_matrix* b,
1332      ae_int_t bi1,
1333      ae_int_t bi2,
1334      ae_int_t bj1,
1335      ae_int_t bj2,
1336      ae_bool transb,
1337      double alpha,
1338      /* Real    */ ae_matrix* c,
1339      ae_int_t ci1,
1340      ae_int_t ci2,
1341      ae_int_t cj1,
1342      ae_int_t cj2,
1343      double beta,
1344      /* Real    */ ae_vector* work,
1345      ae_state *_state);
1346 #endif
1347 #if defined(AE_COMPILE_LINMIN) || !defined(AE_PARTIAL_BUILD)
1348 void linminnormalized(/* Real    */ ae_vector* d,
1349      double* stp,
1350      ae_int_t n,
1351      ae_state *_state);
1352 void mcsrch(ae_int_t n,
1353      /* Real    */ ae_vector* x,
1354      double* f,
1355      /* Real    */ ae_vector* g,
1356      /* Real    */ ae_vector* s,
1357      double* stp,
1358      double stpmax,
1359      double gtol,
1360      ae_int_t* info,
1361      ae_int_t* nfev,
1362      /* Real    */ ae_vector* wa,
1363      linminstate* state,
1364      ae_int_t* stage,
1365      ae_state *_state);
1366 void armijocreate(ae_int_t n,
1367      /* Real    */ ae_vector* x,
1368      double f,
1369      /* Real    */ ae_vector* s,
1370      double stp,
1371      double stpmax,
1372      ae_int_t fmax,
1373      armijostate* state,
1374      ae_state *_state);
1375 ae_bool armijoiteration(armijostate* state, ae_state *_state);
1376 void armijoresults(armijostate* state,
1377      ae_int_t* info,
1378      double* stp,
1379      double* f,
1380      ae_state *_state);
1381 void _linminstate_init(void* _p, ae_state *_state, ae_bool make_automatic);
1382 void _linminstate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
1383 void _linminstate_clear(void* _p);
1384 void _linminstate_destroy(void* _p);
1385 void _armijostate_init(void* _p, ae_state *_state, ae_bool make_automatic);
1386 void _armijostate_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
1387 void _armijostate_clear(void* _p);
1388 void _armijostate_destroy(void* _p);
1389 #endif
1390 #if defined(AE_COMPILE_XBLAS) || !defined(AE_PARTIAL_BUILD)
1391 void xdot(/* Real    */ ae_vector* a,
1392      /* Real    */ ae_vector* b,
1393      ae_int_t n,
1394      /* Real    */ ae_vector* temp,
1395      double* r,
1396      double* rerr,
1397      ae_state *_state);
1398 void xcdot(/* Complex */ ae_vector* a,
1399      /* Complex */ ae_vector* b,
1400      ae_int_t n,
1401      /* Real    */ ae_vector* temp,
1402      ae_complex* r,
1403      double* rerr,
1404      ae_state *_state);
1405 #endif
1406 #if defined(AE_COMPILE_BASICSTATOPS) || !defined(AE_PARTIAL_BUILD)
1407 void rankx(/* Real    */ ae_vector* x,
1408      ae_int_t n,
1409      ae_bool iscentered,
1410      apbuffers* buf,
1411      ae_state *_state);
1412 void rankxuntied(/* Real    */ ae_vector* x,
1413      ae_int_t n,
1414      apbuffers* buf,
1415      ae_state *_state);
1416 #endif
1417 #if defined(AE_COMPILE_HPCCORES) || !defined(AE_PARTIAL_BUILD)
1418 void hpcpreparechunkedgradient(/* Real    */ ae_vector* weights,
1419      ae_int_t wcount,
1420      ae_int_t ntotal,
1421      ae_int_t nin,
1422      ae_int_t nout,
1423      mlpbuffers* buf,
1424      ae_state *_state);
1425 void hpcfinalizechunkedgradient(mlpbuffers* buf,
1426      /* Real    */ ae_vector* grad,
1427      ae_state *_state);
1428 ae_bool hpcchunkedgradient(/* Real    */ ae_vector* weights,
1429      /* Integer */ ae_vector* structinfo,
1430      /* Real    */ ae_vector* columnmeans,
1431      /* Real    */ ae_vector* columnsigmas,
1432      /* Real    */ ae_matrix* xy,
1433      ae_int_t cstart,
1434      ae_int_t csize,
1435      /* Real    */ ae_vector* batch4buf,
1436      /* Real    */ ae_vector* hpcbuf,
1437      double* e,
1438      ae_bool naturalerrorfunc,
1439      ae_state *_state);
1440 ae_bool hpcchunkedprocess(/* Real    */ ae_vector* weights,
1441      /* Integer */ ae_vector* structinfo,
1442      /* Real    */ ae_vector* columnmeans,
1443      /* Real    */ ae_vector* columnsigmas,
1444      /* Real    */ ae_matrix* xy,
1445      ae_int_t cstart,
1446      ae_int_t csize,
1447      /* Real    */ ae_vector* batch4buf,
1448      /* Real    */ ae_vector* hpcbuf,
1449      ae_state *_state);
1450 void _mlpbuffers_init(void* _p, ae_state *_state, ae_bool make_automatic);
1451 void _mlpbuffers_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
1452 void _mlpbuffers_clear(void* _p);
1453 void _mlpbuffers_destroy(void* _p);
1454 #endif
1455 #if defined(AE_COMPILE_NTHEORY) || !defined(AE_PARTIAL_BUILD)
1456 void findprimitiverootandinverse(ae_int_t n,
1457      ae_int_t* proot,
1458      ae_int_t* invproot,
1459      ae_state *_state);
1460 #endif
1461 #if defined(AE_COMPILE_FTBASE) || !defined(AE_PARTIAL_BUILD)
1462 void ftcomplexfftplan(ae_int_t n,
1463      ae_int_t k,
1464      fasttransformplan* plan,
1465      ae_state *_state);
1466 void ftapplyplan(fasttransformplan* plan,
1467      /* Real    */ ae_vector* a,
1468      ae_int_t offsa,
1469      ae_int_t repcnt,
1470      ae_state *_state);
1471 void ftbasefactorize(ae_int_t n,
1472      ae_int_t tasktype,
1473      ae_int_t* n1,
1474      ae_int_t* n2,
1475      ae_state *_state);
1476 ae_bool ftbaseissmooth(ae_int_t n, ae_state *_state);
1477 ae_int_t ftbasefindsmooth(ae_int_t n, ae_state *_state);
1478 ae_int_t ftbasefindsmootheven(ae_int_t n, ae_state *_state);
1479 double ftbasegetflopestimate(ae_int_t n, ae_state *_state);
1480 void _fasttransformplan_init(void* _p, ae_state *_state, ae_bool make_automatic);
1481 void _fasttransformplan_init_copy(void* _dst, void* _src, ae_state *_state, ae_bool make_automatic);
1482 void _fasttransformplan_clear(void* _p);
1483 void _fasttransformplan_destroy(void* _p);
1484 #endif
1485 #if defined(AE_COMPILE_NEARUNITYUNIT) || !defined(AE_PARTIAL_BUILD)
1486 double nulog1p(double x, ae_state *_state);
1487 double nuexpm1(double x, ae_state *_state);
1488 double nucosm1(double x, ae_state *_state);
1489 #endif
1490 #if defined(AE_COMPILE_ALGLIBBASICS) || !defined(AE_PARTIAL_BUILD)
1491 #endif
1492 
1493 }
1494 #endif
1495 
1496