11using ftn_int = int32_t;
12using ftn_len = int32_t;
13using ftn_single = float;
14using ftn_double = double;
15using ftn_complex = std::complex<float>;
16using ftn_double_complex = std::complex<double>;
17using ftn_char =
char const *;
22void FORTRAN(sgemm)(ftn_char TRANSA,
38void FORTRAN(dgemm)(ftn_char TRANSA,
54void FORTRAN(cgemm)(ftn_char TRANSA,
70void FORTRAN(zgemm)(ftn_char TRANSA,
75 ftn_double_complex* ALPHA,
76 ftn_double_complex* A,
78 ftn_double_complex* B,
80 ftn_double_complex* BETA,
81 ftn_double_complex* C,
86void FORTRAN(ssymm)(ftn_char SIDE,
101void FORTRAN(dsymm)(ftn_char SIDE,
116void FORTRAN(chemm)(ftn_char SIDE,
131void FORTRAN(zhemm)(ftn_char SIDE,
135 ftn_double_complex* ALPHA,
136 ftn_double_complex* A,
138 ftn_double_complex* B,
140 ftn_double_complex* BETA,
141 ftn_double_complex* C,
146void FORTRAN(strmm)(ftn_char SIDE,
162void FORTRAN(dtrmm)(ftn_char SIDE,
178void FORTRAN(ctrmm)(ftn_char SIDE,
194void FORTRAN(ztrmm)(ftn_char SIDE,
200 ftn_double_complex* ALPHA,
201 ftn_double_complex* A,
203 ftn_double_complex* B,
210void FORTRAN(sgemv)(ftn_char TRANS,
223void FORTRAN(dgemv)(ftn_char TRANS,
236void FORTRAN(cgemv)(ftn_char TRANS,
249void FORTRAN(zgemv)(ftn_char TRANS,
252 ftn_double_complex* ALPHA,
253 ftn_double_complex* A,
255 ftn_double_complex* X,
257 ftn_double_complex* BETA,
258 ftn_double_complex* Y,
262void FORTRAN(sger)(ftn_int* M,
272void FORTRAN(dger)(ftn_int* M,
282void FORTRAN(cgeru)(ftn_int* M,
292void FORTRAN(cgerc)(ftn_int* M,
302void FORTRAN(zgeru)(ftn_int* M,
304 ftn_double_complex* ALPHA,
305 ftn_double_complex* X,
307 ftn_double_complex* Y,
309 ftn_double_complex* A,
312void FORTRAN(zgerc)(ftn_int* M,
314 ftn_double_complex* ALPHA,
315 ftn_double_complex* X,
317 ftn_double_complex* Y,
319 ftn_double_complex* A,
322void FORTRAN(ssytrf)(ftn_char UPLO,
332void FORTRAN(dsytrf)(ftn_char UPLO,
342void FORTRAN(dsytrs)(ftn_char UPLO,
353void FORTRAN(chetrf)(ftn_char UPLO,
363void FORTRAN(zhetrf)(ftn_char UPLO,
365 ftn_double_complex* A,
368 ftn_double_complex* WORK,
373void FORTRAN(sgetrf)(ftn_int* M,
380void FORTRAN(dgetrf)(ftn_int* M,
387void FORTRAN(cgetrf)(ftn_int* M,
394void FORTRAN(zgetrf)(ftn_int* M,
396 ftn_double_complex* A,
401void FORTRAN(zgetrs)(ftn_char UPLO,
404 ftn_double_complex* A,
407 ftn_double_complex* B,
411void FORTRAN(spotrf)(ftn_char UPLO,
418void FORTRAN(dpotrf)(ftn_char UPLO,
425void FORTRAN(cpotrf)(ftn_char UPLO,
432void FORTRAN(zpotrf)(ftn_char UPLO,
434 ftn_double_complex* A,
439void FORTRAN(ssytri)(ftn_char UPLO,
448void FORTRAN(dsytri)(ftn_char UPLO,
457void FORTRAN(chetri)(ftn_char UPLO,
466void FORTRAN(zhetri)(ftn_char UPLO,
468 ftn_double_complex* A,
471 ftn_double_complex* WORK,
475void FORTRAN(sgetri)(ftn_int* N,
483void FORTRAN(dgetri)(ftn_int* N,
491void FORTRAN(cgetri)(ftn_int* N,
499void FORTRAN(zgetri)(ftn_int* N,
500 ftn_double_complex* A,
503 ftn_double_complex* WORK,
507void FORTRAN(sgesv)(ftn_int* N,
516void FORTRAN(dgesv)(ftn_int* N,
525void FORTRAN(cgesv)(ftn_int* N,
534void FORTRAN(zgesv)(ftn_int* N,
536 ftn_double_complex* A,
539 ftn_double_complex* B,
543void FORTRAN(sgtsv)(ftn_int* N,
552void FORTRAN(dgtsv)(ftn_int* N,
561void FORTRAN(cgtsv)(ftn_int* N,
570void FORTRAN(zgtsv)(ftn_int* N,
572 ftn_double_complex* DL,
573 ftn_double_complex* D,
574 ftn_double_complex* DU,
575 ftn_double_complex* B,
579void FORTRAN(strtri)(ftn_char UPLO,
588void FORTRAN(dtrtri)(ftn_char UPLO,
597void FORTRAN(ctrtri)(ftn_char UPLO,
606void FORTRAN(ztrtri)(ftn_char UPLO,
609 ftn_double_complex* A,
615void FORTRAN(ssygvx)(ftn_int* ITYPE,
642void FORTRAN(dsygvx)(ftn_int* ITYPE,
669void FORTRAN(chegvx)(ftn_int* ITYPE,
697void FORTRAN(zhegvx)(ftn_int* ITYPE,
702 ftn_double_complex* A,
704 ftn_double_complex* B,
713 ftn_double_complex* Z,
715 ftn_double_complex* WORK,
725void FORTRAN(ssyev)(ftn_char JOBZ,
737void FORTRAN(dsyev)(ftn_char JOBZ,
749void FORTRAN(cheev)(ftn_char JOBZ,
762void FORTRAN(zheev)(ftn_char JOBZ,
765 ftn_double_complex* A,
768 ftn_double_complex* WORK,
775void FORTRAN(ssyevd)(ftn_char JOBZ,
789void FORTRAN(dsyevd)(ftn_char JOBZ,
803void FORTRAN(cheevd)(ftn_char JOBZ,
819void FORTRAN(zheevd)(ftn_char JOBZ,
822 ftn_double_complex* A,
825 ftn_double_complex* WORK,
835void FORTRAN(ssyevx)(ftn_char JOBZ,
859void FORTRAN(dsyevx)(ftn_char JOBZ,
883void FORTRAN(cheevx)(ftn_char JOBZ,
908void FORTRAN(zheevx)(ftn_char JOBZ,
912 ftn_double_complex* A,
921 ftn_double_complex* Z,
923 ftn_double_complex* WORK,
933void FORTRAN(ssyevr)(ftn_char JOBZ,
958void FORTRAN(dsyevr)(ftn_char JOBZ,
983void FORTRAN(cheevr)(ftn_char JOBZ,
1010void FORTRAN(zheevr)(ftn_char JOBZ,
1014 ftn_double_complex* A,
1023 ftn_double_complex* Z,
1026 ftn_double_complex* WORK,
1037void FORTRAN(sgeqrf)(ftn_int* M,
1046void FORTRAN(dgeqrf)(ftn_int* M,
1055void FORTRAN(cgeqrf)(ftn_int* M,
1064void FORTRAN(zgeqrf)(ftn_int* M,
1066 ftn_double_complex* A,
1068 ftn_double_complex* TAU,
1069 ftn_double_complex* WORK,
1073void FORTRAN(sscal)(
const ftn_int* N,
const ftn_single* ALPHA, ftn_single* X,
const ftn_int* INCX);
1075void FORTRAN(dscal)(
const ftn_int* N,
const ftn_double* ALPHA, ftn_double* X,
const ftn_int* INCX);
1077void FORTRAN(cscal)(
const ftn_int* N,
const ftn_complex* ALPHA, ftn_complex* X,
const ftn_int* INCX);
1079void FORTRAN(zscal)(
const ftn_int* N,
const ftn_double_complex* ALPHA, ftn_double_complex* X,
const ftn_int* INCX);
1081void FORTRAN(dlartg)(ftn_double * f, ftn_double * g, ftn_double * cs, ftn_double * sn, ftn_double * r);
1082void FORTRAN(daxpy)(
const ftn_int*,
const ftn_double*,
const ftn_double*,
const ftn_int*, ftn_double*, ftn_int*);
1083void FORTRAN(zaxpy)(
const ftn_int*,
const ftn_double_complex*,
const ftn_double_complex*,
const ftn_int*, ftn_double_complex*, ftn_int*);