Class documentation of Concepts

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