CVM Class Library  8.1
This C++ class library encapsulates concepts of vector and different matrices including square, band, symmetric and hermitian ones in Euclidean space of real and complex numbers.
 All Classes Files Functions Variables Typedefs Friends Macros Pages
blas.h
Go to the documentation of this file.
1 // CVM Class Library
2 // http://cvmlib.com
3 //
4 // Copyright Sergei Nikolaev 1992-2014
5 // Distributed under the Boost Software License, Version 1.0.
6 // (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8 
9 
10 #ifndef _BLAS_H
11 #define _BLAS_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #if defined (_MSC_VER)
18 # if defined (CVM_ACML)
19 # define CVM_FTN_CALL
20 # define CVM_STD_CALL
21 # else
22 # define CVM_FTN_CALL __stdcall
23 # define CVM_STD_CALL __stdcall
24 # endif
25 #else
26 # if defined (__BORLANDC__)
27 
28 # define CVM_FTN_CALL __stdcall
29 # define CVM_STD_CALL
30 
31 // blas & lapack stuff
32 
33 # define ISAMAX isamax
34 # define IDAMAX idamax
35 # define ISAMIN isamin
36 # define IDAMIN idamin
37 
38 # define ICAMAX icamax
39 # define IZAMAX izamax
40 # define ICAMIN icamin
41 # define IZAMIN izamin
42 
43 # define SNRM2 snrm2
44 # define DNRM2 dnrm2
45 # define SCNRM2 scnrm2
46 # define DZNRM2 dznrm2
47 
48 # define SSWAP sswap
49 # define DSWAP dswap
50 # define CSWAP cswap
51 # define ZSWAP zswap
52 
53 # define SDOT sdot
54 # define DDOT ddot
55 
56 // complex dot wrappers:
57 
58 # if defined (CVM_COMPLEX_NUMBER_RETURNED)
59 # define VCDOTU cdotu
60 # define VZDOTU zdotu
61 # define VCDOTC cdotc
62 # define VZDOTC zdotc
63 # else
64 # define VCDOTU vcdotu
65 # define VZDOTU vzdotu
66 # define VCDOTC vcdotc
67 # define VZDOTC vzdotc
68 # endif
69 
70 # define SAXPY saxpy
71 # define DAXPY daxpy
72 # define CAXPY caxpy
73 # define ZAXPY zaxpy
74 
75 # define SCOPY scopy
76 # define DCOPY dcopy
77 # define CCOPY ccopy
78 # define ZCOPY zcopy
79 
80 # define SSCAL sscal
81 # define DSCAL dscal
82 # define CSCAL cscal
83 # define ZSCAL zscal
84 
85 # define CLACGV clacgv
86 # define ZLACGV zlacgv
87 
88 # define CSSCAL csscal
89 # define ZDSCAL zdscal
90 
91 # define SGER sger
92 # define DGER dger
93 
94 # define CGERU cgeru
95 # define ZGERU zgeru
96 
97 # define CGERC cgerc
98 # define ZGERC zgerc
99 
100 # define SGEMV sgemv
101 # define DGEMV dgemv
102 # define CGEMV cgemv
103 # define ZGEMV zgemv
104 
105 # define SGBMV sgbmv
106 # define DGBMV dgbmv
107 # define CGBMV cgbmv
108 # define ZGBMV zgbmv
109 
110 # define SGEMM sgemm
111 # define DGEMM dgemm
112 # define CGEMM cgemm
113 # define ZGEMM zgemm
114 
115 # define SGETRF sgetrf
116 # define DGETRF dgetrf
117 # define CGETRF cgetrf
118 # define ZGETRF zgetrf
119 
120 # define SGBTRF sgbtrf
121 # define DGBTRF dgbtrf
122 # define CGBTRF cgbtrf
123 # define ZGBTRF zgbtrf
124 
125 # define SGETRS sgetrs
126 # define DGETRS dgetrs
127 # define CGETRS cgetrs
128 # define ZGETRS zgetrs
129 
130 # define SGBTRS sgbtrs
131 # define DGBTRS dgbtrs
132 # define CGBTRS cgbtrs
133 # define ZGBTRS zgbtrs
134 
135 # define SGERFS sgerfs
136 # define DGERFS dgerfs
137 # define CGERFS cgerfs
138 # define ZGERFS zgerfs
139 
140 # define SGBRFS sgbrfs
141 # define DGBRFS dgbrfs
142 # define CGBRFS cgbrfs
143 # define ZGBRFS zgbrfs
144 
145 # define SGETRI sgetri
146 # define DGETRI dgetri
147 # define CGETRI cgetri
148 # define ZGETRI zgetri
149 
150 # define SGEBRD sgebrd
151 # define DGEBRD dgebrd
152 # define CGEBRD cgebrd
153 # define ZGEBRD zgebrd
154 
155 # define SGBBRD sgbbrd
156 # define DGBBRD dgbbrd
157 # define CGBBRD cgbbrd
158 # define ZGBBRD zgbbrd
159 
160 # define SORGBR sorgbr
161 # define DORGBR dorgbr
162 
163 # define CUNGBR cungbr
164 # define ZUNGBR zungbr
165 
166 # define SBDSQR sbdsqr
167 # define DBDSQR dbdsqr
168 # define CBDSQR cbdsqr
169 # define ZBDSQR zbdsqr
170 
171 # define SGEBAL sgebal
172 # define DGEBAL dgebal
173 # define CGEBAL cgebal
174 # define ZGEBAL zgebal
175 
176 # define SGEHRD sgehrd
177 # define DGEHRD dgehrd
178 # define CGEHRD cgehrd
179 # define ZGEHRD zgehrd
180 
181 # define SORGHR sorghr
182 # define DORGHR dorghr
183 
184 # define CUNGHR cunghr
185 # define ZUNGHR zunghr
186 
187 # define SHSEQR shseqr
188 # define DHSEQR dhseqr
189 # define CHSEQR chseqr
190 # define ZHSEQR zhseqr
191 
192 # define STREVC strevc
193 # define DTREVC dtrevc
194 # define CTREVC ctrevc
195 # define ZTREVC ztrevc
196 
197 # define SGEBAK sgebak
198 # define DGEBAK dgebak
199 # define CGEBAK cgebak
200 # define ZGEBAK zgebak
201 
202 # define SGECON sgecon
203 # define DGECON dgecon
204 # define CGECON cgecon
205 # define ZGECON zgecon
206 
207 # define SSPMV sspmv
208 # define DSPMV dspmv
209 
210 # define SSYMM ssymm
211 # define DSYMM dsymm
212 # define CSYMM csymm
213 # define ZSYMM zsymm
214 # define CHEMM chemm
215 # define ZHEMM zhemm
216 
217 # define SPOTRF spotrf
218 # define DPOTRF dpotrf
219 # define CPOTRF cpotrf
220 # define ZPOTRF zpotrf
221 
222 # define SSYTRF ssytrf
223 # define DSYTRF dsytrf
224 # define CSYTRF csytrf
225 # define ZSYTRF zsytrf
226 # define CHETRF chetrf
227 # define ZHETRF zhetrf
228 
229 # define SPOTRS spotrs
230 # define DPOTRS dpotrs
231 # define CPOTRS cpotrs
232 # define ZPOTRS zpotrs
233 
234 # define SPORFS sporfs
235 # define DPORFS dporfs
236 # define CPORFS cporfs
237 # define ZPORFS zporfs
238 
239 # define SSYTRS ssytrs
240 # define DSYTRS dsytrs
241 # define CSYTRS csytrs
242 # define ZSYTRS zsytrs
243 # define CHETRS chetrs
244 # define ZHETRS zhetrs
245 
246 # define SSYRFS ssyrfs
247 # define DSYRFS dsyrfs
248 # define CSYRFS csyrfs
249 # define ZSYRFS zsyrfs
250 # define CHERFS cherfs
251 # define ZHERFS zherfs
252 
253 # define SPOTRI spotri
254 # define DPOTRI dpotri
255 # define CPOTRI cpotri
256 # define ZPOTRI zpotri
257 
258 # define SSYTRI ssytri
259 # define DSYTRI dsytri
260 # define CSYTRI csytri
261 # define ZSYTRI zsytri
262 # define CHETRI chetri
263 # define ZHETRI zhetri
264 
265 # define SSYEVD ssyevd
266 # define DSYEVD dsyevd
267 # define CHEEVD cheevd
268 # define ZHEEVD zheevd
269 
270 # define SPOEQU spoequ
271 # define DPOEQU dpoequ
272 # define CPOEQU cpoequ
273 # define ZPOEQU zpoequ
274 
275 # define SSYMV ssymv
276 # define DSYMV dsymv
277 # define CHEMV chemv
278 # define ZHEMV zhemv
279 
280 # define SSYRK ssyrk
281 # define DSYRK dsyrk
282 # define CSYRK csyrk
283 # define ZSYRK zsyrk
284 # define CHERK cherk
285 # define ZHERK zherk
286 
287 # define SSYR2K ssyr2k
288 # define DSYR2K dsyr2k
289 # define CSYR2K csyr2k
290 # define ZSYR2K zsyr2k
291 # define CHER2K cher2k
292 # define ZHER2K zher2k
293 
294 # define SGEQRF sgeqrf
295 # define DGEQRF dgeqrf
296 # define CGEQRF cgeqrf
297 # define ZGEQRF zgeqrf
298 
299 # define SORGQR sorgqr
300 # define DORGQR dorgqr
301 # define CUNGQR cungqr
302 # define ZUNGQR zungqr
303 
304 # define SGERQF sgerqf
305 # define DGERQF dgerqf
306 # define CGERQF cgerqf
307 # define ZGERQF zgerqf
308 
309 # define SORGRQ sorgrq
310 # define DORGRQ dorgrq
311 # define CUNGRQ cungrq
312 # define ZUNGRQ zungrq
313 
314 # define SGELQF sgelqf
315 # define DGELQF dgelqf
316 # define CGELQF cgelqf
317 # define ZGELQF zgelqf
318 
319 # define SORGLQ sorglq
320 # define DORGLQ dorglq
321 # define CUNGLQ cunglq
322 # define ZUNGLQ zunglq
323 
324 # define SGEQLF sgeqlf
325 # define DGEQLF dgeqlf
326 # define CGEQLF cgeqlf
327 # define ZGEQLF zgeqlf
328 
329 # define SORGQL sorgql
330 # define DORGQL dorgql
331 # define CUNGQL cungql
332 # define ZUNGQL zungql
333 
334 # define SGELS sgels
335 # define DGELS dgels
336 # define CGELS cgels
337 # define ZGELS zgels
338 
339 # define SGELSY sgelsy
340 # define DGELSY dgelsy
341 # define CGELSY cgelsy
342 # define ZGELSY zgelsy
343 
344 # define SGELSS sgelss
345 # define DGELSS dgelss
346 # define CGELSS cgelss
347 # define ZGELSS zgelss
348 
349 # define SGELSD sgelsd
350 # define DGELSD dgelsd
351 # define CGELSD cgelsd
352 # define ZGELSD zgelsd
353 
354 # define SGGEV sggev
355 # define DGGEV dggev
356 # define CGGEV cggev
357 # define ZGGEV zggev
358 
359 # else // !__BORLANDC__
360 
361 # define CVM_FTN_CALL
362 # define CVM_STD_CALL
363 
364 // my fortran stuff
365 
366 # define DPOLY dpoly_
367 # define SPOLY spoly_
368 # define CPOLY cpoly_
369 # define ZPOLY zpoly_
370 
371 # define NPOLY npoly_
372 
373 # define SMEXP smexp_
374 # define DMEXP dmexp_
375 # define CMEXP cmexp_
376 # define ZMEXP zmexp_
377 
378 # define SMEXPC smexpc_
379 # define DMEXPC dmexpc_
380 # define CMEXPC cmexpc_
381 # define ZMEXPC zmexpc_
382 
383 // blas & lapack stuff
384 
385 # define ISAMAX isamax_
386 # define IDAMAX idamax_
387 # define ISAMIN isamin_
388 # define IDAMIN idamin_
389 
390 # define ICAMAX icamax_
391 # define IZAMAX izamax_
392 # define ICAMIN icamin_
393 # define IZAMIN izamin_
394 
395 # define SNRM2 snrm2_
396 # define DNRM2 dnrm2_
397 # define SCNRM2 scnrm2_
398 # define DZNRM2 dznrm2_
399 
400 # define SSWAP sswap_
401 # define DSWAP dswap_
402 # define CSWAP cswap_
403 # define ZSWAP zswap_
404 
405 # define SDOT sdot_
406 # define DDOT ddot_
407 
408 // complex dot wrappers
409 
410 # if defined (CVM_COMPLEX_NUMBER_RETURNED)
411 # define VCDOTU cdotu_
412 # define VZDOTU zdotu_
413 # define VCDOTC cdotc_
414 # define VZDOTC zdotc_
415 # else
416 # define VCDOTU vcdotu_
417 # define VZDOTU vzdotu_
418 # define VCDOTC vcdotc_
419 # define VZDOTC vzdotc_
420 # endif
421 
422 # define SAXPY saxpy_
423 # define DAXPY daxpy_
424 # define CAXPY caxpy_
425 # define ZAXPY zaxpy_
426 
427 # define SCOPY scopy_
428 # define DCOPY dcopy_
429 # define CCOPY ccopy_
430 # define ZCOPY zcopy_
431 
432 # define SSCAL sscal_
433 # define DSCAL dscal_
434 # define CSCAL cscal_
435 # define ZSCAL zscal_
436 
437 # define CLACGV clacgv_
438 # define ZLACGV zlacgv_
439 
440 # define CSSCAL csscal_
441 # define ZDSCAL zdscal_
442 
443 # define SGER sger_
444 # define DGER dger_
445 
446 # define CGERU cgeru_
447 # define ZGERU zgeru_
448 
449 # define CGERC cgerc_
450 # define ZGERC zgerc_
451 
452 # define SGEMV sgemv_
453 # define DGEMV dgemv_
454 # define CGEMV cgemv_
455 # define ZGEMV zgemv_
456 
457 # define SGBMV sgbmv_
458 # define DGBMV dgbmv_
459 # define CGBMV cgbmv_
460 # define ZGBMV zgbmv_
461 
462 # define SGEMM sgemm_
463 # define DGEMM dgemm_
464 # define CGEMM cgemm_
465 # define ZGEMM zgemm_
466 
467 # define SGETRF sgetrf_
468 # define DGETRF dgetrf_
469 # define CGETRF cgetrf_
470 # define ZGETRF zgetrf_
471 
472 # define SGBTRF sgbtrf_
473 # define DGBTRF dgbtrf_
474 # define CGBTRF cgbtrf_
475 # define ZGBTRF zgbtrf_
476 
477 # define SGETRS sgetrs_
478 # define DGETRS dgetrs_
479 # define CGETRS cgetrs_
480 # define ZGETRS zgetrs_
481 
482 # define SGBTRS sgbtrs_
483 # define DGBTRS dgbtrs_
484 # define CGBTRS cgbtrs_
485 # define ZGBTRS zgbtrs_
486 
487 # define SGERFS sgerfs_
488 # define DGERFS dgerfs_
489 # define CGERFS cgerfs_
490 # define ZGERFS zgerfs_
491 
492 # define SGBRFS sgbrfs_
493 # define DGBRFS dgbrfs_
494 # define CGBRFS cgbrfs_
495 # define ZGBRFS zgbrfs_
496 
497 # define SGETRI sgetri_
498 # define DGETRI dgetri_
499 # define CGETRI cgetri_
500 # define ZGETRI zgetri_
501 
502 # define SGEBRD sgebrd_
503 # define DGEBRD dgebrd_
504 # define CGEBRD cgebrd_
505 # define ZGEBRD zgebrd_
506 
507 # define SGBBRD sgbbrd_
508 # define DGBBRD dgbbrd_
509 # define CGBBRD cgbbrd_
510 # define ZGBBRD zgbbrd_
511 
512 # define SORGBR sorgbr_
513 # define DORGBR dorgbr_
514 
515 # define CUNGBR cungbr_
516 # define ZUNGBR zungbr_
517 
518 # define SBDSQR sbdsqr_
519 # define DBDSQR dbdsqr_
520 # define CBDSQR cbdsqr_
521 # define ZBDSQR zbdsqr_
522 
523 # define SGEBAL sgebal_
524 # define DGEBAL dgebal_
525 # define CGEBAL cgebal_
526 # define ZGEBAL zgebal_
527 
528 # define SGEHRD sgehrd_
529 # define DGEHRD dgehrd_
530 # define CGEHRD cgehrd_
531 # define ZGEHRD zgehrd_
532 
533 # define SORGHR sorghr_
534 # define DORGHR dorghr_
535 
536 # define CUNGHR cunghr_
537 # define ZUNGHR zunghr_
538 
539 # define SHSEQR shseqr_
540 # define DHSEQR dhseqr_
541 # define CHSEQR chseqr_
542 # define ZHSEQR zhseqr_
543 
544 # define STREVC strevc_
545 # define DTREVC dtrevc_
546 # define CTREVC ctrevc_
547 # define ZTREVC ztrevc_
548 
549 # define SGEBAK sgebak_
550 # define DGEBAK dgebak_
551 # define CGEBAK cgebak_
552 # define ZGEBAK zgebak_
553 
554 # define SGECON sgecon_
555 # define DGECON dgecon_
556 # define CGECON cgecon_
557 # define ZGECON zgecon_
558 
559 # define SSPMV sspmv_
560 # define DSPMV dspmv_
561 
562 # define SSYMM ssymm_
563 # define DSYMM dsymm_
564 # define CSYMM csymm_
565 # define ZSYMM zsymm_
566 # define CHEMM chemm_
567 # define ZHEMM zhemm_
568 
569 # define SPOTRF spotrf_
570 # define DPOTRF dpotrf_
571 # define CPOTRF cpotrf_
572 # define ZPOTRF zpotrf_
573 
574 # define SSYTRF ssytrf_
575 # define DSYTRF dsytrf_
576 # define CSYTRF csytrf_
577 # define ZSYTRF zsytrf_
578 # define CHETRF chetrf_
579 # define ZHETRF zhetrf_
580 
581 # define SPOTRS spotrs_
582 # define DPOTRS dpotrs_
583 # define CPOTRS cpotrs_
584 # define ZPOTRS zpotrs_
585 
586 # define SPORFS sporfs_
587 # define DPORFS dporfs_
588 # define CPORFS cporfs_
589 # define ZPORFS zporfs_
590 
591 # define SSYTRS ssytrs_
592 # define DSYTRS dsytrs_
593 # define CSYTRS csytrs_
594 # define ZSYTRS zsytrs_
595 # define CHETRS chetrs_
596 # define ZHETRS zhetrs_
597 
598 # define SSYRFS ssyrfs_
599 # define DSYRFS dsyrfs_
600 # define CSYRFS csyrfs_
601 # define ZSYRFS zsyrfs_
602 # define CHERFS cherfs_
603 # define ZHERFS zherfs_
604 
605 # define SPOTRI spotri_
606 # define DPOTRI dpotri_
607 # define CPOTRI cpotri_
608 # define ZPOTRI zpotri_
609 
610 # define SSYTRI ssytri_
611 # define DSYTRI dsytri_
612 # define CSYTRI csytri_
613 # define ZSYTRI zsytri_
614 # define CHETRI chetri_
615 # define ZHETRI zhetri_
616 
617 # define SSYEVD ssyevd_
618 # define DSYEVD dsyevd_
619 # define CHEEVD cheevd_
620 # define ZHEEVD zheevd_
621 
622 # define SPOEQU spoequ_
623 # define DPOEQU dpoequ_
624 # define CPOEQU cpoequ_
625 # define ZPOEQU zpoequ_
626 
627 # define SSYMV ssymv_
628 # define DSYMV dsymv_
629 # define CHEMV chemv_
630 # define ZHEMV zhemv_
631 
632 # define SSYRK ssyrk_
633 # define DSYRK dsyrk_
634 # define CSYRK csyrk_
635 # define ZSYRK zsyrk_
636 # define CHERK cherk_
637 # define ZHERK zherk_
638 
639 # define SSYR2K ssyr2k_
640 # define DSYR2K dsyr2k_
641 # define CSYR2K csyr2k_
642 # define ZSYR2K zsyr2k_
643 # define CHER2K cher2k_
644 # define ZHER2K zher2k_
645 
646 # define SGEQRF sgeqrf_
647 # define DGEQRF dgeqrf_
648 # define CGEQRF cgeqrf_
649 # define ZGEQRF zgeqrf_
650 
651 # define SORGQR sorgqr_
652 # define DORGQR dorgqr_
653 # define CUNGQR cungqr_
654 # define ZUNGQR zungqr_
655 
656 # define SGERQF sgerqf_
657 # define DGERQF dgerqf_
658 # define CGERQF cgerqf_
659 # define ZGERQF zgerqf_
660 
661 # define SORGRQ sorgrq_
662 # define DORGRQ dorgrq_
663 # define CUNGRQ cungrq_
664 # define ZUNGRQ zungrq_
665 
666 # define SGELQF sgelqf_
667 # define DGELQF dgelqf_
668 # define CGELQF cgelqf_
669 # define ZGELQF zgelqf_
670 
671 # define SORGLQ sorglq_
672 # define DORGLQ dorglq_
673 # define CUNGLQ cunglq_
674 # define ZUNGLQ zunglq_
675 
676 # define SGEQLF sgeqlf_
677 # define DGEQLF dgeqlf_
678 # define CGEQLF cgeqlf_
679 # define ZGEQLF zgeqlf_
680 
681 # define SORGQL sorgql_
682 # define DORGQL dorgql_
683 # define CUNGQL cungql_
684 # define ZUNGQL zungql_
685 
686 # define SGELS sgels_
687 # define DGELS dgels_
688 # define CGELS cgels_
689 # define ZGELS zgels_
690 
691 # define SGELSY sgelsy_
692 # define DGELSY dgelsy_
693 # define CGELSY cgelsy_
694 # define ZGELSY zgelsy_
695 
696 # define SGELSS sgelss_
697 # define DGELSS dgelss_
698 # define CGELSS cgelss_
699 # define ZGELSS zgelss_
700 
701 # define SGELSD sgelsd_
702 # define DGELSD dgelsd_
703 # define CGELSD cgelsd_
704 # define ZGELSD zgelsd_
705 
706 # define SGGEV sggev_
707 # define DGGEV dggev_
708 # define CGGEV cggev_
709 # define ZGGEV zggev_
710 
711 # endif // !__BORLANDC__
712 #endif // !_MSC_VER
713 
714 void CVM_FTN_CALL SPOLY (const tint* m,
715  const float* a,
716  const tint* lda,
717  const tint* n,
718  const float* v,
719  float* p,
720  const tint* ldp,
721  float* r);
722 
723 void CVM_FTN_CALL DPOLY (const tint* m,
724  const double* a,
725  const tint* lda,
726  const tint* n,
727  const double* v,
728  double* p,
729  const tint* ldp,
730  double* r);
731 
732 void CVM_FTN_CALL CPOLY (const tint* m,
733  const std::complex<float>* a,
734  const tint* lda,
735  const tint* n,
736  const std::complex<float>* v,
737  std::complex<float>* p,
738  const tint* ldp,
739  std::complex<float>* r);
740 
741 void CVM_FTN_CALL ZPOLY (const tint* m,
742  const std::complex<double>* a,
743  const tint* lda,
744  const tint* n,
745  const std::complex<double>* v,
746  std::complex<double>* p,
747  const tint* ldp,
748  std::complex<double>* r);
749 
750 tint CVM_FTN_CALL NPOLY (const tint* m,
751  const tint* n);
752 
753 tint CVM_STD_CALL ISAMAX (const tint* n,
754  const float* x,
755  const tint* incx);
756 tint CVM_STD_CALL IDAMAX (const tint* n,
757  const double* x,
758  const tint* incx);
759 
760 tint CVM_STD_CALL ISAMIN (const tint* n,
761  const float* x,
762  const tint* incx);
763 tint CVM_STD_CALL IDAMIN (const tint* n,
764  const double* x,
765  const tint* incx);
766 
767 tint CVM_STD_CALL ICAMAX (const tint* n,
768  const std::complex<float>* x,
769  const tint* incx);
770 tint CVM_STD_CALL IZAMAX (const tint* n,
771  const std::complex<double>* x,
772  const tint* incx);
773 
774 tint CVM_STD_CALL ICAMIN (const tint* n,
775  const std::complex<float>* x,
776  const tint* incx);
777 tint CVM_STD_CALL IZAMIN (const tint* n,
778  const std::complex<double>* x,
779  const tint* incx);
780 
781 float CVM_STD_CALL SNRM2 (const tint* n,
782  const float* x,
783  const tint* incx);
784 double CVM_STD_CALL DNRM2 (const tint* n,
785  const double* x,
786  const tint* incx);
787 
788 float CVM_STD_CALL SCNRM2 (const tint* n,
789  const std::complex<float>* x,
790  const tint* incx);
791 double CVM_STD_CALL DZNRM2 (const tint* n,
792  const std::complex<double>* x,
793  const tint* incx);
794 
795 void CVM_STD_CALL SSWAP (const tint* n,
796  float* x,
797  const tint* incx,
798  float* y,
799  const tint* incy);
800 void CVM_STD_CALL DSWAP (const tint* n,
801  double* x,
802  const tint* incx,
803  double* y,
804  const tint* incy);
805 
806 void CVM_STD_CALL CSWAP (const tint* n,
807  std::complex<float>* x,
808  const tint* incx,
809  std::complex<float>* y,
810  const tint* incy);
811 void CVM_STD_CALL ZSWAP (const tint* n,
812  std::complex<double>* x,
813  const tint* incx,
814  std::complex<double>* y,
815  const tint* incy);
816 
817 float CVM_STD_CALL SDOT (const tint* n,
818  const float* x,
819  const tint* incx,
820  const float* y,
821  const tint* incy);
822 double CVM_STD_CALL DDOT (const tint* n,
823  const double* x,
824  const tint* incx,
825  const double* y,
826  const tint* incy);
827 
828 // complex dot wrappers
829 void CVM_STD_CALL VCDOTU (std::complex<float>* dot,
830  const tint* n,
831  const std::complex<float>* x,
832  const tint* incx,
833  const std::complex<float>* y,
834  const tint* incy);
835 void CVM_STD_CALL VZDOTU (std::complex<double>* dot,
836  const tint* n,
837  const std::complex<double>* x,
838  const tint* incx,
839  const std::complex<double>* y,
840  const tint* incy);
841 void CVM_STD_CALL VCDOTC (std::complex<float>* dot,
842  const tint* n,
843  const std::complex<float>* x,
844  const tint* incx,
845  const std::complex<float>* y,
846  const tint* incy);
847 void CVM_STD_CALL VZDOTC (std::complex<double>* dot,
848  const tint* n,
849  const std::complex<double>* x,
850  const tint* incx,
851  const std::complex<double>* y,
852  const tint* incy);
853 
854 void CVM_STD_CALL SAXPY (const tint* n,
855  const float* a,
856  const float* x,
857  const tint* incx,
858  float* y,
859  const tint* incy);
860 void CVM_STD_CALL DAXPY (const tint* n,
861  const double* a,
862  const double* x,
863  const tint* incx,
864  double* y,
865  const tint* incy);
866 
867 void CVM_STD_CALL CAXPY (const tint* n,
868  const std::complex<float>* a,
869  const std::complex<float>* x,
870  const tint* incx,
871  std::complex<float>* y,
872  const tint* incy);
873 void CVM_STD_CALL ZAXPY (const tint* n,
874  const std::complex<double>* a,
875  const std::complex<double>* x,
876  const tint* incx,
877  std::complex<double>* y,
878  const tint* incy);
879 
880 void CVM_STD_CALL DCOPY (const tint* n,
881  const double* x,
882  const tint* incx,
883  double* y,
884  const tint* incy);
885 void CVM_STD_CALL SCOPY (const tint* n,
886  const float* x,
887  const tint* incx,
888  float* y,
889  const tint* incy);
890 
891 void CVM_STD_CALL CCOPY (const tint* n,
892  const std::complex<float>* x,
893  const tint* incx,
894  std::complex<float>* y,
895  const tint* incy);
896 void CVM_STD_CALL ZCOPY (const tint* n,
897  const std::complex<double>* x,
898  const tint* incx,
899  std::complex<double>* y,
900  const tint* incy);
901 
902 void CVM_STD_CALL SSCAL (const tint* n,
903  const float* a,
904  float* x,
905  const tint* incx);
906 void CVM_STD_CALL DSCAL (const tint* n,
907  const double* a,
908  double* x,
909  const tint* incx);
910 
911 void CVM_STD_CALL CSCAL (const tint* n,
912  const std::complex<float>* a,
913  std::complex<float>* x,
914  const tint* incx);
915 void CVM_STD_CALL ZSCAL (const tint* n,
916  const std::complex<double>* a,
917  std::complex<double>* x,
918  const tint* incx);
919 
920 void CVM_STD_CALL CLACGV (const tint* n,
921  std::complex<float>* x,
922  const tint* incx);
923 void CVM_STD_CALL ZLACGV (const tint* n,
924  std::complex<double>* x,
925  const tint* incx);
926 
927 void CVM_STD_CALL CSSCAL (const tint* n,
928  const float* a,
929  std::complex<float>* x,
930  const tint* incx);
931 void CVM_STD_CALL ZDSCAL (const tint* n,
932  const double* a,
933  std::complex<double>* x,
934  const tint* incx);
935 
936 void CVM_STD_CALL SGER (const tint* m,
937  const tint* n,
938  const float* alpha,
939  const float* x,
940  const tint* incx,
941  const float* y,
942  const tint* incy,
943  float* a,
944  const tint* lda);
945 void CVM_STD_CALL DGER (const tint* m,
946  const tint* n,
947  const double* alpha,
948  const double* x,
949  const tint* incx,
950  const double* y,
951  const tint* incy,
952  double* a,
953  const tint* lda);
954 
955 void CVM_STD_CALL CGERU (const tint* m,
956  const tint* n,
957  const std::complex<float>* alpha,
958  const std::complex<float>* x,
959  const tint* incx,
960  const std::complex<float>* y,
961  const tint* incy,
962  std::complex<float>* a,
963  const tint* lda);
964 void CVM_STD_CALL ZGERU (const tint* m,
965  const tint* n,
966  const std::complex<double>* alpha,
967  const std::complex<double>* x,
968  const tint* incx,
969  const std::complex<double>* y,
970  const tint* incy,
971  std::complex<double>* a,
972  const tint* lda);
973 
974 void CVM_STD_CALL CGERC (const tint* m,
975  const tint* n,
976  const std::complex<float>* alpha,
977  const std::complex<float>* x,
978  const tint* incx,
979  const std::complex<float>* y,
980  const tint* incy,
981  std::complex<float>* a,
982  const tint* lda);
983 void CVM_STD_CALL ZGERC (const tint* m,
984  const tint* n,
985  const std::complex<double>* alpha,
986  const std::complex<double>* x,
987  const tint* incx,
988  const std::complex<double>* y,
989  const tint* incy,
990  std::complex<double>* a,
991  const tint* lda);
992 
993 void CVM_STD_CALL SGEMV (const char* trans,
994 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
995  const tint transsz,
996 #endif
997  const tint* m,
998  const tint* n,
999  const float* alpha,
1000  const float* a,
1001  const tint* lda,
1002  const float* x,
1003  const tint* incx,
1004  const float* beta,
1005  float* y,
1006  const tint* incy);
1007 void CVM_STD_CALL DGEMV (const char* trans,
1008 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1009  const tint transsz,
1010 #endif
1011  const tint* m,
1012  const tint* n,
1013  const double* alpha,
1014  const double* a,
1015  const tint* lda,
1016  const double* x,
1017  const tint* incx,
1018  const double* beta,
1019  double* y,
1020  const tint* incy);
1021 
1022 void CVM_STD_CALL CGEMV (const char* trans,
1023 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1024  const tint transsz,
1025 #endif
1026  const tint* m,
1027  const tint* n,
1028  const std::complex<float>* alpha,
1029  const std::complex<float>* a,
1030  const tint* lda,
1031  const std::complex<float>* x,
1032  const tint* incx,
1033  const std::complex<float>* beta,
1034  std::complex<float>* y,
1035  const tint* incy);
1036 void CVM_STD_CALL ZGEMV (const char* trans,
1037 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1038  const tint transsz,
1039 #endif
1040  const tint* m,
1041  const tint* n,
1042  const std::complex<double>* alpha,
1043  const std::complex<double>* a,
1044  const tint* lda,
1045  const std::complex<double>* x,
1046  const tint* incx,
1047  const std::complex<double>* beta,
1048  std::complex<double>* y,
1049  const tint* incy);
1050 
1051 void CVM_STD_CALL SGBMV (const char* trans,
1052 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1053  const tint transsz,
1054 #endif
1055  const tint* m,
1056  const tint* n,
1057  const tint* kl,
1058  const tint* ku,
1059  const float* alpha,
1060  const float* a,
1061  const tint* lda,
1062  const float* x,
1063  const tint* incx,
1064  const float* beta,
1065  float* y,
1066  const tint* incy);
1067 void CVM_STD_CALL DGBMV (const char* trans,
1068 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1069  const tint transsz,
1070 #endif
1071  const tint* m,
1072  const tint* n,
1073  const tint* kl,
1074  const tint* ku,
1075  const double* alpha,
1076  const double* a,
1077  const tint* lda,
1078  const double* x,
1079  const tint* incx,
1080  const double* beta,
1081  double* y,
1082  const tint* incy);
1083 void CVM_STD_CALL CGBMV (const char* trans,
1084 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1085  const tint transsz,
1086 #endif
1087  const tint* m,
1088  const tint* n,
1089  const tint* kl,
1090  const tint* ku,
1091  const std::complex<float>* alpha,
1092  const std::complex<float>* a,
1093  const tint* lda,
1094  const std::complex<float>* x,
1095  const tint* incx,
1096  const std::complex<float>* beta,
1097  std::complex<float>* y,
1098  const tint* incy);
1099 void CVM_STD_CALL ZGBMV (const char* trans,
1100 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1101  const tint transsz,
1102 #endif
1103  const tint* m,
1104  const tint* n,
1105  const tint* kl,
1106  const tint* ku,
1107  const std::complex<double>* alpha,
1108  const std::complex<double>* a,
1109  const tint* lda,
1110  const std::complex<double>* x,
1111  const tint* incx,
1112  const std::complex<double>* beta,
1113  std::complex<double>* y,
1114  const tint* incy);
1115 
1116 void CVM_STD_CALL DGEMM (const char* transa,
1117 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1118  const tint transasz,
1119 #endif
1120  const char* transb,
1121 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1122  const tint transbsz,
1123 #endif
1124  const tint* m,
1125  const tint* n,
1126  const tint* k,
1127  const double* alpha,
1128  const double* a,
1129  const tint* lda,
1130  const double* b,
1131  const tint* ldb,
1132  const double* beta,
1133  double* c,
1134  const tint* ldc);
1135 
1136 void CVM_STD_CALL SGEMM (const char* transa,
1137 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1138  const tint transasz,
1139 #endif
1140  const char* transb,
1141 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1142  const tint transbsz,
1143 #endif
1144  const tint* m,
1145  const tint* n,
1146  const tint* k,
1147  const float* alpha,
1148  const float* a,
1149  const tint* lda,
1150  const float* b,
1151  const tint* ldb,
1152  const float* beta,
1153  float* c,
1154  const tint* ldc);
1155 
1156 void CVM_STD_CALL CGEMM (const char* transa,
1157 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1158  const tint transasz,
1159 #endif
1160  const char* transb,
1161 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1162  const tint transbsz,
1163 #endif
1164  const tint* m,
1165  const tint* n,
1166  const tint* k,
1167  const std::complex<float>* alpha,
1168  const std::complex<float>* a,
1169  const tint* lda,
1170  const std::complex<float>* b,
1171  const tint* ldb,
1172  const std::complex<float>* beta,
1173  std::complex<float>* c,
1174  const tint* ldc);
1175 void CVM_STD_CALL ZGEMM (const char* transa,
1176 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1177  const tint transasz,
1178 #endif
1179  const char* transb,
1180 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1181  const tint transbsz,
1182 #endif
1183  const tint* m,
1184  const tint* n,
1185  const tint* k,
1186  const std::complex<double>* alpha,
1187  const std::complex<double>* a,
1188  const tint* lda,
1189  const std::complex<double>* b,
1190  const tint* ldb,
1191  const std::complex<double>* beta,
1192  std::complex<double>* c,
1193  const tint* ldc);
1194 
1195 void CVM_FTN_CALL SMEXP (const tint* m,
1196  const float* a,
1197  const tint* lda,
1198  float* ea,
1199  const tint* lde,
1200  float* r,
1201  tint* ir,
1202  tint* nr,
1203  tint* ni,
1204  tint* nq,
1205  tint* j,
1206  const tint* issymm, // LOGICAL is 4-byte tint
1207  float* work,
1208  const tint* lwork);
1209 
1210 void CVM_FTN_CALL DMEXP (const tint* m,
1211  const double* a,
1212  const tint* lda,
1213  double* ea,
1214  const tint* lde,
1215  double* r,
1216  tint* ir,
1217  tint* nr,
1218  tint* ni,
1219  tint* nq,
1220  tint* j,
1221  const tint* issymm, // LOGICAL is 4-byte tint
1222  double* work,
1223  const tint* lwork);
1224 
1225 void CVM_FTN_CALL CMEXP (const tint* m,
1226  const std::complex<float>* a,
1227  const tint* lda,
1228  std::complex<float>* ea,
1229  const tint* lde,
1230  std::complex<float>* r,
1231  tint* ir,
1232  tint* nr,
1233  tint* ni,
1234  tint* nq,
1235  tint* j,
1236  const tint* issymm, // LOGICAL is 4-byte tint
1237  std::complex<float>* work,
1238  const tint* lwork);
1239 
1240 void CVM_FTN_CALL ZMEXP (const tint* m,
1241  const std::complex<double>* a,
1242  const tint* lda,
1243  std::complex<double>* ea,
1244  const tint* lde,
1245  std::complex<double>* r,
1246  tint* ir,
1247  tint* nr,
1248  tint* ni,
1249  tint* nq,
1250  tint* j,
1251  const tint* issymm, // LOGICAL is 4-byte tint
1252  std::complex<double>* work,
1253  const tint* lwork);
1254 
1255 void CVM_FTN_CALL SMEXPC (const tint* m,
1256  const float* a,
1257  const tint* lda,
1258  const float* tol,
1259  tint* nr,
1260  tint* ni,
1261  tint* nq,
1262  tint* j);
1263 
1264 void CVM_FTN_CALL DMEXPC (const tint* m,
1265  const double* a,
1266  const tint* lda,
1267  const double* tol,
1268  tint* nr,
1269  tint* ni,
1270  tint* nq,
1271  tint* j);
1272 
1273 void CVM_FTN_CALL CMEXPC (const tint* m,
1274  const std::complex<float>* a,
1275  const tint* lda,
1276  const float* tol,
1277  tint* nr,
1278  tint* ni,
1279  tint* nq,
1280  tint* j);
1281 
1282 void CVM_FTN_CALL ZMEXPC (const tint* m,
1283  const std::complex<double>* a,
1284  const tint* lda,
1285  const double* tol,
1286  tint* nr,
1287  tint* ni,
1288  tint* nq,
1289  tint* j);
1290 
1291 void CVM_STD_CALL SGETRF (const tint* m,
1292  const tint* n,
1293  float* a,
1294  const tint* lda,
1295  tint* ipiv,
1296  tint* info);
1297 void CVM_STD_CALL DGETRF (const tint* m,
1298  const tint* n,
1299  double* a,
1300  const tint* lda,
1301  tint* ipiv,
1302  tint* info);
1303 void CVM_STD_CALL CGETRF (const tint* m,
1304  const tint* n,
1305  std::complex<float>* a,
1306  const tint* lda,
1307  tint* ipiv,
1308  tint* info);
1309 void CVM_STD_CALL ZGETRF (const tint* m,
1310  const tint* n,
1311  std::complex<double>* a,
1312  const tint* lda,
1313  tint* ipiv,
1314  tint* info);
1315 
1316 void CVM_STD_CALL SGBTRF (const tint* m,
1317  const tint* n,
1318  const tint* kl,
1319  const tint* ku,
1320  float* a,
1321  const tint* lda,
1322  tint* ipiv,
1323  tint* info);
1324 void CVM_STD_CALL DGBTRF (const tint* m,
1325  const tint* n,
1326  const tint* kl,
1327  const tint* ku,
1328  double* a,
1329  const tint* lda,
1330  tint* ipiv,
1331  tint* info);
1332 void CVM_STD_CALL CGBTRF (const tint* m,
1333  const tint* n,
1334  const tint* kl,
1335  const tint* ku,
1336  std::complex<float>* a,
1337  const tint* lda,
1338  tint* ipiv,
1339  tint* info);
1340 void CVM_STD_CALL ZGBTRF (const tint* m,
1341  const tint* n,
1342  const tint* kl,
1343  const tint* ku,
1344  std::complex<double>* a,
1345  const tint* lda,
1346  tint* ipiv,
1347  tint* info);
1348 
1349 void CVM_STD_CALL SGETRS (const char* trans,
1350 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1351  const tint transsz,
1352 #endif
1353  const tint* n,
1354  const tint* nrhs,
1355  const float* a,
1356  const tint* lda,
1357  tint* ipiv,
1358  float* b,
1359  const tint* ldb,
1360  tint* info);
1361 void CVM_STD_CALL DGETRS (const char* trans,
1362 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1363  const tint transsz,
1364 #endif
1365  const tint* n,
1366  const tint* nrhs,
1367  const double* a,
1368  const tint* lda,
1369  tint* ipiv,
1370  double* b,
1371  const tint* ldb,
1372  tint* info);
1373 
1374 void CVM_STD_CALL SGBTRS (const char* trans,
1375 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1376  const tint transsz,
1377 #endif
1378  const tint* n,
1379  const tint* kl,
1380  const tint* ku,
1381  const tint* nrhs,
1382  const float* a,
1383  const tint* lda,
1384  tint* ipiv,
1385  float* b,
1386  const tint* ldb,
1387  tint* info);
1388 void CVM_STD_CALL DGBTRS (const char* trans,
1389 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1390  const tint transsz,
1391 #endif
1392  const tint* n,
1393  const tint* kl,
1394  const tint* ku,
1395  const tint* nrhs,
1396  const double* a,
1397  const tint* lda,
1398  tint* ipiv,
1399  double* b,
1400  const tint* ldb,
1401  tint* info);
1402 
1403 void CVM_STD_CALL SGERFS (const char* trans,
1404 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1405  const tint transsz,
1406 #endif
1407  const tint* n,
1408  const tint* nrhs,
1409  const float* a,
1410  const tint* lda,
1411  const float* af,
1412  const tint* ldaf,
1413  tint* ipiv,
1414  const float* b,
1415  const tint* ldb,
1416  float* x,
1417  const tint* ldx,
1418  float* ferr,
1419  float* berr,
1420  float* work,
1421  tint* iwork,
1422  tint* info);
1423 void CVM_STD_CALL DGERFS (const char* trans,
1424 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1425  const tint transsz,
1426 #endif
1427  const tint* n,
1428  const tint* nrhs,
1429  const double* a,
1430  const tint* lda,
1431  const double* af,
1432  const tint* ldaf,
1433  tint* ipiv,
1434  const double* b,
1435  const tint* ldb,
1436  double* x,
1437  const tint* ldx,
1438  double* ferr,
1439  double* berr,
1440  double* work,
1441  tint* iwork,
1442  tint* info);
1443 
1444 void CVM_STD_CALL SGBRFS (const char* trans,
1445 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1446  const tint transsz,
1447 #endif
1448  const tint* n,
1449  const tint* kl,
1450  const tint* ku,
1451  const tint* nrhs,
1452  const float* a,
1453  const tint* lda,
1454  const float* af,
1455  const tint* ldaf,
1456  tint* ipiv,
1457  const float* b,
1458  const tint* ldb,
1459  float* x,
1460  const tint* ldx,
1461  float* ferr,
1462  float* berr,
1463  float* work,
1464  tint* iwork,
1465  tint* info);
1466 void CVM_STD_CALL DGBRFS (const char* trans,
1467 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1468  const tint transsz,
1469 #endif
1470  const tint* n,
1471  const tint* kl,
1472  const tint* ku,
1473  const tint* nrhs,
1474  const double* a,
1475  const tint* lda,
1476  const double* af,
1477  const tint* ldaf,
1478  tint* ipiv,
1479  const double* b,
1480  const tint* ldb,
1481  double* x,
1482  const tint* ldx,
1483  double* ferr,
1484  double* berr,
1485  double* work,
1486  tint* iwork,
1487  tint* info);
1488 
1489 void CVM_STD_CALL CGETRS (const char* trans,
1490 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1491  const tint transsz,
1492 #endif
1493  const tint* n,
1494  const tint* nrhs,
1495  const std::complex<float>* a,
1496  const tint* lda,
1497  tint* ipiv,
1498  std::complex<float>* b,
1499  const tint* ldb,
1500  tint* info);
1501 void CVM_STD_CALL ZGETRS (const char* trans,
1502 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1503  const tint transsz,
1504 #endif
1505  const tint* n,
1506  const tint* nrhs,
1507  const std::complex<double>* a,
1508  const tint* lda,
1509  tint* ipiv,
1510  std::complex<double>* b,
1511  const tint* ldb,
1512  tint* info);
1513 
1514 void CVM_STD_CALL CGBTRS (const char* trans,
1515 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1516  const tint transsz,
1517 #endif
1518  const tint* n,
1519  const tint* kl,
1520  const tint* ku,
1521  const tint* nrhs,
1522  const std::complex<float>* a,
1523  const tint* lda,
1524  tint* ipiv,
1525  std::complex<float>* b,
1526  const tint* ldb,
1527  tint* info);
1528 void CVM_STD_CALL ZGBTRS (const char* trans,
1529 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1530  const tint transsz,
1531 #endif
1532  const tint* n,
1533  const tint* kl,
1534  const tint* ku,
1535  const tint* nrhs,
1536  const std::complex<double>* a,
1537  const tint* lda,
1538  tint* ipiv,
1539  std::complex<double>* b,
1540  const tint* ldb,
1541  tint* info);
1542 
1543 void CVM_STD_CALL CGERFS (const char* trans,
1544 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1545  const tint transsz,
1546 #endif
1547  const tint* n,
1548  const tint* nrhs,
1549  const std::complex<float>* a,
1550  const tint* lda,
1551  const std::complex<float>* af,
1552  const tint* ldaf,
1553  tint* ipiv,
1554  const std::complex<float>* b,
1555  const tint* ldb,
1556  std::complex<float>* x,
1557  const tint* ldx,
1558  float* ferr,
1559  float* berr,
1560  std::complex<float>* work,
1561  float* rwork,
1562  tint* info);
1563 void CVM_STD_CALL ZGERFS (const char* trans,
1564 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1565  const tint transsz,
1566 #endif
1567  const tint* n,
1568  const tint* nrhs,
1569  const std::complex<double>* a,
1570  const tint* lda,
1571  const std::complex<double>* af,
1572  const tint* ldaf,
1573  tint* ipiv,
1574  const std::complex<double>* b,
1575  const tint* ldb,
1576  std::complex<double>* x,
1577  const tint* ldx,
1578  double* ferr,
1579  double* berr,
1580  std::complex<double>* work,
1581  double* rwork,
1582  tint* info);
1583 
1584 void CVM_STD_CALL CGBRFS (const char* trans,
1585 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1586  const tint transsz,
1587 #endif
1588  const tint* n,
1589  const tint* kl,
1590  const tint* ku,
1591  const tint* nrhs,
1592  const std::complex<float>* a,
1593  const tint* lda,
1594  const std::complex<float>* af,
1595  const tint* ldaf,
1596  tint* ipiv,
1597  const std::complex<float>* b,
1598  const tint* ldb,
1599  std::complex<float>* x,
1600  const tint* ldx,
1601  float* ferr,
1602  float* berr,
1603  std::complex<float>* work,
1604  float* rwork,
1605  tint* info);
1606 void CVM_STD_CALL ZGBRFS (const char* trans,
1607 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1608  const tint transsz,
1609 #endif
1610  const tint* n,
1611  const tint* kl,
1612  const tint* ku,
1613  const tint* nrhs,
1614  const std::complex<double>* a,
1615  const tint* lda,
1616  const std::complex<double>* af,
1617  const tint* ldaf,
1618  tint* ipiv,
1619  const std::complex<double>* b,
1620  const tint* ldb,
1621  std::complex<double>* x,
1622  const tint* ldx,
1623  double* ferr,
1624  double* berr,
1625  std::complex<double>* work,
1626  double* rwork,
1627  tint* info);
1628 
1629 void CVM_STD_CALL SGETRI (const tint* n,
1630  float* a,
1631  const tint* lda,
1632  tint* ipiv,
1633  float* work,
1634  const tint* lwork,
1635  tint* info);
1636 void CVM_STD_CALL DGETRI (const tint* n,
1637  double* a,
1638  const tint* lda,
1639  tint* ipiv,
1640  double* work,
1641  const tint* lwork,
1642  tint* info);
1643 
1644 void CVM_STD_CALL CGETRI (const tint* n,
1645  std::complex<float>* a,
1646  const tint* lda,
1647  tint* ipiv,
1648  std::complex<float>* work,
1649  const tint* lwork,
1650  tint* info);
1651 void CVM_STD_CALL ZGETRI (const tint* n,
1652  std::complex<double>* a,
1653  const tint* lda,
1654  tint* ipiv,
1655  std::complex<double>* work,
1656  const tint* lwork,
1657  tint* info);
1658 
1659 void CVM_STD_CALL SGEBRD (const tint* m,
1660  const tint* n,
1661  float* a,
1662  const tint* lda,
1663  float* d,
1664  float* e,
1665  float* tauq,
1666  float* taup,
1667  float* work,
1668  const tint* lwork,
1669  tint* info);
1670 void CVM_STD_CALL DGEBRD (const tint* m,
1671  const tint* n,
1672  double* a,
1673  const tint* lda,
1674  double* d,
1675  double* e,
1676  double* tauq,
1677  double* taup,
1678  double* work,
1679  const tint* lwork,
1680  tint* info);
1681 
1682 void CVM_STD_CALL CGEBRD (const tint* m,
1683  const tint* n,
1684  std::complex<float>* a,
1685  const tint* lda,
1686  float* d,
1687  float* e,
1688  std::complex<float>* tauq,
1689  std::complex<float>* taup,
1690  std::complex<float>* work,
1691  const tint* lwork,
1692  tint* info);
1693 void CVM_STD_CALL ZGEBRD (const tint* m,
1694  const tint* n,
1695  std::complex<double>* a,
1696  const tint* lda,
1697  double* d,
1698  double* e,
1699  std::complex<double>* tauq,
1700  std::complex<double>* taup,
1701  std::complex<double>* work,
1702  const tint* lwork,
1703  tint* info);
1704 
1705 void CVM_STD_CALL SGBBRD (const char* vect,
1706 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1707  const tint vectsz,
1708 #endif
1709  const tint* m,
1710  const tint* n,
1711  const tint* ncc,
1712  const tint* kl,
1713  const tint* ku,
1714  float* ab,
1715  const tint* ldab,
1716  float* d,
1717  float* e,
1718  float* q,
1719  const tint* ldq,
1720  float* pt,
1721  const tint* ldpt,
1722  float* c,
1723  const tint* ldc,
1724  float* work,
1725  tint* info);
1726 
1727 void CVM_STD_CALL DGBBRD (const char* vect,
1728 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1729  const tint vectsz,
1730 #endif
1731  const tint* m,
1732  const tint* n,
1733  const tint* ncc,
1734  const tint* kl,
1735  const tint* ku,
1736  double* ab,
1737  const tint* ldab,
1738  double* d,
1739  double* e,
1740  double* q,
1741  const tint* ldq,
1742  double* pt,
1743  const tint* ldpt,
1744  double* c,
1745  const tint* ldc,
1746  double* work,
1747  tint* info);
1748 
1749 void CVM_STD_CALL CGBBRD (const char* vect,
1750 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1751  const tint vectsz,
1752 #endif
1753  const tint* m,
1754  const tint* n,
1755  const tint* ncc,
1756  const tint* kl,
1757  const tint* ku,
1758  std::complex<float>* ab,
1759  const tint* ldab,
1760  float* d,
1761  float* e,
1762  std::complex<float>* q,
1763  const tint* ldq,
1764  std::complex<float>* pt,
1765  const tint* ldpt,
1766  std::complex<float>* c,
1767  const tint* ldc,
1768  std::complex<float>* work,
1769  float* rwork,
1770  tint* info);
1771 
1772 void CVM_STD_CALL ZGBBRD (const char* vect,
1773 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1774  const tint vectsz,
1775 #endif
1776  const tint* m,
1777  const tint* n,
1778  const tint* ncc,
1779  const tint* kl,
1780  const tint* ku,
1781  std::complex<double>* ab,
1782  const tint* ldab,
1783  double* d,
1784  double* e,
1785  std::complex<double>* q,
1786  const tint* ldq,
1787  std::complex<double>* pt,
1788  const tint* ldpt,
1789  std::complex<double>* c,
1790  const tint* ldc,
1791  std::complex<double>* work,
1792  double* rwork,
1793  tint* info);
1794 
1795 void CVM_STD_CALL SORGBR (const char* uplo,
1796 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1797  const tint uplosz,
1798 #endif
1799  const tint* m,
1800  const tint* n,
1801  const tint* k,
1802  float* a,
1803  const tint* lda,
1804  float* tau,
1805  float* work,
1806  const tint* lwork,
1807  tint* info);
1808 void CVM_STD_CALL DORGBR (const char* uplo,
1809 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1810  const tint uplosz,
1811 #endif
1812  const tint* m,
1813  const tint* n,
1814  const tint* k,
1815  double* a,
1816  const tint* lda,
1817  double* tau,
1818  double* work,
1819  const tint* lwork,
1820  tint* info
1821  );
1822 
1823 void CVM_STD_CALL CUNGBR (const char* uplo,
1824 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1825  const tint uplosz,
1826 #endif
1827  const tint* m,
1828  const tint* n,
1829  const tint* k,
1830  std::complex<float>* a,
1831  const tint* lda,
1832  std::complex<float>* tau,
1833  std::complex<float>* work,
1834  const tint* lwork,
1835  tint* info);
1836 void CVM_STD_CALL ZUNGBR (const char* uplo,
1837 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1838  const tint uplosz,
1839 #endif
1840  const tint* m,
1841  const tint* n,
1842  const tint* k,
1843  std::complex<double>* a,
1844  const tint* lda,
1845  std::complex<double>* tau,
1846  std::complex<double>* work,
1847  const tint* lwork,
1848  tint* info);
1849 
1850 void CVM_STD_CALL SBDSQR (const char* uplo,
1851 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1852  const tint uplosz,
1853 #endif
1854  const tint* n,
1855  const tint* ncvt,
1856  const tint* nru,
1857  const tint* ncc,
1858  float* d,
1859  float* e,
1860  float* vt,
1861  const tint* ldvt,
1862  float* u,
1863  const tint* ldu,
1864  float* c,
1865  const tint* ldc,
1866  float* work,
1867  tint* info);
1868 void CVM_STD_CALL DBDSQR (const char* uplo,
1869 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1870  const tint uplosz,
1871 #endif
1872  const tint* n,
1873  const tint* ncvt,
1874  const tint* nru,
1875  const tint* ncc,
1876  double* d,
1877  double* e,
1878  double* vt,
1879  const tint* ldvt,
1880  double* u,
1881  const tint* ldu,
1882  double* c,
1883  const tint* ldc,
1884  double* work,
1885  tint* info);
1886 
1887 void CVM_STD_CALL CBDSQR (const char* uplo,
1888 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1889  const tint uplosz,
1890 #endif
1891  const tint* n,
1892  const tint* ncvt,
1893  const tint* nru,
1894  const tint* ncc,
1895  float* d,
1896  float* e,
1897  std::complex<float>* vt,
1898  const tint* ldvt,
1899  std::complex<float>* u,
1900  const tint* ldu,
1901  std::complex<float>* c,
1902  const tint* ldc,
1903  float* work,
1904  tint* info);
1905 void CVM_STD_CALL ZBDSQR (const char* uplo,
1906 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1907  const tint uplosz,
1908 #endif
1909  const tint* n,
1910  const tint* ncvt,
1911  const tint* nru,
1912  const tint* ncc,
1913  double* d,
1914  double* e,
1915  std::complex<double>* vt,
1916  const tint* ldvt,
1917  std::complex<double>* u,
1918  const tint* ldu,
1919  std::complex<double>* c,
1920  const tint* ldc,
1921  double* work,
1922  tint* info);
1923 
1924 void CVM_STD_CALL SGEBAL (const char* job,
1925 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1926  const tint jobsz,
1927 #endif
1928  const tint* n,
1929  float* a,
1930  const tint* lda,
1931 
1932  tint* ilo,
1933  tint* ihi,
1934  float* scale,
1935  tint* info);
1936 void CVM_STD_CALL DGEBAL (const char* job,
1937 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1938  const tint jobsz,
1939 #endif
1940  const tint* n,
1941  double* a,
1942  const tint* lda,
1943 
1944  tint* ilo,
1945  tint* ihi,
1946  double* scale,
1947  tint* info);
1948 
1949 void CVM_STD_CALL CGEBAL (const char* job,
1950 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1951  const tint jobsz,
1952 #endif
1953  const tint* n,
1954  std::complex<float>* a,
1955  const tint* lda,
1956  tint* ilo,
1957  tint* ihi,
1958  float* scale,
1959  tint* info);
1960 void CVM_STD_CALL ZGEBAL (const char* job,
1961 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
1962  const tint jobsz,
1963 #endif
1964  const tint* n,
1965  std::complex<double>* a,
1966  const tint* lda,
1967  tint* ilo,
1968  tint* ihi,
1969  double* scale,
1970  tint* info);
1971 
1972 void CVM_STD_CALL SGEHRD (const tint* n,
1973  const tint* ilo,
1974  const tint* ihi,
1975  float* a,
1976  const tint* lda,
1977  float* tau,
1978  float* work,
1979  const tint* lwork,
1980  tint* info);
1981 void CVM_STD_CALL DGEHRD (const tint* n,
1982  const tint* ilo,
1983  const tint* ihi,
1984  double* a,
1985  const tint* lda,
1986  double* tau,
1987  double* work,
1988  const tint* lwork,
1989  tint* info);
1990 
1991 void CVM_STD_CALL CGEHRD (const tint* n,
1992  const tint* ilo,
1993  const tint* ihi,
1994  std::complex<float>* a,
1995  const tint* lda,
1996  std::complex<float>* tau,
1997  std::complex<float>* work,
1998  const tint* lwork,
1999  tint* info);
2000 void CVM_STD_CALL ZGEHRD (const tint* n,
2001  const tint* ilo,
2002  const tint* ihi,
2003  std::complex<double>* a,
2004  const tint* lda,
2005  std::complex<double>* tau,
2006  std::complex<double>* work,
2007  const tint* lwork,
2008  tint* info);
2009 
2010 void CVM_STD_CALL SORGHR (const tint* n,
2011  const tint* ilo,
2012  const tint* ihi,
2013  float* a,
2014  const tint* lda,
2015  float* tau,
2016  float* work,
2017  const tint* lwork,
2018  tint* info);
2019 void CVM_STD_CALL DORGHR (const tint* n,
2020  const tint* ilo,
2021  const tint* ihi,
2022  double* a,
2023  const tint* lda,
2024  double* tau,
2025  double* work,
2026  const tint* lwork,
2027  tint* info);
2028 
2029 void CVM_STD_CALL CUNGHR (const tint* n,
2030  const tint* ilo,
2031  const tint* ihi,
2032  std::complex<float>* a,
2033  const tint* lda,
2034  std::complex<float>* tau,
2035  std::complex<float>* work,
2036  const tint* lwork,
2037  tint* info);
2038 void CVM_STD_CALL ZUNGHR (const tint* n,
2039  const tint* ilo,
2040  const tint* ihi,
2041  std::complex<double>* a,
2042  const tint* lda,
2043  std::complex<double>* tau,
2044  std::complex<double>* work,
2045  const tint* lwork,
2046  tint* info);
2047 
2048 void CVM_STD_CALL SHSEQR (const char* job,
2049 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2050  const tint jobsz,
2051 #endif
2052  const char* compz,
2053 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2054  const tint compzsz,
2055 #endif
2056  const tint* n,
2057  const tint* ilo,
2058  const tint* ihi,
2059  float* h,
2060  const tint* ldh,
2061  float* wr,
2062  float* wi,
2063  float* z,
2064  const tint* ldz,
2065  float* work,
2066  const tint* lwork,
2067  tint* info);
2068 void CVM_STD_CALL DHSEQR (const char* job,
2069 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2070  const tint jobsz,
2071 #endif
2072  const char* compz,
2073 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2074  const tint compzsz,
2075 #endif
2076  const tint* n,
2077  const tint* ilo,
2078  const tint* ihi,
2079  double* h,
2080  const tint* ldh,
2081  double* wr,
2082  double* wi,
2083  double* z,
2084  const tint* ldz,
2085  double* work,
2086  const tint* lwork,
2087  tint* info);
2088 
2089 void CVM_STD_CALL CHSEQR (const char* job,
2090 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2091  const tint jobsz,
2092 #endif
2093  const char* compz,
2094 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2095  const tint compzsz,
2096 #endif
2097  const tint* n,
2098  const tint* ilo,
2099  const tint* ihi,
2100  std::complex<float>* h,
2101  const tint* ldh,
2102  std::complex<float>* w,
2103  std::complex<float>* z,
2104  const tint* ldz,
2105  std::complex<float>* work,
2106  const tint* lwork,
2107  tint* info);
2108 void CVM_STD_CALL ZHSEQR (const char* job,
2109 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2110  const tint jobsz,
2111 #endif
2112  const char* compz,
2113 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2114  const tint compzsz,
2115 #endif
2116  const tint* n,
2117  const tint* ilo,
2118  const tint* ihi,
2119  std::complex<double>* h,
2120  const tint* ldh,
2121  std::complex<double>* w,
2122  std::complex<double>* z,
2123  const tint* ldz,
2124  std::complex<double>* work,
2125  const tint* lwork,
2126  tint* info);
2127 
2128 void CVM_STD_CALL STREVC (const char* job,
2129 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2130  const tint jobsz,
2131 #endif
2132  const char* howmny,
2133 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2134  const tint howmnysz,
2135 #endif
2136  const tint* select, // CAUTION! We assume that LOGICAL datatype is 4-byte long
2137  const tint* n,
2138  float* t,
2139  const tint* ldt,
2140  float* vl,
2141  const tint* ldvl,
2142  float* vr,
2143  const tint* ldvr,
2144  const tint* mm,
2145  tint* m,
2146  float* work,
2147  tint* info);
2148 void CVM_STD_CALL DTREVC (const char* job,
2149 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2150  const tint jobsz,
2151 #endif
2152  const char* howmny,
2153 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2154  const tint howmnysz,
2155 #endif
2156  const tint* select, // CAUTION! We assume that LOGICAL datatype is 4-byte long
2157  const tint* n,
2158  double* t,
2159  const tint* ldt,
2160  double* vl,
2161  const tint* ldvl,
2162  double* vr,
2163  const tint* ldvr,
2164  const tint* mm,
2165  tint* m,
2166  double* work,
2167  tint* info);
2168 
2169 void CVM_STD_CALL CTREVC (const char* job,
2170 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2171  const tint jobsz,
2172 #endif
2173  const char* howmny,
2174 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2175  const tint howmnysz,
2176 #endif
2177  const tint* select, // CAUTION! We assume that LOGICAL datatype is 4-byte long
2178  const tint* n,
2179  std::complex<float>* t,
2180  const tint* ldt,
2181  std::complex<float>* vl,
2182  const tint* ldvl,
2183  std::complex<float>* vr,
2184  const tint* ldvr,
2185  const tint* mm,
2186  tint* m,
2187  std::complex<float>* work,
2188  float* rwork,
2189  tint* info);
2190 void CVM_STD_CALL ZTREVC (const char* job,
2191 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2192  const tint jobsz,
2193 #endif
2194  const char* howmny,
2195 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2196  const tint howmnysz,
2197 #endif
2198  const tint* select, // CAUTION! We assume that LOGICAL datatype is 4-byte long
2199  const tint* n,
2200  std::complex<double>* t,
2201  const tint* ldt,
2202  std::complex<double>* vl,
2203  const tint* ldvl,
2204  std::complex<double>* vr,
2205  const tint* ldvr,
2206  const tint* mm,
2207  tint* m,
2208  std::complex<double>* work,
2209  double* rwork,
2210  tint* info);
2211 
2212 void CVM_STD_CALL SGEBAK (const char* job,
2213 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2214  const tint jobsz,
2215 #endif
2216  const char* side,
2217 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2218  const tint sidesz,
2219 #endif
2220  const tint* n,
2221  const tint* ilo,
2222  const tint* ihi,
2223  float* scale,
2224  const tint* m,
2225  float* v,
2226  const tint* ldv,
2227  tint* info);
2228 void CVM_STD_CALL DGEBAK (const char* job,
2229 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2230  const tint jobsz,
2231 #endif
2232  const char* side,
2233 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2234  const tint sidesz,
2235 #endif
2236  const tint* n,
2237  const tint* ilo,
2238  const tint* ihi,
2239  double* scale,
2240  const tint* m,
2241  double* v,
2242  const tint* ldv,
2243  tint* info);
2244 
2245 void CVM_STD_CALL CGEBAK (const char* job,
2246 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2247  const tint jobsz,
2248 #endif
2249  const char* side,
2250 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2251  const tint sidesz,
2252 #endif
2253  const tint* n,
2254  const tint* ilo,
2255  const tint* ihi,
2256  float* scale,
2257  const tint* m,
2258  std::complex<float>* v,
2259  const tint* ldv,
2260  tint* info);
2261 void CVM_STD_CALL ZGEBAK (const char* job,
2262 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2263  const tint jobsz,
2264 #endif
2265  const char* side,
2266 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2267  const tint sidesz,
2268 #endif
2269  const tint* n,
2270  const tint* ilo,
2271  const tint* ihi,
2272  double* scale,
2273  const tint* m,
2274  std::complex<double>* v,
2275  const tint* ldv,
2276  tint* info);
2277 
2278 void CVM_STD_CALL SGECON (const char* norm,
2279 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2280  const tint normsz,
2281 #endif
2282  const tint* n,
2283  float* a, // const
2284  const tint* lda,
2285  const float* anorm,
2286  float* rcond,
2287  float* work,
2288  tint* iwork,
2289  tint* info);
2290 void CVM_STD_CALL DGECON (const char* norm,
2291 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2292  const tint normsz,
2293 #endif
2294  const tint* n,
2295  double* a, // const
2296  const tint* lda,
2297  const double* anorm,
2298  double* rcond,
2299  double* work,
2300  tint* iwork,
2301  tint* info);
2302 
2303 void CVM_STD_CALL CGECON (const char* norm,
2304 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2305  const tint normsz,
2306 #endif
2307  const tint* n,
2308  std::complex<float>* a, // const
2309  const tint* lda,
2310  const float* anorm,
2311  float* rcond,
2312  std::complex<float>* work,
2313  float* rwork,
2314  tint* info);
2315 void CVM_STD_CALL ZGECON (const char* norm,
2316 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2317  const tint normsz,
2318 #endif
2319  const tint* n,
2320  std::complex<double>* a, // const
2321  const tint* lda,
2322  const double* anorm,
2323  double* rcond,
2324  std::complex<double>* work,
2325  double* rwork,
2326  tint* info);
2327 
2328 void CVM_STD_CALL SSPMV (const char* uplo,
2329 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2330  const tint uplosz,
2331 #endif
2332  const tint* n,
2333  const float* alpha,
2334  const float* ap,
2335  const float* x,
2336  const tint* incx,
2337  const float* beta,
2338  float* y,
2339  const tint* incy);
2340 
2341 void CVM_STD_CALL DSPMV (const char* uplo,
2342 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2343  const tint uplosz,
2344 #endif
2345  const tint* n,
2346  const double* alpha,
2347  const double* ap,
2348  const double* x,
2349  const tint* incx,
2350  const double* beta,
2351  double* y,
2352  const tint* incy);
2353 
2354 void CVM_STD_CALL SSYMM (const char* side,
2355 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2356  const tint sidesz,
2357 #endif
2358  const char* uplo,
2359 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2360  const tint uplosz,
2361 #endif
2362  const tint* m,
2363  const tint* n,
2364  const float* alpha,
2365  const float* a,
2366  const tint* lda,
2367  const float* b,
2368  const tint* ldb,
2369  const float* beta,
2370  float* c,
2371  const tint* ldc);
2372 
2373 void CVM_STD_CALL DSYMM (const char* side,
2374 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2375  const tint sidesz,
2376 #endif
2377  const char* uplo,
2378 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2379  const tint uplosz,
2380 #endif
2381  const tint* m,
2382  const tint* n,
2383  const double* alpha,
2384  const double* a,
2385  const tint* lda,
2386  const double* b,
2387  const tint* ldb,
2388  const double* beta,
2389  double* c,
2390  const tint* ldc);
2391 
2392 void CVM_STD_CALL CSYMM (const char* side,
2393 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2394  const tint sidesz,
2395 #endif
2396  const char* uplo,
2397 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2398  const tint uplosz,
2399 #endif
2400  const tint* m,
2401  const tint* n,
2402  const std::complex<float>* alpha,
2403  const std::complex<float>* a,
2404  const tint* lda,
2405  const std::complex<float>* b,
2406  const tint* ldb,
2407  const std::complex<float>* beta,
2408  std::complex<float>* c,
2409  const tint* ldc);
2410 
2411 void CVM_STD_CALL ZSYMM (const char* side,
2412 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2413  const tint sidesz,
2414 #endif
2415  const char* uplo,
2416 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2417  const tint uplosz,
2418 #endif
2419  const tint* m,
2420  const tint* n,
2421  const std::complex<double>* alpha,
2422  const std::complex<double>* a,
2423  const tint* lda,
2424  const std::complex<double>* b,
2425  const tint* ldb,
2426  const std::complex<double>* beta,
2427  std::complex<double>* c,
2428  const tint* ldc);
2429 
2430 void CVM_STD_CALL CHEMM (const char* side,
2431 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2432  const tint sidesz,
2433 #endif
2434  const char* uplo,
2435 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2436  const tint uplosz,
2437 #endif
2438  const tint* m,
2439  const tint* n,
2440  const std::complex<float>* alpha,
2441  const std::complex<float>* a,
2442  const tint* lda,
2443  const std::complex<float>* b,
2444  const tint* ldb,
2445  const std::complex<float>* beta,
2446  std::complex<float>* c,
2447  const tint* ldc);
2448 
2449 void CVM_STD_CALL ZHEMM (const char* side,
2450 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2451  const tint sidesz,
2452 #endif
2453  const char* uplo,
2454 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2455  const tint uplosz,
2456 #endif
2457  const tint* m,
2458  const tint* n,
2459  const std::complex<double>* alpha,
2460  const std::complex<double>* a,
2461  const tint* lda,
2462  const std::complex<double>* b,
2463  const tint* ldb,
2464  const std::complex<double>* beta,
2465  std::complex<double>* c,
2466  const tint* ldc);
2467 
2468 void CVM_STD_CALL SPOTRF (const char* uplo,
2469 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2470  const tint uplosz,
2471 #endif
2472  const tint* n,
2473  float* a,
2474  const tint* lda,
2475  tint* info);
2476 
2477 void CVM_STD_CALL DPOTRF (const char* uplo,
2478 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2479  const tint uplosz,
2480 #endif
2481  const tint* n,
2482  double* a,
2483  const tint* lda,
2484  tint* info);
2485 
2486 void CVM_STD_CALL CPOTRF (const char* uplo,
2487 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2488  const tint uplosz,
2489 #endif
2490  const tint* n,
2491  std::complex<float>* a,
2492  const tint* lda,
2493  tint* info);
2494 
2495 void CVM_STD_CALL ZPOTRF (const char* uplo,
2496 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2497  const tint uplosz,
2498 #endif
2499  const tint* n,
2500  std::complex<double>* a,
2501  const tint* lda,
2502  tint* info);
2503 
2504 void CVM_STD_CALL SSYTRF (const char* uplo,
2505 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2506  const tint uplosz,
2507 #endif
2508  const tint* n,
2509  float* a,
2510  const tint* lda,
2511  tint* ipiv,
2512  float* work,
2513  const tint* lwork,
2514  tint* info);
2515 
2516 void CVM_STD_CALL DSYTRF (const char* uplo,
2517 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2518  const tint uplosz,
2519 #endif
2520  const tint* n,
2521  double* a,
2522  const tint* lda,
2523  tint* ipiv,
2524  double* work,
2525  const tint* lwork,
2526  tint* info);
2527 
2528 void CVM_STD_CALL CSYTRF (const char* uplo,
2529 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2530  const tint uplosz,
2531 #endif
2532  const tint* n,
2533  std::complex<float>* a,
2534  const tint* lda,
2535  tint* ipiv,
2536  std::complex<float>* work,
2537  const tint* lwork,
2538  tint* info);
2539 
2540 void CVM_STD_CALL ZSYTRF (const char* uplo,
2541 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2542  const tint uplosz,
2543 #endif
2544  const tint* n,
2545  std::complex<double>* a,
2546  const tint* lda,
2547  tint* ipiv,
2548  std::complex<double>* work,
2549  const tint* lwork,
2550  tint* info);
2551 
2552 void CVM_STD_CALL CHETRF (const char* uplo,
2553 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2554  const tint uplosz,
2555 #endif
2556  const tint* n,
2557  std::complex<float>* a,
2558  const tint* lda,
2559  tint* ipiv,
2560  std::complex<float>* work,
2561  const tint* lwork,
2562  tint* info);
2563 
2564 void CVM_STD_CALL ZHETRF (const char* uplo,
2565 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2566  const tint uplosz,
2567 #endif
2568  const tint* n,
2569  std::complex<double>* a,
2570  const tint* lda,
2571  tint* ipiv,
2572  std::complex<double>* work,
2573  const tint* lwork,
2574  tint* info);
2575 
2576 void CVM_STD_CALL SPOTRS (const char* uplo,
2577 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2578  const tint uplosz,
2579 #endif
2580  const tint* n,
2581  const tint* nrhs,
2582  const float* a,
2583  const tint* lda,
2584  float* b,
2585  const tint* ldb,
2586  tint* info);
2587 
2588 void CVM_STD_CALL DPOTRS (const char* uplo,
2589 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2590  const tint uplosz,
2591 #endif
2592  const tint* n,
2593  const tint* nrhs,
2594  const double* a,
2595  const tint* lda,
2596  double* b,
2597  const tint* ldb,
2598  tint* info);
2599 
2600 void CVM_STD_CALL CPOTRS (const char* uplo,
2601 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2602  const tint uplosz,
2603 #endif
2604  const tint* n,
2605  const tint* nrhs,
2606  const std::complex<float>* a,
2607  const tint* lda,
2608  std::complex<float>* b,
2609  const tint* ldb,
2610  tint* info);
2611 
2612 void CVM_STD_CALL ZPOTRS (const char* uplo,
2613 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2614  const tint uplosz,
2615 #endif
2616  const tint* n,
2617  const tint* nrhs,
2618  const std::complex<double>* a,
2619  const tint* lda,
2620  std::complex<double>* b,
2621  const tint* ldb,
2622  tint* info);
2623 
2624 void CVM_STD_CALL SPORFS (const char* uplo,
2625 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2626  const tint uplosz,
2627 #endif
2628  const tint* n,
2629  const tint* nrhs,
2630  const float* a,
2631  const tint* lda,
2632  const float* af,
2633  const tint* ldaf,
2634  const float* b,
2635  const tint* ldb,
2636  float* x,
2637  const tint* ldx,
2638  float* ferr,
2639  float* berr,
2640  float* work,
2641  tint* iwork,
2642  tint* info);
2643 
2644 void CVM_STD_CALL DPORFS (const char* uplo,
2645 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2646  const tint uplosz,
2647 #endif
2648  const tint* n,
2649  const tint* nrhs,
2650  const double* a,
2651  const tint* lda,
2652  const double* af,
2653  const tint* ldaf,
2654  const double* b,
2655  const tint* ldb,
2656  double* x,
2657  const tint* ldx,
2658  double* ferr,
2659  double* berr,
2660  double* work,
2661  tint* iwork,
2662  tint* info);
2663 
2664 void CVM_STD_CALL CPORFS (const char* uplo,
2665 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2666  const tint uplosz,
2667 #endif
2668  const tint* n,
2669  const tint* nrhs,
2670  const std::complex<float>* a,
2671  const tint* lda,
2672  const std::complex<float>* af,
2673  const tint* ldaf,
2674  const std::complex<float>* b,
2675  const tint* ldb,
2676  std::complex<float>* x,
2677  const tint* ldx,
2678  float* ferr,
2679  float* berr,
2680  std::complex<float>* work,
2681  float* rwork,
2682  tint* info);
2683 
2684 void CVM_STD_CALL ZPORFS (const char* uplo,
2685 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2686  const tint uplosz,
2687 #endif
2688  const tint* n,
2689  const tint* nrhs,
2690  const std::complex<double>* a,
2691  const tint* lda,
2692  const std::complex<double>* af,
2693  const tint* ldaf,
2694  const std::complex<double>* b,
2695  const tint* ldb,
2696  std::complex<double>* x,
2697  const tint* ldx,
2698  double* ferr,
2699  double* berr,
2700  std::complex<double>* work,
2701  double* rwork,
2702  tint* info);
2703 
2704 void CVM_STD_CALL SSYTRS (const char* uplo,
2705 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2706  const tint uplosz,
2707 #endif
2708  const tint* n,
2709  const tint* nrhs,
2710  const float* a,
2711  const tint* lda,
2712  const tint* ipiv,
2713  float* b,
2714  const tint* ldb,
2715  tint* info);
2716 
2717 void CVM_STD_CALL DSYTRS (const char* uplo,
2718 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2719  const tint uplosz,
2720 #endif
2721  const tint* n,
2722  const tint* nrhs,
2723  const double* a,
2724  const tint* lda,
2725  const tint* ipiv,
2726  double* b,
2727  const tint* ldb,
2728  tint* info);
2729 
2730 void CVM_STD_CALL CSYTRS (const char* uplo,
2731 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2732  const tint uplosz,
2733 #endif
2734  const tint* n,
2735  const tint* nrhs,
2736  const std::complex<float>* a,
2737  const tint* lda,
2738  const tint* ipiv,
2739  std::complex<float>* b,
2740  const tint* ldb,
2741  tint* info);
2742 
2743 void CVM_STD_CALL ZSYTRS (const char* uplo,
2744 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2745  const tint uplosz,
2746 #endif
2747  const tint* n,
2748  const tint* nrhs,
2749  const std::complex<double>* a,
2750  const tint* lda,
2751  const tint* ipiv,
2752  std::complex<double>* b,
2753  const tint* ldb,
2754  tint* info);
2755 
2756 void CVM_STD_CALL CHETRS (const char* uplo,
2757 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2758  const tint uplosz,
2759 #endif
2760  const tint* n,
2761  const tint* nrhs,
2762  const std::complex<float>* a,
2763  const tint* lda,
2764  const tint* ipiv,
2765  std::complex<float>* b,
2766  const tint* ldb,
2767  tint* info);
2768 
2769 void CVM_STD_CALL ZHETRS (const char* uplo,
2770 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2771  const tint uplosz,
2772 #endif
2773  const tint* n,
2774  const tint* nrhs,
2775  const std::complex<double>* a,
2776  const tint* lda,
2777  const tint* ipiv,
2778  std::complex<double>* b,
2779  const tint* ldb,
2780  tint* info);
2781 
2782 void CVM_STD_CALL SSYRFS (const char* uplo,
2783 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2784  const tint uplosz,
2785 #endif
2786  const tint* n,
2787  const tint* nrhs,
2788  const float* a,
2789  const tint* lda,
2790  const float* af,
2791  const tint* ldaf,
2792  const tint* ipiv,
2793  const float* b,
2794  const tint* ldb,
2795  float* x,
2796  const tint* ldx,
2797  float* ferr,
2798  float* berr,
2799  float* work,
2800  tint* iwork,
2801  tint* info);
2802 
2803 void CVM_STD_CALL DSYRFS (const char* uplo,
2804 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2805  const tint uplosz,
2806 #endif
2807  const tint* n,
2808  const tint* nrhs,
2809  const double* a,
2810  const tint* lda,
2811  const double* af,
2812  const tint* ldaf,
2813  const tint* ipiv,
2814  const double* b,
2815  const tint* ldb,
2816  double* x,
2817  const tint* ldx,
2818  double* ferr,
2819  double* berr,
2820  double* work,
2821  tint* iwork,
2822  tint* info);
2823 
2824 void CVM_STD_CALL CSYRFS (const char* uplo,
2825 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2826  const tint uplosz,
2827 #endif
2828  const tint* n,
2829  const tint* nrhs,
2830  const std::complex<float>* a,
2831  const tint* lda,
2832  const std::complex<float>* af,
2833  const tint* ldaf,
2834  const tint* ipiv,
2835  const std::complex<float>* b,
2836  const tint* ldb,
2837  std::complex<float>* x,
2838  const tint* ldx,
2839  float* ferr,
2840  float* berr,
2841  std::complex<float>* work,
2842  float* rwork,
2843  tint* info);
2844 
2845 void CVM_STD_CALL ZSYRFS (const char* uplo,
2846 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2847  const tint uplosz,
2848 #endif
2849  const tint* n,
2850  const tint* nrhs,
2851  const std::complex<double>* a,
2852  const tint* lda,
2853  const std::complex<double>* af,
2854  const tint* ldaf,
2855  const tint* ipiv,
2856  const std::complex<double>* b,
2857  const tint* ldb,
2858  std::complex<double>* x,
2859  const tint* ldx,
2860  double* ferr,
2861  double* berr,
2862  std::complex<double>* work,
2863  double* rwork,
2864  tint* info);
2865 
2866 void CVM_STD_CALL CHERFS (const char* uplo,
2867 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2868  const tint uplosz,
2869 #endif
2870  const tint* n,
2871  const tint* nrhs,
2872  const std::complex<float>* a,
2873  const tint* lda,
2874  const std::complex<float>* af,
2875  const tint* ldaf,
2876  const tint* ipiv,
2877  const std::complex<float>* b,
2878  const tint* ldb,
2879  std::complex<float>* x,
2880  const tint* ldx,
2881  float* ferr,
2882  float* berr,
2883  std::complex<float>* work,
2884  float* rwork,
2885  tint* info);
2886 
2887 void CVM_STD_CALL ZHERFS (const char* uplo,
2888 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2889  const tint uplosz,
2890 #endif
2891  const tint* n,
2892  const tint* nrhs,
2893  const std::complex<double>* a,
2894  const tint* lda,
2895  const std::complex<double>* af,
2896  const tint* ldaf,
2897  const tint* ipiv,
2898  const std::complex<double>* b,
2899  const tint* ldb,
2900  std::complex<double>* x,
2901  const tint* ldx,
2902  double* ferr,
2903  double* berr,
2904  std::complex<double>* work,
2905  double* rwork,
2906  tint* info);
2907 
2908 void CVM_STD_CALL SPOTRI (const char* uplo,
2909 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2910  const tint uplosz,
2911 #endif
2912  const tint* n,
2913  float* a,
2914  const tint* lda,
2915  tint* info);
2916 
2917 void CVM_STD_CALL DPOTRI (const char* uplo,
2918 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2919  const tint uplosz,
2920 #endif
2921  const tint* n,
2922  double* a,
2923  const tint* lda,
2924  tint* info);
2925 
2926 void CVM_STD_CALL CPOTRI (const char* uplo,
2927 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2928  const tint uplosz,
2929 #endif
2930  const tint* n,
2931  std::complex<float>* a,
2932  const tint* lda,
2933  tint* info);
2934 
2935 void CVM_STD_CALL ZPOTRI (const char* uplo,
2936 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2937  const tint uplosz,
2938 #endif
2939  const tint* n,
2940  std::complex<double>* a,
2941  const tint* lda,
2942  tint* info);
2943 
2944 void CVM_STD_CALL SSYTRI (const char* uplo,
2945 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2946  const tint uplosz,
2947 #endif
2948  const tint* n,
2949  float* a,
2950  const tint* lda,
2951  const tint* ipiv,
2952  float* work,
2953  tint* info);
2954 
2955 void CVM_STD_CALL DSYTRI (const char* uplo,
2956 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2957  const tint uplosz,
2958 #endif
2959  const tint* n,
2960  double* a,
2961  const tint* lda,
2962  const tint* ipiv,
2963  double* work,
2964  tint* info);
2965 
2966 void CVM_STD_CALL CSYTRI (const char* uplo,
2967 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2968  const tint uplosz,
2969 #endif
2970  const tint* n,
2971  std::complex<float>* a,
2972  const tint* lda,
2973  const tint* ipiv,
2974  std::complex<float>* work,
2975  tint* info);
2976 
2977 void CVM_STD_CALL ZSYTRI (const char* uplo,
2978 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2979  const tint uplosz,
2980 #endif
2981  const tint* n,
2982  std::complex<double>* a,
2983  const tint* lda,
2984  const tint* ipiv,
2985  std::complex<double>* work,
2986  tint* info);
2987 
2988 void CVM_STD_CALL CHETRI (const char* uplo,
2989 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
2990  const tint uplosz,
2991 #endif
2992  const tint* n,
2993  std::complex<float>* a,
2994  const tint* lda,
2995  const tint* ipiv,
2996  std::complex<float>* work,
2997  tint* info);
2998 
2999 void CVM_STD_CALL ZHETRI (const char* uplo,
3000 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3001  const tint uplosz,
3002 #endif
3003  const tint* n,
3004  std::complex<double>* a,
3005  const tint* lda,
3006  const tint* ipiv,
3007  std::complex<double>* work,
3008  tint* info);
3009 
3010 void CVM_STD_CALL SSYEVD (const char* job,
3011 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3012  const tint jobsz,
3013 #endif
3014  const char* uplo,
3015 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3016  const tint uplosz,
3017 #endif
3018  const tint* n,
3019  float* a,
3020  const tint* lda,
3021  float* w,
3022  float* work,
3023  tint* lwork,
3024  tint* iwork,
3025  tint* liwork,
3026  tint* info);
3027 
3028 void CVM_STD_CALL DSYEVD (const char* job,
3029 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3030  const tint jobsz,
3031 #endif
3032  const char* uplo,
3033 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3034  const tint uplosz,
3035 #endif
3036  const tint* n,
3037  double* a,
3038  const tint* lda,
3039  double* w,
3040  double* work,
3041  tint* lwork,
3042  tint* iwork,
3043  tint* liwork,
3044  tint* info);
3045 
3046 void CVM_STD_CALL CHEEVD (const char* job,
3047 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3048  const tint jobsz,
3049 #endif
3050  const char* uplo,
3051 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3052  const tint uplosz,
3053 #endif
3054  const tint* n,
3055  std::complex<float>* a,
3056  const tint* lda,
3057  float* w,
3058  std::complex<float>* work,
3059  tint* lwork,
3060  float* rwork,
3061  tint* lrwork,
3062  tint* iwork,
3063  tint* liwork,
3064  tint* info);
3065 
3066 void CVM_STD_CALL ZHEEVD (const char* job,
3067 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3068  const tint jobsz,
3069 #endif
3070  const char* uplo,
3071 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3072  const tint uplosz,
3073 #endif
3074  const tint* n,
3075  std::complex<double>* a,
3076  const tint* lda,
3077  double* w,
3078  std::complex<double>* work,
3079  tint* lwork,
3080  double* rwork,
3081  tint* lrwork,
3082  tint* iwork,
3083  tint* liwork,
3084  tint* info);
3085 
3086 void CVM_STD_CALL SPOEQU (const tint* n,
3087  const float* a,
3088  const tint* lda,
3089  float* s,
3090  float* scond,
3091  float* amax,
3092  tint* info);
3093 
3094 void CVM_STD_CALL DPOEQU (const tint* n,
3095  const double* a,
3096  const tint* lda,
3097  double* s,
3098  double* scond,
3099  double* amax,
3100  tint* info);
3101 
3102 void CVM_STD_CALL CPOEQU (const tint* n,
3103  const std::complex<float>* a,
3104  const tint* lda,
3105  float* s,
3106  float* scond,
3107  float* amax,
3108  tint* info);
3109 
3110 void CVM_STD_CALL ZPOEQU (const tint* n,
3111  const std::complex<double>* a,
3112  const tint* lda,
3113  double* s,
3114  double* scond,
3115  double* amax,
3116  tint* info);
3117 
3118 void CVM_STD_CALL SSYMV (const char* uplo,
3119 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3120  const tint uplosz,
3121 #endif
3122  const tint* n,
3123  const float* alpha,
3124  const float* a,
3125  const tint* lda,
3126  const float* x,
3127  const tint* incx,
3128  const float* beta,
3129  float* y,
3130  const tint* incy);
3131 
3132 void CVM_STD_CALL DSYMV (const char* uplo,
3133 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3134  const tint uplosz,
3135 #endif
3136  const tint* n,
3137  const double* alpha,
3138  const double* a,
3139  const tint* lda,
3140  const double* x,
3141  const tint* incx,
3142  const double* beta,
3143  double* y,
3144  const tint* incy);
3145 
3146 void CVM_STD_CALL CHEMV (const char* uplo,
3147 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3148  const tint uplosz,
3149 #endif
3150  const tint* n,
3151  const std::complex<float>* alpha,
3152  const std::complex<float>* a,
3153  const tint* lda,
3154  const std::complex<float>* x,
3155  const tint* incx,
3156  const std::complex<float>* beta,
3157  std::complex<float>* y,
3158  const tint* incy);
3159 
3160 void CVM_STD_CALL ZHEMV (const char* uplo,
3161 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3162  const tint uplosz,
3163 #endif
3164  const tint* n,
3165  const std::complex<double>* alpha,
3166  const std::complex<double>* a,
3167  const tint* lda,
3168  const std::complex<double>* x,
3169  const tint* incx,
3170  const std::complex<double>* beta,
3171  std::complex<double>* y,
3172  const tint* incy);
3173 
3174 
3175 void CVM_STD_CALL SSYRK (const char* uplo,
3176 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3177  const tint uplosz,
3178 #endif
3179  const char* trans,
3180 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3181  const tint transsz,
3182 #endif
3183  const tint* n,
3184  const tint* k,
3185  const float* alpha,
3186  const float* a,
3187  const tint* lda,
3188  const float* beta,
3189  float* c,
3190  const tint* ldc);
3191 
3192 void CVM_STD_CALL DSYRK (const char* uplo,
3193 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3194  const tint uplosz,
3195 #endif
3196  const char* trans,
3197 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3198  const tint transsz,
3199 #endif
3200  const tint* n,
3201  const tint* k,
3202  const double* alpha,
3203  const double* a,
3204  const tint* lda,
3205  const double* beta,
3206  double* c,
3207  const tint* ldc);
3208 
3209 void CVM_STD_CALL CSYRK (const char* uplo,
3210 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3211  const tint uplosz,
3212 #endif
3213  const char* trans,
3214 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3215  const tint transsz,
3216 #endif
3217  const tint* n,
3218  const tint* k,
3219  const std::complex<float>* alpha,
3220  const std::complex<float>* a,
3221  const tint* lda,
3222  const std::complex<float>* beta,
3223  std::complex<float>* c,
3224  const tint* ldc);
3225 
3226 void CVM_STD_CALL ZSYRK (const char* uplo,
3227 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3228  const tint uplosz,
3229 #endif
3230  const char* trans,
3231 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3232  const tint transsz,
3233 #endif
3234  const tint* n,
3235  const tint* k,
3236  const std::complex<double>* alpha,
3237  const std::complex<double>* a,
3238  const tint* lda,
3239  const std::complex<double>* beta,
3240  std::complex<double>* c,
3241  const tint* ldc);
3242 
3243 void CVM_STD_CALL CHERK (const char* uplo,
3244 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3245  const tint uplosz,
3246 #endif
3247  const char* trans,
3248 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3249  const tint transsz,
3250 #endif
3251  const tint* n,
3252  const tint* k,
3253  const float* alpha,
3254  const std::complex<float>* a,
3255  const tint* lda,
3256  const float* beta,
3257  std::complex<float>* c,
3258  const tint* ldc);
3259 
3260 void CVM_STD_CALL ZHERK (const char* uplo,
3261 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3262  const tint uplosz,
3263 #endif
3264  const char* trans,
3265 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3266  const tint transsz,
3267 #endif
3268  const tint* n,
3269  const tint* k,
3270  const double* alpha,
3271  const std::complex<double>* a,
3272  const tint* lda,
3273  const double* beta,
3274  std::complex<double>* c,
3275  const tint* ldc);
3276 
3277 void CVM_STD_CALL SSYR2K (const char* uplo,
3278 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3279  const tint uplosz,
3280 #endif
3281  const char* trans,
3282 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3283  const tint transsz,
3284 #endif
3285  const tint* n,
3286  const tint* k,
3287  const float* alpha,
3288  const float* a,
3289  const tint* lda,
3290  const float* b,
3291  const tint* ldb,
3292  const float* beta,
3293  float* c,
3294  const tint* ldc);
3295 
3296 void CVM_STD_CALL DSYR2K (const char* uplo,
3297 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3298  const tint uplosz,
3299 #endif
3300  const char* trans,
3301 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3302  const tint transsz,
3303 #endif
3304  const tint* n,
3305  const tint* k,
3306  const double* alpha,
3307  const double* a,
3308  const tint* lda,
3309  const double* b,
3310  const tint* ldb,
3311  const double* beta,
3312  double* c,
3313  const tint* ldc);
3314 
3315 void CVM_STD_CALL CSYR2K (const char* uplo,
3316 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3317  const tint uplosz,
3318 #endif
3319  const char* trans,
3320 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3321  const tint transsz,
3322 #endif
3323  const tint* n,
3324  const tint* k,
3325  const std::complex<float>* alpha,
3326  const std::complex<float>* a,
3327  const tint* lda,
3328  const std::complex<float>* b,
3329  const tint* ldb,
3330  const std::complex<float>* beta,
3331  std::complex<float>* c,
3332  const tint* ldc);
3333 
3334 void CVM_STD_CALL ZSYR2K (const char* uplo,
3335 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3336  const tint uplosz,
3337 #endif
3338  const char* trans,
3339 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3340  const tint transsz,
3341 #endif
3342  const tint* n,
3343  const tint* k,
3344  const std::complex<double>* alpha,
3345  const std::complex<double>* a,
3346  const tint* lda,
3347  const std::complex<double>* b,
3348  const tint* ldb,
3349  const std::complex<double>* beta,
3350  std::complex<double>* c,
3351  const tint* ldc);
3352 
3353 void CVM_STD_CALL CHER2K (const char* uplo,
3354 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3355  const tint uplosz,
3356 #endif
3357  const char* trans,
3358 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3359  const tint transsz,
3360 #endif
3361  const tint* n,
3362  const tint* k,
3363  const std::complex<float>* alpha,
3364  const std::complex<float>* a,
3365  const tint* lda,
3366  const std::complex<float>* b,
3367  const tint* ldb,
3368  const float* beta,
3369  std::complex<float>* c,
3370  const tint* ldc);
3371 
3372 void CVM_STD_CALL ZHER2K (const char* uplo,
3373 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3374  const tint uplosz,
3375 #endif
3376  const char* trans,
3377 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3378  const tint transsz,
3379 #endif
3380  const tint* n,
3381  const tint* k,
3382  const std::complex<double>* alpha,
3383  const std::complex<double>* a,
3384  const tint* lda,
3385  const std::complex<double>* b,
3386  const tint* ldb,
3387  const double* beta,
3388  std::complex<double>* c,
3389  const tint* ldc);
3390 
3391 // QR subroutines
3392 void CVM_FTN_CALL SGEQRF (const tint* m,
3393  const tint* n,
3394  float* a,
3395  const tint* lda,
3396  float* tau,
3397  float* work,
3398  const tint* lwork,
3399  tint* info);
3400 
3401 void CVM_FTN_CALL DGEQRF (const tint* m,
3402  const tint* n,
3403  double* a,
3404  const tint* lda,
3405  double* tau,
3406  double* work,
3407  const tint* lwork,
3408  tint* info);
3409 
3410 void CVM_FTN_CALL CGEQRF (const tint* m,
3411  const tint* n,
3412  std::complex<float>* a,
3413  const tint* lda,
3414  std::complex<float>* tau,
3415  std::complex<float>* work,
3416  const tint* lwork,
3417  tint* info);
3418 
3419 void CVM_FTN_CALL ZGEQRF (const tint* m,
3420  const tint* n,
3421  std::complex<double>* a,
3422  const tint* lda,
3423  std::complex<double>* tau,
3424  std::complex<double>* work,
3425  const tint* lwork,
3426  tint* info);
3427 
3428 void CVM_FTN_CALL SORGQR (const tint* m,
3429  const tint* n,
3430  const tint* k,
3431  float* a,
3432  const tint* lda,
3433  const float* tau,
3434  float* work,
3435  const tint* lwork,
3436  tint* info);
3437 
3438 void CVM_FTN_CALL DORGQR (const tint* m,
3439  const tint* n,
3440  const tint* k,
3441  double* a,
3442  const tint* lda,
3443  const double* tau,
3444  double* work,
3445  const tint* lwork,
3446  tint* info);
3447 
3448 void CVM_FTN_CALL CUNGQR (const tint* m,
3449  const tint* n,
3450  const tint* k,
3451  std::complex<float>* a,
3452  const tint* lda,
3453  const std::complex<float>* tau,
3454  std::complex<float>* work,
3455  const tint* lwork,
3456  tint* info);
3457 
3458 void CVM_FTN_CALL ZUNGQR (const tint* m,
3459  const tint* n,
3460  const tint* k,
3461  std::complex<double>* a,
3462  const tint* lda,
3463  const std::complex<double>* tau,
3464  std::complex<double>* work,
3465  const tint* lwork,
3466  tint* info);
3467 
3468 // RQ subroutines
3469 void CVM_FTN_CALL SGERQF (const tint* m,
3470  const tint* n,
3471  float* a,
3472  const tint* lda,
3473  float* tau,
3474  float* work,
3475  const tint* lwork,
3476  tint* info);
3477 
3478 void CVM_FTN_CALL DGERQF (const tint* m,
3479  const tint* n,
3480  double* a,
3481  const tint* lda,
3482  double* tau,
3483  double* work,
3484  const tint* lwork,
3485  tint* info);
3486 
3487 void CVM_FTN_CALL CGERQF (const tint* m,
3488  const tint* n,
3489  std::complex<float>* a,
3490  const tint* lda,
3491  std::complex<float>* tau,
3492  std::complex<float>* work,
3493  const tint* lwork,
3494  tint* info);
3495 
3496 void CVM_FTN_CALL ZGERQF (const tint* m,
3497  const tint* n,
3498  std::complex<double>* a,
3499  const tint* lda,
3500  std::complex<double>* tau,
3501  std::complex<double>* work,
3502  const tint* lwork,
3503  tint* info);
3504 
3505 
3506 void CVM_FTN_CALL SORGRQ (const tint* m,
3507  const tint* n,
3508  const tint* k,
3509  float* a,
3510  const tint* lda,
3511  const float* tau,
3512  float* work,
3513  const tint* lwork,
3514  tint* info);
3515 
3516 void CVM_FTN_CALL DORGRQ (const tint* m,
3517  const tint* n,
3518  const tint* k,
3519  double* a,
3520  const tint* lda,
3521  const double* tau,
3522  double* work,
3523  const tint* lwork,
3524  tint* info);
3525 
3526 void CVM_FTN_CALL CUNGRQ (const tint* m,
3527  const tint* n,
3528  const tint* k,
3529  std::complex<float>* a,
3530  const tint* lda,
3531  const std::complex<float>* tau,
3532  std::complex<float>* work,
3533  const tint* lwork,
3534  tint* info);
3535 
3536 void CVM_FTN_CALL ZUNGRQ (const tint* m,
3537  const tint* n,
3538  const tint* k,
3539  std::complex<double>* a,
3540  const tint* lda,
3541  const std::complex<double>* tau,
3542  std::complex<double>* work,
3543  const tint* lwork,
3544  tint* info);
3545 
3546 // LQ subroutines
3547 void CVM_FTN_CALL SGELQF (const tint* m,
3548  const tint* n,
3549  float* a,
3550  const tint* lda,
3551  float* tau,
3552  float* work,
3553  const tint* lwork,
3554  tint* info);
3555 
3556 void CVM_FTN_CALL DGELQF (const tint* m,
3557  const tint* n,
3558  double* a,
3559  const tint* lda,
3560  double* tau,
3561  double* work,
3562  const tint* lwork,
3563  tint* info);
3564 
3565 void CVM_FTN_CALL CGELQF (const tint* m,
3566  const tint* n,
3567  std::complex<float>* a,
3568  const tint* lda,
3569  std::complex<float>* tau,
3570  std::complex<float>* work,
3571  const tint* lwork,
3572  tint* info);
3573 
3574 void CVM_FTN_CALL ZGELQF (const tint* m,
3575  const tint* n,
3576  std::complex<double>* a,
3577  const tint* lda,
3578  std::complex<double>* tau,
3579  std::complex<double>* work,
3580  const tint* lwork,
3581  tint* info);
3582 
3583 void CVM_FTN_CALL SORGLQ (const tint* m,
3584  const tint* n,
3585  const tint* k,
3586  float* a,
3587  const tint* lda,
3588  const float* tau,
3589  float* work,
3590  const tint* lwork,
3591  tint* info);
3592 
3593 void CVM_FTN_CALL DORGLQ (const tint* m,
3594  const tint* n,
3595  const tint* k,
3596  double* a,
3597  const tint* lda,
3598  const double* tau,
3599  double* work,
3600  const tint* lwork,
3601  tint* info);
3602 
3603 void CVM_FTN_CALL CUNGLQ (const tint* m,
3604  const tint* n,
3605  const tint* k,
3606  std::complex<float>* a,
3607  const tint* lda,
3608  const std::complex<float>* tau,
3609  std::complex<float>* work,
3610  const tint* lwork,
3611  tint* info);
3612 
3613 void CVM_FTN_CALL ZUNGLQ (const tint* m,
3614  const tint* n,
3615  const tint* k,
3616  std::complex<double>* a,
3617  const tint* lda,
3618  const std::complex<double>* tau,
3619  std::complex<double>* work,
3620  const tint* lwork,
3621  tint* info);
3622 
3623 // LQ subroutines
3624 void CVM_FTN_CALL SGEQLF (const tint* m,
3625  const tint* n,
3626  float* a,
3627  const tint* lda,
3628  float* tau,
3629  float* work,
3630  const tint* lwork,
3631  tint* info);
3632 
3633 void CVM_FTN_CALL DGEQLF (const tint* m,
3634  const tint* n,
3635  double* a,
3636  const tint* lda,
3637  double* tau,
3638  double* work,
3639  const tint* lwork,
3640  tint* info);
3641 
3642 void CVM_FTN_CALL CGEQLF (const tint* m,
3643  const tint* n,
3644  std::complex<float>* a,
3645  const tint* lda,
3646  std::complex<float>* tau,
3647  std::complex<float>* work,
3648  const tint* lwork,
3649  tint* info);
3650 
3651 void CVM_FTN_CALL ZGEQLF (const tint* m,
3652  const tint* n,
3653  std::complex<double>* a,
3654  const tint* lda,
3655  std::complex<double>* tau,
3656  std::complex<double>* work,
3657  const tint* lwork,
3658  tint* info);
3659 
3660 void CVM_FTN_CALL SORGQL (const tint* m,
3661  const tint* n,
3662  const tint* k,
3663  float* a,
3664  const tint* lda,
3665  const float* tau,
3666  float* work,
3667  const tint* lwork,
3668  tint* info);
3669 
3670 void CVM_FTN_CALL DORGQL (const tint* m,
3671  const tint* n,
3672  const tint* k,
3673  double* a,
3674  const tint* lda,
3675  const double* tau,
3676  double* work,
3677  const tint* lwork,
3678  tint* info);
3679 
3680 void CVM_FTN_CALL CUNGQL (const tint* m,
3681  const tint* n,
3682  const tint* k,
3683  std::complex<float>* a,
3684  const tint* lda,
3685  const std::complex<float>* tau,
3686  std::complex<float>* work,
3687  const tint* lwork,
3688  tint* info);
3689 
3690 void CVM_FTN_CALL ZUNGQL (const tint* m,
3691  const tint* n,
3692  const tint* k,
3693  std::complex<double>* a,
3694  const tint* lda,
3695  const std::complex<double>* tau,
3696  std::complex<double>* work,
3697  const tint* lwork,
3698  tint* info);
3699 
3700 // LLS routines, 6.0
3701 void CVM_FTN_CALL SGELS (const char* trans,
3702 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3703  const tint transsz,
3704 #endif
3705  const tint* m,
3706  const tint* n,
3707  const tint* nrhs,
3708  float* a,
3709  const tint* lda,
3710  float* b,
3711  const tint* ldb,
3712  float* work,
3713  const tint* lwork,
3714  tint* info);
3715 
3716 void CVM_FTN_CALL DGELS (const char* trans,
3717 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3718  const tint transsz,
3719 #endif
3720  const tint* m,
3721  const tint* n,
3722  const tint* nrhs,
3723  double* a,
3724  const tint* lda,
3725  double* b,
3726  const tint* ldb,
3727  double* work,
3728  const tint* lwork,
3729  tint* info);
3730 
3731 void CVM_FTN_CALL CGELS (const char* trans,
3732 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3733  const tint transsz,
3734 #endif
3735  const tint* m,
3736  const tint* n,
3737  const tint* nrhs,
3738  std::complex<float>* a,
3739  const tint* lda,
3740  std::complex<float>* b,
3741  const tint* ldb,
3742  std::complex<float>* work,
3743  const tint* lwork,
3744  tint* info);
3745 
3746 void CVM_FTN_CALL ZGELS (const char* trans,
3747 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3748  const tint transsz,
3749 #endif
3750  const tint* m,
3751  const tint* n,
3752  const tint* nrhs,
3753  std::complex<double>* a,
3754  const tint* lda,
3755  std::complex<double>* b,
3756  const tint* ldb,
3757  std::complex<double>* work,
3758  const tint* lwork,
3759  tint* info);
3760 
3761 void CVM_FTN_CALL SGELSY (const tint* m,
3762  const tint* n,
3763  const tint* nrhs,
3764  float* a,
3765  const tint* lda,
3766  float* b,
3767  const tint* ldb,
3768  tint* jpvt,
3769  const float* rcond,
3770  tint* rank,
3771  float* work,
3772  const tint* lwork,
3773  tint* info);
3774 
3775 void CVM_FTN_CALL DGELSY (const tint* m,
3776  const tint* n,
3777  const tint* nrhs,
3778  double* a,
3779  const tint* lda,
3780  double* b,
3781  const tint* ldb,
3782  tint* jpvt,
3783  const double* rcond,
3784  tint* rank,
3785  double* work,
3786  const tint* lwork,
3787  tint* info);
3788 
3789 void CVM_FTN_CALL CGELSY (const tint* m,
3790  const tint* n,
3791  const tint* nrhs,
3792  std::complex<float>* a,
3793  const tint* lda,
3794  std::complex<float>* b,
3795  const tint* ldb,
3796  tint* jpvt,
3797  const float* rcond,
3798  tint* rank,
3799  std::complex<float>* work,
3800  const tint* lwork,
3801  float* rwork,
3802  tint* info);
3803 
3804 void CVM_FTN_CALL ZGELSY (const tint* m,
3805  const tint* n,
3806  const tint* nrhs,
3807  std::complex<double>* a,
3808  const tint* lda,
3809  std::complex<double>* b,
3810  const tint* ldb,
3811  tint* jpvt,
3812  const double* rcond,
3813  tint* rank,
3814  std::complex<double>* work,
3815  const tint* lwork,
3816  double* rwork,
3817  tint* info);
3818 
3819 void CVM_FTN_CALL SGELSS (const tint* m,
3820  const tint* n,
3821  const tint* nrhs,
3822  float* a,
3823  const tint* lda,
3824  float* b,
3825  const tint* ldb,
3826  float* s,
3827  const float* rcond,
3828  tint* rank,
3829  float* work,
3830  const tint* lwork,
3831  tint* info);
3832 
3833 void CVM_FTN_CALL DGELSS (const tint* m,
3834  const tint* n,
3835  const tint* nrhs,
3836  double* a,
3837  const tint* lda,
3838  double* b,
3839  const tint* ldb,
3840  double* s,
3841  const double* rcond,
3842  tint* rank,
3843  double* work,
3844  const tint* lwork,
3845  tint* info);
3846 
3847 void CVM_FTN_CALL CGELSS (const tint* m,
3848  const tint* n,
3849  const tint* nrhs,
3850  std::complex<float>* a,
3851  const tint* lda,
3852  std::complex<float>* b,
3853  const tint* ldb,
3854  float* s,
3855  const float* rcond,
3856  tint* rank,
3857  std::complex<float>* work,
3858  const tint* lwork,
3859  float* rwork,
3860  tint* info);
3861 
3862 void CVM_FTN_CALL ZGELSS (const tint* m,
3863  const tint* n,
3864  const tint* nrhs,
3865  std::complex<double>* a,
3866  const tint* lda,
3867  std::complex<double>* b,
3868  const tint* ldb,
3869  double* s,
3870  const double* rcond,
3871  tint* rank,
3872  std::complex<double>* work,
3873  const tint* lwork,
3874  double* rwork,
3875  tint* info);
3876 
3877 void CVM_FTN_CALL SGELSD (const tint* m,
3878  const tint* n,
3879  const tint* nrhs,
3880  float* a,
3881  const tint* lda,
3882  float* b,
3883  const tint* ldb,
3884  float* s,
3885  const float* rcond,
3886  tint* rank,
3887  float* work,
3888  const tint* lwork,
3889  tint* iwork,
3890  tint* info);
3891 
3892 void CVM_FTN_CALL DGELSD (const tint* m,
3893  const tint* n,
3894  const tint* nrhs,
3895  double* a,
3896  const tint* lda,
3897  double* b,
3898  const tint* ldb,
3899  double* s,
3900  const double* rcond,
3901  tint* rank,
3902  double* work,
3903  const tint* lwork,
3904  tint* iwork,
3905  tint* info);
3906 
3907 void CVM_FTN_CALL CGELSD (const tint* m,
3908  const tint* n,
3909  const tint* nrhs,
3910  std::complex<float>* a,
3911  const tint* lda,
3912  std::complex<float>* b,
3913  const tint* ldb,
3914  float* s,
3915  const float* rcond,
3916  tint* rank,
3917  std::complex<float>* work,
3918  const tint* lwork,
3919  float* rwork,
3920  tint* iwork,
3921  tint* info);
3922 
3923 void CVM_FTN_CALL ZGELSD (const tint* m,
3924  const tint* n,
3925  const tint* nrhs,
3926  std::complex<double>* a,
3927  const tint* lda,
3928  std::complex<double>* b,
3929  const tint* ldb,
3930  double* s,
3931  const double* rcond,
3932  tint* rank,
3933  std::complex<double>* work,
3934  const tint* lwork,
3935  double* rwork,
3936  tint* iwork,
3937  tint* info);
3938 
3939 // 8.1 generalized eigenvalues
3940 void CVM_FTN_CALL SGGEV (const char* jobvl,
3941 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3942  const tint jobvlsz,
3943 #endif
3944  const char* jobvr,
3945 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3946  const tint jobvrsz,
3947 #endif
3948  const tint* n,
3949  float* a,
3950  const tint* lda,
3951  float* b,
3952  const tint* ldb,
3953  float* alphar,
3954  float* alphai,
3955  float* beta,
3956  float* vl,
3957  const tint* ldvl,
3958  float* vr,
3959  const tint* ldvr,
3960  float* work,
3961  const tint* lwork,
3962  tint* info);
3963 
3964 void CVM_FTN_CALL DGGEV (const char* jobvl,
3965 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3966  const tint jobvlsz,
3967 #endif
3968  const char* jobvr,
3969 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3970  const tint jobvrsz,
3971 #endif
3972  const tint* n,
3973  double* a,
3974  const tint* lda,
3975  double* b,
3976  const tint* ldb,
3977  double* alphar,
3978  double* alphai,
3979  double* beta,
3980  double* vl,
3981  const tint* ldvl,
3982  double* vr,
3983  const tint* ldvr,
3984  double* work,
3985  const tint* lwork,
3986  tint* info);
3987 
3988 void CVM_FTN_CALL CGGEV (const char* jobvl,
3989 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3990  const tint jobvlsz,
3991 #endif
3992  const char* jobvr,
3993 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
3994  const tint jobvrsz,
3995 #endif
3996  const tint* n,
3997  std::complex<float>* a,
3998  const tint* lda,
3999  std::complex<float>* b,
4000  const tint* ldb,
4001  std::complex<float>* alpha,
4002  std::complex<float>* beta,
4003  std::complex<float>* vl,
4004  const tint* ldvl,
4005  std::complex<float>* vr,
4006  const tint* ldvr,
4007  std::complex<float>* work,
4008  const tint* lwork,
4009  float* rwork,
4010  tint* info);
4011 
4012 void CVM_FTN_CALL ZGGEV (const char* jobvl,
4013 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
4014  const tint jobvlsz,
4015 #endif
4016  const char* jobvr,
4017 #if defined (CVM_PASS_STRING_LENGTH_TO_FTN_SUBROUTINES)
4018  const tint jobvrsz,
4019 #endif
4020  const tint* n,
4021  std::complex<double>* a,
4022  const tint* lda,
4023  std::complex<double>* b,
4024  const tint* ldb,
4025  std::complex<double>* alpha,
4026  std::complex<double>* beta,
4027  std::complex<double>* vl,
4028  const tint* ldvl,
4029  std::complex<double>* vr,
4030  const tint* ldvr,
4031  std::complex<double>* work,
4032  const tint* lwork,
4033  double* rwork,
4034  tint* info);
4035 
4036 #ifdef __cplusplus
4037 } // extern "C"
4038 #endif
4039 
4040 #endif // !_BLAS_H