wrap_libs.cpp
Go to the documentation of this file.
00001 #include "armadillo_bits/config.hpp"
00002 #include "armadillo_bits/typedef_blas_int.hpp"
00003 
00004 #undef ARMA_USE_WRAPPER
00005 #include "armadillo_bits/compiler_setup.hpp"
00006 
00007 #include "armadillo_bits/undefine_conflicts.hpp"
00008 #include "armadillo_bits/include_atlas.hpp"
00009 
00010 
00011 namespace arma
00012 {
00013 
00014 #include "armadillo_bits/blas_bones.hpp"
00015 #include "armadillo_bits/lapack_bones.hpp"
00016 
00017 // at this stage we have prototypes for the real blas, lapack and atlas functions
00018 
00019 // now we make the wrapper functions
00020 
00021 
00022 extern "C"
00023   {
00024   #if defined(ARMA_USE_BLAS)
00025     
00026     float arma_fortran_prefix(arma_sdot)(blas_int* n, const float*  x, blas_int* incx, const float*  y, blas_int* incy)
00027       {
00028       return arma_fortran_noprefix(arma_sdot)(n, x, incx, y, incy);
00029       }
00030     
00031     double arma_fortran_prefix(arma_ddot)(blas_int* n, const double* x, blas_int* incx, const double* y, blas_int* incy)
00032       {
00033       return arma_fortran_noprefix(arma_ddot)(n, x, incx, y, incy);
00034       }
00035     
00036     
00037     
00038     void arma_fortran_prefix(arma_sgemv)(const char* transA, const blas_int* m, const blas_int* n, const float*  alpha, const float*  A, const blas_int* ldA, const float*  x, const blas_int* incx, const float*  beta, float*  y, const blas_int* incy)
00039       {
00040       arma_fortran_noprefix(arma_sgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
00041       }
00042     
00043     void arma_fortran_prefix(arma_dgemv)(const char* transA, const blas_int* m, const blas_int* n, const double* alpha, const double* A, const blas_int* ldA, const double* x, const blas_int* incx, const double* beta, double* y, const blas_int* incy)
00044       {
00045       arma_fortran_noprefix(arma_dgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
00046       }
00047     
00048     void arma_fortran_prefix(arma_cgemv)(const char* transA, const blas_int* m, const blas_int* n, const void*   alpha, const void*   A, const blas_int* ldA, const void*   x, const blas_int* incx, const void*   beta, void*   y, const blas_int* incy)
00049       {
00050       arma_fortran_noprefix(arma_cgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
00051       }
00052     
00053     void arma_fortran_prefix(arma_zgemv)(const char* transA, const blas_int* m, const blas_int* n, const void*   alpha, const void*   A, const blas_int* ldA, const void*   x, const blas_int* incx, const void*   beta, void*   y, const blas_int* incy)
00054       {
00055       arma_fortran_noprefix(arma_zgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
00056       }
00057     
00058     
00059     
00060     void arma_fortran_prefix(arma_sgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const float*  alpha, const float*  A, const blas_int* ldA, const float*  B, const blas_int* ldB, const float*  beta, float*  C, const blas_int* ldC)
00061       {
00062       arma_fortran_noprefix(arma_sgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
00063       }
00064     
00065     void arma_fortran_prefix(arma_dgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const double* alpha, const double* A, const blas_int* ldA, const double* B, const blas_int* ldB, const double* beta, double* C, const blas_int* ldC)
00066       {
00067       arma_fortran_noprefix(arma_dgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
00068       }
00069     
00070     void arma_fortran_prefix(arma_cgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const void*   alpha, const void*   A, const blas_int* ldA, const void*   B, const blas_int* ldB, const void*   beta, void*   C, const blas_int* ldC)
00071       {
00072       arma_fortran_noprefix(arma_cgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
00073       }
00074     
00075     void arma_fortran_prefix(arma_zgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const void*   alpha, const void*   A, const blas_int* ldA, const void*   B, const blas_int* ldB, const void*   beta, void*   C, const blas_int* ldC)
00076       {
00077       arma_fortran_noprefix(arma_zgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
00078       }
00079     
00080   #endif
00081   
00082   
00083   
00084   #if defined(ARMA_USE_LAPACK)
00085     
00086     void arma_fortran_prefix(arma_sgetrf)(blas_int* m, blas_int* n,  float* a, blas_int* lda, blas_int* ipiv, blas_int* info)
00087       {
00088       arma_fortran_noprefix(arma_sgetrf)(m, n, a, lda, ipiv, info);
00089       }
00090     
00091     void arma_fortran_prefix(arma_dgetrf)(blas_int* m, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, blas_int* info)
00092       {
00093       arma_fortran_noprefix(arma_dgetrf)(m, n, a, lda, ipiv, info);
00094       }
00095 
00096     void arma_fortran_prefix(arma_cgetrf)(blas_int* m, blas_int* n,   void* a, blas_int* lda, blas_int* ipiv, blas_int* info)
00097       {
00098       arma_fortran_noprefix(arma_cgetrf)(m, n, a, lda, ipiv, info);
00099       }
00100     
00101     void arma_fortran_prefix(arma_zgetrf)(blas_int* m, blas_int* n,   void* a, blas_int* lda, blas_int* ipiv, blas_int* info)
00102       {
00103       arma_fortran_noprefix(arma_zgetrf)(m, n, a, lda, ipiv, info);
00104       }
00105     
00106     
00107     
00108     void arma_fortran_prefix(arma_sgetri)(blas_int* n,  float* a, blas_int* lda, blas_int* ipiv,  float* work, blas_int* lwork, blas_int* info)
00109       {
00110       arma_fortran_noprefix(arma_sgetri)(n, a, lda, ipiv, work, lwork, info);
00111       }
00112     
00113     void arma_fortran_prefix(arma_dgetri)(blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* lwork, blas_int* info)
00114       {
00115       arma_fortran_noprefix(arma_dgetri)(n, a, lda, ipiv, work, lwork, info);
00116       }
00117     
00118     void arma_fortran_prefix(arma_cgetri)(blas_int* n,  void*  a, blas_int* lda, blas_int* ipiv,   void* work, blas_int* lwork, blas_int* info)
00119       {
00120       arma_fortran_noprefix(arma_cgetri)(n, a, lda, ipiv, work, lwork, info);
00121       }
00122     
00123     void arma_fortran_prefix(arma_zgetri)(blas_int* n,  void*  a, blas_int* lda, blas_int* ipiv,   void* work, blas_int* lwork, blas_int* info)
00124       {
00125       arma_fortran_noprefix(arma_zgetri)(n, a, lda, ipiv, work, lwork, info);
00126       }
00127     
00128     
00129     
00130     void arma_fortran_prefix(arma_strtri)(char* uplo, char* diag, blas_int* n,  float* a, blas_int* lda, blas_int* info)
00131       {
00132       arma_fortran_noprefix(arma_strtri)(uplo, diag, n, a, lda, info);
00133       }
00134     
00135     void arma_fortran_prefix(arma_dtrtri)(char* uplo, char* diag, blas_int* n, double* a, blas_int* lda, blas_int* info)
00136       {
00137       arma_fortran_noprefix(arma_dtrtri)(uplo, diag, n, a, lda, info);
00138       }
00139     
00140     void arma_fortran_prefix(arma_ctrtri)(char* uplo, char* diag, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00141       {
00142       arma_fortran_noprefix(arma_ctrtri)(uplo, diag, n, a, lda, info);
00143       }
00144     
00145     void arma_fortran_prefix(arma_ztrtri)(char* uplo, char* diag, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00146       {
00147       arma_fortran_noprefix(arma_ztrtri)(uplo, diag, n, a, lda, info);
00148       }
00149     
00150     
00151     
00152     void arma_fortran_prefix(arma_ssyev)(char* jobz, char* uplo, blas_int* n,  float* a, blas_int* lda,  float* w,  float* work, blas_int* lwork, blas_int* info)
00153       {
00154       arma_fortran_noprefix(arma_ssyev)(jobz, uplo, n, a, lda, w, work, lwork, info);
00155       }
00156     
00157     void arma_fortran_prefix(arma_dsyev)(char* jobz, char* uplo, blas_int* n, double* a, blas_int* lda, double* w, double* work, blas_int* lwork, blas_int* info)
00158       {
00159       arma_fortran_noprefix(arma_dsyev)(jobz, uplo, n, a, lda, w, work, lwork, info);
00160       }
00161     
00162     
00163     
00164     void arma_fortran_prefix(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)
00165       {
00166       arma_fortran_noprefix(arma_cheev)(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
00167       }
00168     
00169     void arma_fortran_prefix(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)
00170       {
00171       arma_fortran_noprefix(arma_zheev)(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
00172       }
00173     
00174     
00175     
00176     void arma_fortran_prefix(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)
00177       {
00178       arma_fortran_noprefix(arma_sgeev)(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
00179       }
00180     
00181     void arma_fortran_prefix(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)
00182       {
00183       arma_fortran_noprefix(arma_dgeev)(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
00184       }
00185     
00186     
00187     
00188     void arma_fortran_prefix(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)
00189       {
00190       arma_fortran_noprefix(arma_cgeev)(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
00191       }
00192     
00193     void arma_fortran_prefix(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)
00194       {
00195       arma_fortran_noprefix(arma_zgeev)(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
00196       }
00197     
00198     
00199     
00200     void arma_fortran_prefix(arma_spotrf)(char* uplo, blas_int* n,  float* a, blas_int* lda, blas_int* info)
00201       {
00202       arma_fortran_noprefix(arma_spotrf)(uplo, n, a, lda, info);
00203       }
00204     
00205     void arma_fortran_prefix(arma_dpotrf)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info)
00206       {
00207       arma_fortran_noprefix(arma_dpotrf)(uplo, n, a, lda, info);
00208       }
00209     
00210     void arma_fortran_prefix(arma_cpotrf)(char* uplo, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00211       {
00212       arma_fortran_noprefix(arma_cpotrf)(uplo, n, a, lda, info);
00213       }
00214     
00215     void arma_fortran_prefix(arma_zpotrf)(char* uplo, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00216       {
00217       arma_fortran_noprefix(arma_zpotrf)(uplo, n, a, lda, info);
00218       }
00219     
00220     
00221     
00222     void arma_fortran_prefix(arma_spotri)(char* uplo, blas_int* n,  float* a, blas_int* lda, blas_int* info)
00223       {
00224       arma_fortran_noprefix(arma_spotri)(uplo, n, a, lda, info);
00225       }
00226     
00227     void arma_fortran_prefix(arma_dpotri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info)
00228       {
00229       arma_fortran_noprefix(arma_dpotri)(uplo, n, a, lda, info);
00230       }
00231     
00232     void arma_fortran_prefix(arma_cpotri)(char* uplo, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00233       {
00234       arma_fortran_noprefix(arma_cpotri)(uplo, n, a, lda, info);
00235       }
00236     
00237     void arma_fortran_prefix(arma_zpotri)(char* uplo, blas_int* n,   void* a, blas_int* lda, blas_int* info)
00238       {
00239       arma_fortran_noprefix(arma_zpotri)(uplo, n, a, lda, info);
00240       }
00241     
00242     
00243     
00244     void arma_fortran_prefix(arma_sgeqrf)(blas_int* m, blas_int* n,  float* a, blas_int* lda,  float* tau,  float* work, blas_int* lwork, blas_int* info)
00245       {
00246       arma_fortran_noprefix(arma_sgeqrf)(m, n, a, lda, tau, work, lwork, info);
00247       }
00248     
00249     void arma_fortran_prefix(arma_dgeqrf)(blas_int* m, blas_int* n, double* a, blas_int* lda, double* tau, double* work, blas_int* lwork, blas_int* info)
00250       {
00251       arma_fortran_noprefix(arma_dgeqrf)(m, n, a, lda, tau, work, lwork, info);
00252       }
00253     
00254     void arma_fortran_prefix(arma_cgeqrf)(blas_int* m, blas_int* n,   void* a, blas_int* lda,   void* tau,   void* work, blas_int* lwork, blas_int* info)
00255       {
00256       arma_fortran_noprefix(arma_cgeqrf)(m, n, a, lda, tau, work, lwork, info);
00257       }
00258     
00259     void arma_fortran_prefix(arma_zgeqrf)(blas_int* m, blas_int* n,   void* a, blas_int* lda,   void* tau,   void* work, blas_int* lwork, blas_int* info)
00260       {
00261       arma_fortran_noprefix(arma_zgeqrf)(m, n, a, lda, tau, work, lwork, info);
00262       }
00263     
00264     
00265     
00266     void arma_fortran_prefix(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)
00267       {
00268       arma_fortran_noprefix(arma_sorgqr)(m, n, k, a, lda, tau, work, lwork, info);
00269       }
00270     
00271     void arma_fortran_prefix(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)
00272       {
00273       arma_fortran_noprefix(arma_dorgqr)(m, n, k, a, lda, tau, work, lwork, info);
00274       }
00275     
00276     
00277     
00278     void arma_fortran_prefix(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)
00279       {
00280       arma_fortran_noprefix(arma_cungqr)(m, n, k, a, lda, tau, work, lwork, info);
00281       }
00282     
00283     void arma_fortran_prefix(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)
00284       {
00285       arma_fortran_noprefix(arma_zungqr)(m, n, k, a, lda, tau, work, lwork, info);
00286       }
00287     
00288     
00289     
00290     void arma_fortran_prefix(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)
00291       {
00292       arma_fortran_noprefix(arma_sgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
00293       }
00294     
00295     void arma_fortran_prefix(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)
00296       {
00297       arma_fortran_noprefix(arma_dgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
00298       }
00299     
00300     
00301     
00302     void arma_fortran_prefix(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)
00303       {
00304       arma_fortran_noprefix(arma_cgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
00305       }
00306     
00307     void arma_fortran_prefix(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)
00308       {
00309       arma_fortran_noprefix(arma_zgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
00310       }
00311     
00312     
00313     
00314     void arma_fortran_prefix(arma_sgesv)(blas_int* n, blas_int* nrhs, float*  a, blas_int* lda, blas_int* ipiv, float*  b, blas_int* ldb, blas_int* info)
00315       {
00316       arma_fortran_noprefix(arma_sgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
00317       }
00318     
00319     void arma_fortran_prefix(arma_dgesv)(blas_int* n, blas_int* nrhs, double* a, blas_int* lda, blas_int* ipiv, double* b, blas_int* ldb, blas_int* info)
00320       {
00321       arma_fortran_noprefix(arma_dgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
00322       }
00323     
00324     void arma_fortran_prefix(arma_cgesv)(blas_int* n, blas_int* nrhs, void*   a, blas_int* lda, blas_int* ipiv, void*   b, blas_int* ldb, blas_int* info)
00325       {
00326       arma_fortran_noprefix(arma_cgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
00327       }
00328     
00329     void arma_fortran_prefix(arma_zgesv)(blas_int* n, blas_int* nrhs, void*   a, blas_int* lda, blas_int* ipiv, void*   b, blas_int* ldb, blas_int* info)
00330       {
00331       arma_fortran_noprefix(arma_zgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
00332       }
00333     
00334     
00335     
00336     void arma_fortran_prefix(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)
00337       {
00338       arma_fortran_noprefix(arma_sgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
00339       }
00340     
00341     void arma_fortran_prefix(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)
00342       {
00343       arma_fortran_noprefix(arma_dgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
00344       }
00345     
00346     void arma_fortran_prefix(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)
00347       {
00348       arma_fortran_noprefix(arma_cgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
00349       }
00350     
00351     void arma_fortran_prefix(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)
00352       {
00353       arma_fortran_noprefix(arma_zgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
00354       }
00355     
00356     
00357     
00358     
00359     void arma_fortran_prefix(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)
00360       {
00361       arma_fortran_noprefix(arma_strtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
00362       }
00363     
00364     void arma_fortran_prefix(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)
00365       {
00366       arma_fortran_noprefix(arma_dtrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
00367       }
00368     
00369     void arma_fortran_prefix(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)
00370       {
00371       arma_fortran_noprefix(arma_ctrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
00372       }
00373     
00374     void arma_fortran_prefix(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)
00375       {
00376       arma_fortran_noprefix(arma_ztrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
00377       }
00378     
00379     
00380     
00381     
00382     void arma_fortran_prefix(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)
00383       {
00384       arma_fortran_noprefix(arma_sgees)(jobvs, sort, select, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info);
00385       }
00386       
00387     void arma_fortran_prefix(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)
00388       {
00389       arma_fortran_noprefix(arma_dgees)(jobvs, sort, select, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info);
00390       }
00391     
00392     
00393     
00394     void arma_fortran_prefix(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)
00395       {
00396       arma_fortran_noprefix(arma_cgees)(jobvs, sort, select, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info);
00397       }
00398     
00399     void arma_fortran_prefix(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)
00400       {
00401       arma_fortran_noprefix(arma_zgees)(jobvs, sort, select, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info);
00402       }
00403     
00404     
00405     
00406     void arma_fortran_prefix(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)
00407       {
00408       arma_fortran_noprefix(arma_strsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
00409       }
00410     
00411     void arma_fortran_prefix(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)
00412       {
00413       arma_fortran_noprefix(arma_dtrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
00414       }
00415     
00416     void arma_fortran_prefix(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)
00417       {
00418       arma_fortran_noprefix(arma_ctrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
00419       }
00420     
00421     void arma_fortran_prefix(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)
00422       {
00423       arma_fortran_noprefix(arma_ztrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
00424       }
00425     
00426     
00427     
00428     
00429     void arma_fortran_prefix(arma_ssytrf)(char* uplo, blas_int* n, float*  a, blas_int* lda, blas_int* ipiv, float*  work, blas_int* lwork, blas_int* info)
00430       {
00431       arma_fortran_noprefix(arma_ssytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
00432       }
00433     
00434     void arma_fortran_prefix(arma_dsytrf)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* lwork, blas_int* info)
00435       {
00436       arma_fortran_noprefix(arma_dsytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
00437       }
00438     
00439     void arma_fortran_prefix(arma_csytrf)(char* uplo, blas_int* n, void*   a, blas_int* lda, blas_int* ipiv, void*   work, blas_int* lwork, blas_int* info)
00440       {
00441       arma_fortran_noprefix(arma_csytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
00442       }
00443     
00444     void arma_fortran_prefix(arma_zsytrf)(char* uplo, blas_int* n, void*   a, blas_int* lda, blas_int* ipiv, void*   work, blas_int* lwork, blas_int* info)
00445       {
00446       arma_fortran_noprefix(arma_zsytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
00447       }
00448     
00449     
00450     
00451     
00452     void arma_fortran_prefix(arma_ssytri)(char* uplo, blas_int* n, float*  a, blas_int* lda, blas_int* ipiv, float*  work, blas_int* info)
00453       {
00454       arma_fortran_noprefix(arma_ssytri)(uplo, n, a, lda, ipiv, work, info);
00455       }
00456     
00457     void arma_fortran_prefix(arma_dsytri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* info)
00458       {
00459       arma_fortran_noprefix(arma_dsytri)(uplo, n, a, lda, ipiv, work, info);
00460       }
00461     
00462     void arma_fortran_prefix(arma_csytri)(char* uplo, blas_int* n, void*   a, blas_int* lda, blas_int* ipiv, void*   work, blas_int* info)
00463       {
00464       arma_fortran_noprefix(arma_csytri)(uplo, n, a, lda, ipiv, work, info);
00465       }
00466     
00467     void arma_fortran_prefix(arma_zsytri)(char* uplo, blas_int* n, void*   a, blas_int* lda, blas_int* ipiv, void*   work, blas_int* info)
00468       {
00469       arma_fortran_noprefix(arma_zsytri)(uplo, n, a, lda, ipiv, work, info);
00470       }
00471     
00472   #endif
00473   
00474   
00475   
00476   #if defined(ARMA_USE_ATLAS)
00477     
00478     float wrapper_cblas_sdot(const int N, const float  *X, const int incX, const float  *Y, const int incY)
00479       {
00480       return      cblas_sdot(N, X, incX, Y, incY);
00481       }
00482     
00483     double wrapper_cblas_ddot(const int N, const double *X, const int incX, const double *Y, const int incY)
00484       {
00485       return       cblas_ddot(N, X, incX, Y, incY);
00486       }
00487     
00488     void wrapper_cblas_cdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
00489       {
00490                  cblas_cdotu_sub(N, X, incX, Y, incY, dotu);
00491       }
00492     
00493     void wrapper_cblas_zdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
00494       {
00495                  cblas_zdotu_sub(N, X, incX, Y, incY, dotu);
00496       }
00497     
00498     
00499     
00500     void wrapper_cblas_sgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha,
00501                              const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY)
00502       {
00503                  cblas_sgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
00504       }
00505     
00506     void wrapper_cblas_dgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha,
00507                              const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY)
00508       {
00509                  cblas_dgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
00510       }
00511     
00512     void wrapper_cblas_cgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
00513                              const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
00514       {
00515                  cblas_cgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
00516       }
00517     
00518     void wrapper_cblas_zgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
00519                              const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
00520       {
00521                  cblas_zgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
00522       }
00523     
00524     
00525     
00526     void wrapper_cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
00527                              const int M, const int N, const int K, const float alpha,
00528                              const float *A, const int lda, const float *B, const int ldb, const float beta, float *C, const int ldc)
00529       {
00530                  cblas_sgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
00531       }
00532     
00533     void wrapper_cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
00534                              const int M, const int N, const int K, const double alpha,
00535                              const double *A, const int lda, const double *B, const int ldb, const double beta, double *C, const int ldc)
00536       {
00537                  cblas_dgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
00538       }
00539     
00540     void wrapper_cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
00541                              const int M, const int N, const int K, const void *alpha,
00542                              const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
00543       {
00544                  cblas_cgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
00545       }
00546     
00547     void wrapper_cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
00548                              const int M, const int N, const int K, const void *alpha,
00549                              const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
00550       {
00551                  cblas_zgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
00552       }
00553     
00554     
00555     
00556     int wrapper_clapack_sgetrf(const enum CBLAS_ORDER Order, const int M, const int N, float  *A, const int lda, int *ipiv)
00557       {
00558       return    clapack_sgetrf(Order, M, N, A, lda, ipiv);
00559       }
00560     
00561     int wrapper_clapack_dgetrf(const enum CBLAS_ORDER Order, const int M, const int N, double *A, const int lda, int *ipiv)
00562       {
00563       return    clapack_dgetrf(Order, M, N, A, lda, ipiv);
00564       }
00565     
00566     int wrapper_clapack_cgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void   *A, const int lda, int *ipiv)
00567       {
00568       return    clapack_cgetrf(Order, M, N, A, lda, ipiv);
00569       }
00570     
00571     int wrapper_clapack_zgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void   *A, const int lda, int *ipiv)
00572       {
00573       return    clapack_zgetrf(Order, M, N, A, lda, ipiv);
00574       }
00575     
00576     
00577     
00578     int wrapper_clapack_sgetri(const enum CBLAS_ORDER Order, const int N, float  *A, const int lda, const int *ipiv)
00579       {
00580       return    clapack_sgetri(Order, N, A, lda, ipiv);
00581       }
00582     
00583     int wrapper_clapack_dgetri(const enum CBLAS_ORDER Order, const int N, double *A, const int lda, const int *ipiv)
00584       {
00585       return    clapack_dgetri(Order, N, A, lda, ipiv);
00586       }
00587     
00588     int wrapper_clapack_cgetri(const enum CBLAS_ORDER Order, const int N, void   *A, const int lda, const int *ipiv)
00589       {
00590       return    clapack_cgetri(Order, N, A, lda, ipiv);
00591       }
00592     
00593     int wrapper_clapack_zgetri(const enum CBLAS_ORDER Order, const int N, void   *A, const int lda, const int *ipiv)
00594       {
00595       return    clapack_zgetri(Order, N, A, lda, ipiv);
00596       }
00597     
00598     
00599     
00600     int wrapper_clapack_sgesv(const enum CBLAS_ORDER Order, const int N, const int NRHS, float  *A, const int lda, int *ipiv, float  *B, const int ldb)
00601       {
00602       return    clapack_sgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
00603       }
00604     
00605     int wrapper_clapack_dgesv(const enum CBLAS_ORDER Order, const int N, const int NRHS, double *A, const int lda, int *ipiv, double *B, const int ldb)
00606       {
00607       return    clapack_dgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
00608       }
00609     
00610     int wrapper_clapack_cgesv(const enum CBLAS_ORDER Order, const int N, const int NRHS, void   *A, const int lda, int *ipiv, void   *B, const int ldb)
00611       {
00612       return    clapack_cgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
00613       }
00614     
00615     int wrapper_clapack_zgesv(const enum CBLAS_ORDER Order, const int N, const int NRHS, void   *A, const int lda, int *ipiv, void   *B, const int ldb)
00616       {
00617       return    clapack_zgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
00618       }
00619     
00620   #endif
00621   }
00622 
00623 }


armadillo_matrix
Author(s): Conrad Sanderson - NICTA (www.nicta.com.au), (Wrapper by Sjoerd van den Dries)
autogenerated on Tue Jan 7 2014 11:42:06