annotate armadillo-2.4.4/include/armadillo_bits/lapack_bones.hpp @ 18:8d046a9d36aa slimline

Back out rev 13:ac07c60aa798. Like an idiot, I committed a whole pile of unrelated changes in the guise of a single typo fix. Will re-commit in stages
author Chris Cannam
date Thu, 10 May 2012 10:45:44 +0100
parents 8b6102e2a9b0
children
rev   line source
max@0 1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
max@0 2 // Copyright (C) 2008-2011 Conrad Sanderson
max@0 3 // Copyright (C) 2009 Edmund Highcock
max@0 4 // Copyright (C) 2011 James Sanders
max@0 5 //
max@0 6 // This file is part of the Armadillo C++ library.
max@0 7 // It is provided without any warranty of fitness
max@0 8 // for any purpose. You can redistribute this file
max@0 9 // and/or modify it under the terms of the GNU
max@0 10 // Lesser General Public License (LGPL) as published
max@0 11 // by the Free Software Foundation, either version 3
max@0 12 // of the License or (at your option) any later version.
max@0 13 // (see http://www.opensource.org/licenses for more info)
max@0 14
max@0 15
max@0 16
max@0 17 #ifdef ARMA_USE_LAPACK
max@0 18
max@0 19
max@0 20 #if !defined(ARMA_BLAS_CAPITALS)
max@0 21
max@0 22 #define arma_sgetrf sgetrf
max@0 23 #define arma_dgetrf dgetrf
max@0 24 #define arma_cgetrf cgetrf
max@0 25 #define arma_zgetrf zgetrf
max@0 26
max@0 27 #define arma_sgetri sgetri
max@0 28 #define arma_dgetri dgetri
max@0 29 #define arma_cgetri cgetri
max@0 30 #define arma_zgetri zgetri
max@0 31
max@0 32 #define arma_strtri strtri
max@0 33 #define arma_dtrtri dtrtri
max@0 34 #define arma_ctrtri ctrtri
max@0 35 #define arma_ztrtri ztrtri
max@0 36
max@0 37 #define arma_ssyev ssyev
max@0 38 #define arma_dsyev dsyev
max@0 39
max@0 40 #define arma_cheev cheev
max@0 41 #define arma_zheev zheev
max@0 42
max@0 43 #define arma_sgeev sgeev
max@0 44 #define arma_dgeev dgeev
max@0 45
max@0 46 #define arma_cgeev cgeev
max@0 47 #define arma_zgeev zgeev
max@0 48
max@0 49 #define arma_spotrf spotrf
max@0 50 #define arma_dpotrf dpotrf
max@0 51 #define arma_cpotrf cpotrf
max@0 52 #define arma_zpotrf zpotrf
max@0 53
max@0 54 #define arma_spotri spotri
max@0 55 #define arma_dpotri dpotri
max@0 56 #define arma_cpotri cpotri
max@0 57 #define arma_zpotri zpotri
max@0 58
max@0 59 #define arma_sgeqrf sgeqrf
max@0 60 #define arma_dgeqrf dgeqrf
max@0 61 #define arma_cgeqrf cgeqrf
max@0 62 #define arma_zgeqrf zgeqrf
max@0 63
max@0 64 #define arma_sorgqr sorgqr
max@0 65 #define arma_dorgqr dorgqr
max@0 66
max@0 67 #define arma_cungqr cungqr
max@0 68 #define arma_zungqr zungqr
max@0 69
max@0 70 #define arma_sgesvd sgesvd
max@0 71 #define arma_dgesvd dgesvd
max@0 72
max@0 73 #define arma_cgesvd cgesvd
max@0 74 #define arma_zgesvd zgesvd
max@0 75
max@0 76 #define arma_sgesv sgesv
max@0 77 #define arma_dgesv dgesv
max@0 78 #define arma_cgesv cgesv
max@0 79 #define arma_zgesv zgesv
max@0 80
max@0 81 #define arma_sgels sgels
max@0 82 #define arma_dgels dgels
max@0 83 #define arma_cgels cgels
max@0 84 #define arma_zgels zgels
max@0 85
max@0 86 #define arma_strtrs strtrs
max@0 87 #define arma_dtrtrs dtrtrs
max@0 88 #define arma_ctrtrs ctrtrs
max@0 89 #define arma_ztrtrs ztrtrs
max@0 90
max@0 91 #define arma_sgees sgees
max@0 92 #define arma_dgees dgees
max@0 93 #define arma_cgees cgees
max@0 94 #define arma_zgees zgees
max@0 95
max@0 96 #define arma_strsyl strsyl
max@0 97 #define arma_dtrsyl dtrsyl
max@0 98 #define arma_ctrsyl ctrsyl
max@0 99 #define arma_ztrsyl ztrsyl
max@0 100
max@0 101 #define arma_ssytrf ssytrf
max@0 102 #define arma_dsytrf dsytrf
max@0 103 #define arma_csytrf csytrf
max@0 104 #define arma_zsytrf zsytrf
max@0 105
max@0 106 #define arma_ssytri ssytri
max@0 107 #define arma_dsytri dsytri
max@0 108 #define arma_csytri csytri
max@0 109 #define arma_zsytri zsytri
max@0 110
max@0 111 #else
max@0 112
max@0 113 #define arma_sgetrf SGETRF
max@0 114 #define arma_dgetrf DGETRF
max@0 115 #define arma_cgetrf CGETRF
max@0 116 #define arma_zgetrf ZGETRF
max@0 117
max@0 118 #define arma_sgetri SGETRI
max@0 119 #define arma_dgetri DGETRI
max@0 120 #define arma_cgetri CGETRI
max@0 121 #define arma_zgetri ZGETRI
max@0 122
max@0 123 #define arma_strtri STRTRI
max@0 124 #define arma_dtrtri DTRTRI
max@0 125 #define arma_ctrtri CTRTRI
max@0 126 #define arma_ztrtri ZTRTRI
max@0 127
max@0 128 #define arma_ssyev SSYEV
max@0 129 #define arma_dsyev DSYEV
max@0 130
max@0 131 #define arma_cheev CHEEV
max@0 132 #define arma_zheev ZHEEV
max@0 133
max@0 134 #define arma_sgeev SGEEV
max@0 135 #define arma_dgeev DGEEV
max@0 136
max@0 137 #define arma_cgeev CGEEV
max@0 138 #define arma_zgeev ZGEEV
max@0 139
max@0 140 #define arma_spotrf SPOTRF
max@0 141 #define arma_dpotrf DPOTRF
max@0 142 #define arma_cpotrf CPOTRF
max@0 143 #define arma_zpotrf ZPOTRF
max@0 144
max@0 145 #define arma_spotri SPOTRI
max@0 146 #define arma_dpotri DPOTRI
max@0 147 #define arma_cpotri CPOTRI
max@0 148 #define arma_zpotri ZPOTRI
max@0 149
max@0 150 #define arma_sgeqrf SGEQRF
max@0 151 #define arma_dgeqrf DGEQRF
max@0 152 #define arma_cgeqrf CGEQRF
max@0 153 #define arma_zgeqrf ZGEQRF
max@0 154
max@0 155 #define arma_sorgqr SORGQR
max@0 156 #define arma_dorgqr DORGQR
max@0 157
max@0 158 #define arma_cungqr CUNGQR
max@0 159 #define arma_zungqr ZUNGQR
max@0 160
max@0 161 #define arma_sgesvd SGESVD
max@0 162 #define arma_dgesvd DGESVD
max@0 163
max@0 164 #define arma_cgesvd CGESVD
max@0 165 #define arma_zgesvd ZGESVD
max@0 166
max@0 167 #define arma_sgesv SGESV
max@0 168 #define arma_dgesv DGESV
max@0 169 #define arma_cgesv CGESV
max@0 170 #define arma_zgesv ZGESV
max@0 171
max@0 172 #define arma_sgels SGELS
max@0 173 #define arma_dgels DGELS
max@0 174 #define arma_cgels CGELS
max@0 175 #define arma_zgels ZGELS
max@0 176
max@0 177 #define arma_strtrs STRTRS
max@0 178 #define arma_dtrtrs DTRTRS
max@0 179 #define arma_ctrtrs CTRTRS
max@0 180 #define arma_ztrtrs ZTRTRS
max@0 181
max@0 182 #define arma_sgees SGEES
max@0 183 #define arma_dgees DGEES
max@0 184 #define arma_cgees CGEES
max@0 185 #define arma_zgees ZGEES
max@0 186
max@0 187 #define arma_strsyl STRSYL
max@0 188 #define arma_dtrsyl DTRSYL
max@0 189 #define arma_ctrsyl CTRSYL
max@0 190 #define arma_ztrsyl ZTRSYL
max@0 191
max@0 192 #define arma_ssytrf SSYTRF
max@0 193 #define arma_dsytrf DSYTRF
max@0 194 #define arma_csytrf CSYTRF
max@0 195 #define arma_zsytrf ZSYTRF
max@0 196
max@0 197 #define arma_ssytri SSYTRI
max@0 198 #define arma_dsytri DSYTRI
max@0 199 #define arma_csytri CSYTRI
max@0 200 #define arma_zsytri ZSYTRI
max@0 201
max@0 202 #endif
max@0 203
max@0 204
max@0 205
max@0 206 extern "C"
max@0 207 {
max@0 208 // LU factorisation
max@0 209 void arma_fortran(arma_sgetrf)(blas_int* m, blas_int* n, float* a, blas_int* lda, blas_int* ipiv, blas_int* info);
max@0 210 void arma_fortran(arma_dgetrf)(blas_int* m, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, blas_int* info);
max@0 211 void arma_fortran(arma_cgetrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, blas_int* info);
max@0 212 void arma_fortran(arma_zgetrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, blas_int* info);
max@0 213
max@0 214 // matrix inversion (using LU factorisation result)
max@0 215 void arma_fortran(arma_sgetri)(blas_int* n, float* a, blas_int* lda, blas_int* ipiv, float* work, blas_int* lwork, blas_int* info);
max@0 216 void arma_fortran(arma_dgetri)(blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* lwork, blas_int* info);
max@0 217 void arma_fortran(arma_cgetri)(blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* lwork, blas_int* info);
max@0 218 void arma_fortran(arma_zgetri)(blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* lwork, blas_int* info);
max@0 219
max@0 220 // matrix inversion (triangular matrices)
max@0 221 void arma_fortran(arma_strtri)(char* uplo, char* diag, blas_int* n, float* a, blas_int* lda, blas_int* info);
max@0 222 void arma_fortran(arma_dtrtri)(char* uplo, char* diag, blas_int* n, double* a, blas_int* lda, blas_int* info);
max@0 223 void arma_fortran(arma_ctrtri)(char* uplo, char* diag, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 224 void arma_fortran(arma_ztrtri)(char* uplo, char* diag, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 225
max@0 226 // eigenvector decomposition of symmetric real matrices
max@0 227 void arma_fortran(arma_ssyev)(char* jobz, char* uplo, blas_int* n, float* a, blas_int* lda, float* w, float* work, blas_int* lwork, blas_int* info);
max@0 228 void arma_fortran(arma_dsyev)(char* jobz, char* uplo, blas_int* n, double* a, blas_int* lda, double* w, double* work, blas_int* lwork, blas_int* info);
max@0 229
max@0 230 // eigenvector decomposition of hermitian matrices (complex)
max@0 231 void arma_fortran(arma_cheev)(char* jobz, char* uplo, blas_int* n, void* a, blas_int* lda, float* w, void* work, blas_int* lwork, float* rwork, blas_int* info);
max@0 232 void arma_fortran(arma_zheev)(char* jobz, char* uplo, blas_int* n, void* a, blas_int* lda, double* w, void* work, blas_int* lwork, double* rwork, blas_int* info);
max@0 233
max@0 234 // eigenvector decomposition of general real matrices
max@0 235 void arma_fortran(arma_sgeev)(char* jobvl, char* jobvr, blas_int* n, float* a, blas_int* lda, float* wr, float* wi, float* vl, blas_int* ldvl, float* vr, blas_int* ldvr, float* work, blas_int* lwork, blas_int* info);
max@0 236 void arma_fortran(arma_dgeev)(char* jobvl, char* jobvr, blas_int* n, double* a, blas_int* lda, double* wr, double* wi, double* vl, blas_int* ldvl, double* vr, blas_int* ldvr, double* work, blas_int* lwork, blas_int* info);
max@0 237
max@0 238 // eigenvector decomposition of general complex matrices
max@0 239 void arma_fortran(arma_cgeev)(char* jobvl, char* jobvr, blas_int* n, void* a, blas_int* lda, void* w, void* vl, blas_int* ldvl, void* vr, blas_int* ldvr, void* work, blas_int* lwork, float* rwork, blas_int* info);
max@0 240 void arma_fortran(arma_zgeev)(char* jobvl, char* jobvr, blas_int* n, void* a, blas_int* lda, void* w, void* vl, blas_int* ldvl, void* vr, blas_int* ldvr, void* work, blas_int* lwork, double* rwork, blas_int* info);
max@0 241
max@0 242 // Cholesky decomposition
max@0 243 void arma_fortran(arma_spotrf)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* info);
max@0 244 void arma_fortran(arma_dpotrf)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info);
max@0 245 void arma_fortran(arma_cpotrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 246 void arma_fortran(arma_zpotrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 247
max@0 248 // matrix inversion (using Cholesky decomposition result)
max@0 249 void arma_fortran(arma_spotri)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* info);
max@0 250 void arma_fortran(arma_dpotri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info);
max@0 251 void arma_fortran(arma_cpotri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 252 void arma_fortran(arma_zpotri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info);
max@0 253
max@0 254 // QR decomposition
max@0 255 void arma_fortran(arma_sgeqrf)(blas_int* m, blas_int* n, float* a, blas_int* lda, float* tau, float* work, blas_int* lwork, blas_int* info);
max@0 256 void arma_fortran(arma_dgeqrf)(blas_int* m, blas_int* n, double* a, blas_int* lda, double* tau, double* work, blas_int* lwork, blas_int* info);
max@0 257 void arma_fortran(arma_cgeqrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, void* tau, void* work, blas_int* lwork, blas_int* info);
max@0 258 void arma_fortran(arma_zgeqrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, void* tau, void* work, blas_int* lwork, blas_int* info);
max@0 259
max@0 260 // Q matrix calculation from QR decomposition (real matrices)
max@0 261 void arma_fortran(arma_sorgqr)(blas_int* m, blas_int* n, blas_int* k, float* a, blas_int* lda, float* tau, float* work, blas_int* lwork, blas_int* info);
max@0 262 void arma_fortran(arma_dorgqr)(blas_int* m, blas_int* n, blas_int* k, double* a, blas_int* lda, double* tau, double* work, blas_int* lwork, blas_int* info);
max@0 263
max@0 264 // Q matrix calculation from QR decomposition (complex matrices)
max@0 265 void arma_fortran(arma_cungqr)(blas_int* m, blas_int* n, blas_int* k, void* a, blas_int* lda, void* tau, void* work, blas_int* lwork, blas_int* info);
max@0 266 void arma_fortran(arma_zungqr)(blas_int* m, blas_int* n, blas_int* k, void* a, blas_int* lda, void* tau, void* work, blas_int* lwork, blas_int* info);
max@0 267
max@0 268 // SVD (real matrices)
max@0 269 void arma_fortran(arma_sgesvd)(char* jobu, char* jobvt, blas_int* m, blas_int* n, float* a, blas_int* lda, float* s, float* u, blas_int* ldu, float* vt, blas_int* ldvt, float* work, blas_int* lwork, blas_int* info);
max@0 270 void arma_fortran(arma_dgesvd)(char* jobu, char* jobvt, blas_int* m, blas_int* n, double* a, blas_int* lda, double* s, double* u, blas_int* ldu, double* vt, blas_int* ldvt, double* work, blas_int* lwork, blas_int* info);
max@0 271
max@0 272 // SVD (complex matrices)
max@0 273 void arma_fortran(arma_cgesvd)(char* jobu, char* jobvt, blas_int* m, blas_int* n, void* a, blas_int* lda, float* s, void* u, blas_int* ldu, void* vt, blas_int* ldvt, void* work, blas_int* lwork, float* rwork, blas_int* info);
max@0 274 void arma_fortran(arma_zgesvd)(char* jobu, char* jobvt, blas_int* m, blas_int* n, void* a, blas_int* lda, double* s, void* u, blas_int* ldu, void* vt, blas_int* ldvt, void* work, blas_int* lwork, double* rwork, blas_int* info);
max@0 275
max@0 276 // solve system of linear equations, using LU decomposition
max@0 277 void arma_fortran(arma_sgesv)(blas_int* n, blas_int* nrhs, float* a, blas_int* lda, blas_int* ipiv, float* b, blas_int* ldb, blas_int* info);
max@0 278 void arma_fortran(arma_dgesv)(blas_int* n, blas_int* nrhs, double* a, blas_int* lda, blas_int* ipiv, double* b, blas_int* ldb, blas_int* info);
max@0 279 void arma_fortran(arma_cgesv)(blas_int* n, blas_int* nrhs, void* a, blas_int* lda, blas_int* ipiv, void* b, blas_int* ldb, blas_int* info);
max@0 280 void arma_fortran(arma_zgesv)(blas_int* n, blas_int* nrhs, void* a, blas_int* lda, blas_int* ipiv, void* b, blas_int* ldb, blas_int* info);
max@0 281
max@0 282 // solve over/underdetermined system of linear equations
max@0 283 void arma_fortran(arma_sgels)(char* trans, blas_int* m, blas_int* n, blas_int* nrhs, float* a, blas_int* lda, float* b, blas_int* ldb, float* work, blas_int* lwork, blas_int* info);
max@0 284 void arma_fortran(arma_dgels)(char* trans, blas_int* m, blas_int* n, blas_int* nrhs, double* a, blas_int* lda, double* b, blas_int* ldb, double* work, blas_int* lwork, blas_int* info);
max@0 285 void arma_fortran(arma_cgels)(char* trans, blas_int* m, blas_int* n, blas_int* nrhs, void* a, blas_int* lda, void* b, blas_int* ldb, void* work, blas_int* lwork, blas_int* info);
max@0 286 void arma_fortran(arma_zgels)(char* trans, blas_int* m, blas_int* n, blas_int* nrhs, void* a, blas_int* lda, void* b, blas_int* ldb, void* work, blas_int* lwork, blas_int* info);
max@0 287
max@0 288 // solve a triangular system of linear equations
max@0 289 void arma_fortran(arma_strtrs)(char* uplo, char* trans, char* diag, blas_int* n, blas_int* nrhs, const float* a, blas_int* lda, float* b, blas_int* ldb, blas_int* info);
max@0 290 void arma_fortran(arma_dtrtrs)(char* uplo, char* trans, char* diag, blas_int* n, blas_int* nrhs, const double* a, blas_int* lda, double* b, blas_int* ldb, blas_int* info);
max@0 291 void arma_fortran(arma_ctrtrs)(char* uplo, char* trans, char* diag, blas_int* n, blas_int* nrhs, const void* a, blas_int* lda, void* b, blas_int* ldb, blas_int* info);
max@0 292 void arma_fortran(arma_ztrtrs)(char* uplo, char* trans, char* diag, blas_int* n, blas_int* nrhs, const void* a, blas_int* lda, void* b, blas_int* ldb, blas_int* info);
max@0 293
max@0 294 // Schur decomposition (real matrices)
max@0 295 void arma_fortran(arma_sgees)(char* jobvs, char* sort, blas_int* select, blas_int* n, float* a, blas_int* lda, blas_int* sdim, float* wr, float* wi, float* vs, blas_int* ldvs, float* work, blas_int* lwork, blas_int* bwork, blas_int* info);
max@0 296 void arma_fortran(arma_dgees)(char* jobvs, char* sort, blas_int* select, blas_int* n, double* a, blas_int* lda, blas_int* sdim, double* wr, double* wi, double* vs, blas_int* ldvs, double* work, blas_int* lwork, blas_int* bwork, blas_int* info);
max@0 297
max@0 298 // Schur decomposition (complex matrices)
max@0 299 void arma_fortran(arma_cgees)(char* jobvs, char* sort, blas_int* select, blas_int* n, void* a, blas_int* lda, blas_int* sdim, void* w, void* vs, blas_int* ldvs, void* work, blas_int* lwork, float* rwork, blas_int* bwork, blas_int* info);
max@0 300 void arma_fortran(arma_zgees)(char* jobvs, char* sort, blas_int* select, blas_int* n, void* a, blas_int* lda, blas_int* sdim, void* w, void* vs, blas_int* ldvs, void* work, blas_int* lwork, double* rwork, blas_int* bwork, blas_int* info);
max@0 301
max@0 302 // solve a Sylvester equation ax + xb = c, with a and b assumed to be in Schur form
max@0 303 void arma_fortran(arma_strsyl)(char* transa, char* transb, blas_int* isgn, blas_int* m, blas_int* n, const float* a, blas_int* lda, const float* b, blas_int* ldb, float* c, blas_int* ldc, float* scale, blas_int* info);
max@0 304 void arma_fortran(arma_dtrsyl)(char* transa, char* transb, blas_int* isgn, blas_int* m, blas_int* n, const double* a, blas_int* lda, const double* b, blas_int* ldb, double* c, blas_int* ldc, double* scale, blas_int* info);
max@0 305 void arma_fortran(arma_ctrsyl)(char* transa, char* transb, blas_int* isgn, blas_int* m, blas_int* n, const void* a, blas_int* lda, const void* b, blas_int* ldb, void* c, blas_int* ldc, float* scale, blas_int* info);
max@0 306 void arma_fortran(arma_ztrsyl)(char* transa, char* transb, blas_int* isgn, blas_int* m, blas_int* n, const void* a, blas_int* lda, const void* b, blas_int* ldb, void* c, blas_int* ldc, double* scale, blas_int* info);
max@0 307
max@0 308 void arma_fortran(arma_ssytrf)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* ipiv, float* work, blas_int* lwork, blas_int* info);
max@0 309 void arma_fortran(arma_dsytrf)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* lwork, blas_int* info);
max@0 310 void arma_fortran(arma_csytrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* lwork, blas_int* info);
max@0 311 void arma_fortran(arma_zsytrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* lwork, blas_int* info);
max@0 312
max@0 313 void arma_fortran(arma_ssytri)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* ipiv, float* work, blas_int* info);
max@0 314 void arma_fortran(arma_dsytri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* info);
max@0 315 void arma_fortran(arma_csytri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* info);
max@0 316 void arma_fortran(arma_zsytri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* info);
max@0 317
max@0 318 // void arma_fortran(arma_dgeqp3)(blas_int* m, blas_int* n, double* a, blas_int* lda, blas_int* jpvt, double* tau, double* work, blas_int* lwork, blas_int* info);
max@0 319 // void arma_fortran(arma_dormqr)(char* side, char* trans, blas_int* m, blas_int* n, blas_int* k, double* a, blas_int* lda, double* tau, double* c, blas_int* ldc, double* work, blas_int* lwork, blas_int* info);
max@0 320 // void arma_fortran(arma_dposv)(char* uplo, blas_int* n, blas_int* nrhs, double* a, blas_int* lda, double* b, blas_int* ldb, blas_int* info);
max@0 321 }
max@0 322
max@0 323
max@0 324 #endif