comparison armadillo-2.4.4/include/armadillo_bits/atlas_bones.hpp @ 0:8b6102e2a9b0

Armadillo Library
author maxzanoni76 <max.zanoni@eecs.qmul.ac.uk>
date Wed, 11 Apr 2012 09:27:06 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:8b6102e2a9b0
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
2 // Copyright (C) 2008-2011 Conrad Sanderson
3 //
4 // This file is part of the Armadillo C++ library.
5 // It is provided without any warranty of fitness
6 // for any purpose. You can redistribute this file
7 // and/or modify it under the terms of the GNU
8 // Lesser General Public License (LGPL) as published
9 // by the Free Software Foundation, either version 3
10 // of the License or (at your option) any later version.
11 // (see http://www.opensource.org/licenses for more info)
12
13
14 #ifdef ARMA_USE_ATLAS
15
16
17 //! \namespace atlas namespace for ATLAS functions (imported from the global namespace)
18 namespace atlas
19 {
20
21 using ::CblasColMajor;
22 using ::CblasNoTrans;
23 using ::CblasTrans;
24 using ::CblasConjTrans;
25
26 #if defined(ARMA_USE_WRAPPER)
27 extern "C"
28 {
29
30 float wrapper_cblas_sdot(const int N, const float *X, const int incX, const float *Y, const int incY);
31 double wrapper_cblas_ddot(const int N, const double *X, const int incX, const double *Y, const int incY);
32
33 void wrapper_cblas_cdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu);
34 void wrapper_cblas_zdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu);
35
36
37 void wrapper_cblas_sgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha,
38 const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY);
39
40 void wrapper_cblas_dgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha,
41 const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY);
42
43 void wrapper_cblas_cgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
44 const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY);
45
46 void wrapper_cblas_zgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
47 const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY);
48
49
50
51 void wrapper_cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
52 const int M, const int N, const int K, const float alpha,
53 const float *A, const int lda, const float *B, const int ldb, const float beta, float *C, const int ldc);
54
55 void wrapper_cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
56 const int M, const int N, const int K, const double alpha,
57 const double *A, const int lda, const double *B, const int ldb, const double beta, double *C, const int ldc);
58
59 void wrapper_cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
60 const int M, const int N, const int K, const void *alpha,
61 const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc);
62
63 void wrapper_cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
64 const int M, const int N, const int K, const void *alpha,
65 const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc);
66
67
68 int wrapper_clapack_sgetrf(const enum CBLAS_ORDER Order, const int M, const int N, float *A, const int lda, int *ipiv);
69 int wrapper_clapack_dgetrf(const enum CBLAS_ORDER Order, const int M, const int N, double *A, const int lda, int *ipiv);
70 int wrapper_clapack_cgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void *A, const int lda, int *ipiv);
71 int wrapper_clapack_zgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void *A, const int lda, int *ipiv);
72
73 int wrapper_clapack_sgetri(const enum CBLAS_ORDER Order, const int N, float *A, const int lda, const int *ipiv);
74 int wrapper_clapack_dgetri(const enum CBLAS_ORDER Order, const int N, double *A, const int lda, const int *ipiv);
75 int wrapper_clapack_cgetri(const enum CBLAS_ORDER Order, const int N, void *A, const int lda, const int *ipiv);
76 int wrapper_clapack_zgetri(const enum CBLAS_ORDER Order, const int N, void *A, const int lda, const int *ipiv);
77
78 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);
79 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);
80 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);
81 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);
82
83 }
84 #endif
85
86 }
87
88
89 #endif