Chris@49
|
1 #include "armadillo_bits/config.hpp"
|
Chris@49
|
2 #include "armadillo_bits/typedef_blas_int.hpp"
|
Chris@49
|
3
|
Chris@49
|
4 #undef ARMA_USE_WRAPPER
|
Chris@49
|
5 #include "armadillo_bits/compiler_setup.hpp"
|
Chris@49
|
6
|
Chris@49
|
7 #include "armadillo_bits/undefine_conflicts.hpp"
|
Chris@49
|
8 #include "armadillo_bits/include_atlas.hpp"
|
Chris@49
|
9
|
Chris@49
|
10
|
Chris@49
|
11 namespace arma
|
Chris@49
|
12 {
|
Chris@49
|
13
|
Chris@49
|
14 #include "armadillo_bits/blas_bones.hpp"
|
Chris@49
|
15 #include "armadillo_bits/lapack_bones.hpp"
|
Chris@49
|
16
|
Chris@49
|
17 // at this stage we have prototypes for the real blas, lapack and atlas functions
|
Chris@49
|
18
|
Chris@49
|
19 // now we make the wrapper functions
|
Chris@49
|
20
|
Chris@49
|
21
|
Chris@49
|
22 extern "C"
|
Chris@49
|
23 {
|
Chris@49
|
24 #if defined(ARMA_USE_BLAS)
|
Chris@49
|
25
|
Chris@49
|
26 float arma_fortran_prefix(arma_sdot)(blas_int* n, const float* x, blas_int* incx, const float* y, blas_int* incy)
|
Chris@49
|
27 {
|
Chris@49
|
28 return arma_fortran_noprefix(arma_sdot)(n, x, incx, y, incy);
|
Chris@49
|
29 }
|
Chris@49
|
30
|
Chris@49
|
31 double arma_fortran_prefix(arma_ddot)(blas_int* n, const double* x, blas_int* incx, const double* y, blas_int* incy)
|
Chris@49
|
32 {
|
Chris@49
|
33 return arma_fortran_noprefix(arma_ddot)(n, x, incx, y, incy);
|
Chris@49
|
34 }
|
Chris@49
|
35
|
Chris@49
|
36
|
Chris@49
|
37
|
Chris@49
|
38 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)
|
Chris@49
|
39 {
|
Chris@49
|
40 arma_fortran_noprefix(arma_sgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
|
Chris@49
|
41 }
|
Chris@49
|
42
|
Chris@49
|
43 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)
|
Chris@49
|
44 {
|
Chris@49
|
45 arma_fortran_noprefix(arma_dgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
|
Chris@49
|
46 }
|
Chris@49
|
47
|
Chris@49
|
48 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)
|
Chris@49
|
49 {
|
Chris@49
|
50 arma_fortran_noprefix(arma_cgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
|
Chris@49
|
51 }
|
Chris@49
|
52
|
Chris@49
|
53 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)
|
Chris@49
|
54 {
|
Chris@49
|
55 arma_fortran_noprefix(arma_zgemv)(transA, m, n, alpha, A, ldA, x, incx, beta, y, incy);
|
Chris@49
|
56 }
|
Chris@49
|
57
|
Chris@49
|
58
|
Chris@49
|
59
|
Chris@49
|
60 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)
|
Chris@49
|
61 {
|
Chris@49
|
62 arma_fortran_noprefix(arma_sgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
|
Chris@49
|
63 }
|
Chris@49
|
64
|
Chris@49
|
65 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)
|
Chris@49
|
66 {
|
Chris@49
|
67 arma_fortran_noprefix(arma_dgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
|
Chris@49
|
68 }
|
Chris@49
|
69
|
Chris@49
|
70 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)
|
Chris@49
|
71 {
|
Chris@49
|
72 arma_fortran_noprefix(arma_cgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
|
Chris@49
|
73 }
|
Chris@49
|
74
|
Chris@49
|
75 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)
|
Chris@49
|
76 {
|
Chris@49
|
77 arma_fortran_noprefix(arma_zgemm)(transA, transB, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
|
Chris@49
|
78 }
|
Chris@49
|
79
|
Chris@49
|
80 #endif
|
Chris@49
|
81
|
Chris@49
|
82
|
Chris@49
|
83
|
Chris@49
|
84 #if defined(ARMA_USE_LAPACK)
|
Chris@49
|
85
|
Chris@49
|
86 void arma_fortran_prefix(arma_sgetrf)(blas_int* m, blas_int* n, float* a, blas_int* lda, blas_int* ipiv, blas_int* info)
|
Chris@49
|
87 {
|
Chris@49
|
88 arma_fortran_noprefix(arma_sgetrf)(m, n, a, lda, ipiv, info);
|
Chris@49
|
89 }
|
Chris@49
|
90
|
Chris@49
|
91 void arma_fortran_prefix(arma_dgetrf)(blas_int* m, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, blas_int* info)
|
Chris@49
|
92 {
|
Chris@49
|
93 arma_fortran_noprefix(arma_dgetrf)(m, n, a, lda, ipiv, info);
|
Chris@49
|
94 }
|
Chris@49
|
95
|
Chris@49
|
96 void arma_fortran_prefix(arma_cgetrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, blas_int* info)
|
Chris@49
|
97 {
|
Chris@49
|
98 arma_fortran_noprefix(arma_cgetrf)(m, n, a, lda, ipiv, info);
|
Chris@49
|
99 }
|
Chris@49
|
100
|
Chris@49
|
101 void arma_fortran_prefix(arma_zgetrf)(blas_int* m, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, blas_int* info)
|
Chris@49
|
102 {
|
Chris@49
|
103 arma_fortran_noprefix(arma_zgetrf)(m, n, a, lda, ipiv, info);
|
Chris@49
|
104 }
|
Chris@49
|
105
|
Chris@49
|
106
|
Chris@49
|
107
|
Chris@49
|
108 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)
|
Chris@49
|
109 {
|
Chris@49
|
110 arma_fortran_noprefix(arma_sgetri)(n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
111 }
|
Chris@49
|
112
|
Chris@49
|
113 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)
|
Chris@49
|
114 {
|
Chris@49
|
115 arma_fortran_noprefix(arma_dgetri)(n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
116 }
|
Chris@49
|
117
|
Chris@49
|
118 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)
|
Chris@49
|
119 {
|
Chris@49
|
120 arma_fortran_noprefix(arma_cgetri)(n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
121 }
|
Chris@49
|
122
|
Chris@49
|
123 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)
|
Chris@49
|
124 {
|
Chris@49
|
125 arma_fortran_noprefix(arma_zgetri)(n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
126 }
|
Chris@49
|
127
|
Chris@49
|
128
|
Chris@49
|
129
|
Chris@49
|
130 void arma_fortran_prefix(arma_strtri)(char* uplo, char* diag, blas_int* n, float* a, blas_int* lda, blas_int* info)
|
Chris@49
|
131 {
|
Chris@49
|
132 arma_fortran_noprefix(arma_strtri)(uplo, diag, n, a, lda, info);
|
Chris@49
|
133 }
|
Chris@49
|
134
|
Chris@49
|
135 void arma_fortran_prefix(arma_dtrtri)(char* uplo, char* diag, blas_int* n, double* a, blas_int* lda, blas_int* info)
|
Chris@49
|
136 {
|
Chris@49
|
137 arma_fortran_noprefix(arma_dtrtri)(uplo, diag, n, a, lda, info);
|
Chris@49
|
138 }
|
Chris@49
|
139
|
Chris@49
|
140 void arma_fortran_prefix(arma_ctrtri)(char* uplo, char* diag, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
141 {
|
Chris@49
|
142 arma_fortran_noprefix(arma_ctrtri)(uplo, diag, n, a, lda, info);
|
Chris@49
|
143 }
|
Chris@49
|
144
|
Chris@49
|
145 void arma_fortran_prefix(arma_ztrtri)(char* uplo, char* diag, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
146 {
|
Chris@49
|
147 arma_fortran_noprefix(arma_ztrtri)(uplo, diag, n, a, lda, info);
|
Chris@49
|
148 }
|
Chris@49
|
149
|
Chris@49
|
150
|
Chris@49
|
151
|
Chris@49
|
152 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)
|
Chris@49
|
153 {
|
Chris@49
|
154 arma_fortran_noprefix(arma_ssyev)(jobz, uplo, n, a, lda, w, work, lwork, info);
|
Chris@49
|
155 }
|
Chris@49
|
156
|
Chris@49
|
157 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)
|
Chris@49
|
158 {
|
Chris@49
|
159 arma_fortran_noprefix(arma_dsyev)(jobz, uplo, n, a, lda, w, work, lwork, info);
|
Chris@49
|
160 }
|
Chris@49
|
161
|
Chris@49
|
162
|
Chris@49
|
163
|
Chris@49
|
164 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)
|
Chris@49
|
165 {
|
Chris@49
|
166 arma_fortran_noprefix(arma_cheev)(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
|
Chris@49
|
167 }
|
Chris@49
|
168
|
Chris@49
|
169 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)
|
Chris@49
|
170 {
|
Chris@49
|
171 arma_fortran_noprefix(arma_zheev)(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
|
Chris@49
|
172 }
|
Chris@49
|
173
|
Chris@49
|
174
|
Chris@49
|
175
|
Chris@49
|
176 void arma_fortran_prefix(arma_ssyevd)(char* jobz, char* uplo, blas_int* n, float* a, blas_int* lda, float* w, float* work, blas_int* lwork, blas_int* iwork, blas_int* liwork, blas_int* info)
|
Chris@49
|
177 {
|
Chris@49
|
178 arma_fortran_noprefix(arma_ssyevd)(jobz, uplo, n, a, lda, w, work, lwork, iwork, liwork, info);
|
Chris@49
|
179 }
|
Chris@49
|
180
|
Chris@49
|
181 void arma_fortran_prefix(arma_dsyevd)(char* jobz, char* uplo, blas_int* n, double* a, blas_int* lda, double* w, double* work, blas_int* lwork, blas_int* iwork, blas_int* liwork, blas_int* info)
|
Chris@49
|
182 {
|
Chris@49
|
183 arma_fortran_noprefix(arma_dsyevd)(jobz, uplo, n, a, lda, w, work, lwork, iwork, liwork, info);
|
Chris@49
|
184 }
|
Chris@49
|
185
|
Chris@49
|
186
|
Chris@49
|
187
|
Chris@49
|
188 void arma_fortran_prefix(arma_cheevd)(char* jobz, char* uplo, blas_int* n, void* a, blas_int* lda, float* w, void* work, blas_int* lwork, float* rwork, blas_int* lrwork, blas_int* iwork, blas_int* liwork, blas_int* info)
|
Chris@49
|
189 {
|
Chris@49
|
190 arma_fortran_noprefix(arma_cheevd)(jobz, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info);
|
Chris@49
|
191 }
|
Chris@49
|
192
|
Chris@49
|
193 void arma_fortran_prefix(arma_zheevd)(char* jobz, char* uplo, blas_int* n, void* a, blas_int* lda, double* w, void* work, blas_int* lwork, double* rwork, blas_int* lrwork, blas_int* iwork, blas_int* liwork, blas_int* info)
|
Chris@49
|
194 {
|
Chris@49
|
195 arma_fortran_noprefix(arma_zheevd)(jobz, uplo, n, a, lda, w, work, lwork, rwork, lrwork, iwork, liwork, info);
|
Chris@49
|
196 }
|
Chris@49
|
197
|
Chris@49
|
198
|
Chris@49
|
199
|
Chris@49
|
200 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)
|
Chris@49
|
201 {
|
Chris@49
|
202 arma_fortran_noprefix(arma_sgeev)(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
|
Chris@49
|
203 }
|
Chris@49
|
204
|
Chris@49
|
205 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)
|
Chris@49
|
206 {
|
Chris@49
|
207 arma_fortran_noprefix(arma_dgeev)(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
|
Chris@49
|
208 }
|
Chris@49
|
209
|
Chris@49
|
210
|
Chris@49
|
211
|
Chris@49
|
212 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)
|
Chris@49
|
213 {
|
Chris@49
|
214 arma_fortran_noprefix(arma_cgeev)(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
|
Chris@49
|
215 }
|
Chris@49
|
216
|
Chris@49
|
217 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)
|
Chris@49
|
218 {
|
Chris@49
|
219 arma_fortran_noprefix(arma_zgeev)(jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
|
Chris@49
|
220 }
|
Chris@49
|
221
|
Chris@49
|
222
|
Chris@49
|
223
|
Chris@49
|
224 void arma_fortran_prefix(arma_spotrf)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* info)
|
Chris@49
|
225 {
|
Chris@49
|
226 arma_fortran_noprefix(arma_spotrf)(uplo, n, a, lda, info);
|
Chris@49
|
227 }
|
Chris@49
|
228
|
Chris@49
|
229 void arma_fortran_prefix(arma_dpotrf)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info)
|
Chris@49
|
230 {
|
Chris@49
|
231 arma_fortran_noprefix(arma_dpotrf)(uplo, n, a, lda, info);
|
Chris@49
|
232 }
|
Chris@49
|
233
|
Chris@49
|
234 void arma_fortran_prefix(arma_cpotrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
235 {
|
Chris@49
|
236 arma_fortran_noprefix(arma_cpotrf)(uplo, n, a, lda, info);
|
Chris@49
|
237 }
|
Chris@49
|
238
|
Chris@49
|
239 void arma_fortran_prefix(arma_zpotrf)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
240 {
|
Chris@49
|
241 arma_fortran_noprefix(arma_zpotrf)(uplo, n, a, lda, info);
|
Chris@49
|
242 }
|
Chris@49
|
243
|
Chris@49
|
244
|
Chris@49
|
245
|
Chris@49
|
246 void arma_fortran_prefix(arma_spotri)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* info)
|
Chris@49
|
247 {
|
Chris@49
|
248 arma_fortran_noprefix(arma_spotri)(uplo, n, a, lda, info);
|
Chris@49
|
249 }
|
Chris@49
|
250
|
Chris@49
|
251 void arma_fortran_prefix(arma_dpotri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* info)
|
Chris@49
|
252 {
|
Chris@49
|
253 arma_fortran_noprefix(arma_dpotri)(uplo, n, a, lda, info);
|
Chris@49
|
254 }
|
Chris@49
|
255
|
Chris@49
|
256 void arma_fortran_prefix(arma_cpotri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
257 {
|
Chris@49
|
258 arma_fortran_noprefix(arma_cpotri)(uplo, n, a, lda, info);
|
Chris@49
|
259 }
|
Chris@49
|
260
|
Chris@49
|
261 void arma_fortran_prefix(arma_zpotri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* info)
|
Chris@49
|
262 {
|
Chris@49
|
263 arma_fortran_noprefix(arma_zpotri)(uplo, n, a, lda, info);
|
Chris@49
|
264 }
|
Chris@49
|
265
|
Chris@49
|
266
|
Chris@49
|
267
|
Chris@49
|
268 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)
|
Chris@49
|
269 {
|
Chris@49
|
270 arma_fortran_noprefix(arma_sgeqrf)(m, n, a, lda, tau, work, lwork, info);
|
Chris@49
|
271 }
|
Chris@49
|
272
|
Chris@49
|
273 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)
|
Chris@49
|
274 {
|
Chris@49
|
275 arma_fortran_noprefix(arma_dgeqrf)(m, n, a, lda, tau, work, lwork, info);
|
Chris@49
|
276 }
|
Chris@49
|
277
|
Chris@49
|
278 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)
|
Chris@49
|
279 {
|
Chris@49
|
280 arma_fortran_noprefix(arma_cgeqrf)(m, n, a, lda, tau, work, lwork, info);
|
Chris@49
|
281 }
|
Chris@49
|
282
|
Chris@49
|
283 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)
|
Chris@49
|
284 {
|
Chris@49
|
285 arma_fortran_noprefix(arma_zgeqrf)(m, n, a, lda, tau, work, lwork, info);
|
Chris@49
|
286 }
|
Chris@49
|
287
|
Chris@49
|
288
|
Chris@49
|
289
|
Chris@49
|
290 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)
|
Chris@49
|
291 {
|
Chris@49
|
292 arma_fortran_noprefix(arma_sorgqr)(m, n, k, a, lda, tau, work, lwork, info);
|
Chris@49
|
293 }
|
Chris@49
|
294
|
Chris@49
|
295 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)
|
Chris@49
|
296 {
|
Chris@49
|
297 arma_fortran_noprefix(arma_dorgqr)(m, n, k, a, lda, tau, work, lwork, info);
|
Chris@49
|
298 }
|
Chris@49
|
299
|
Chris@49
|
300
|
Chris@49
|
301
|
Chris@49
|
302 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)
|
Chris@49
|
303 {
|
Chris@49
|
304 arma_fortran_noprefix(arma_cungqr)(m, n, k, a, lda, tau, work, lwork, info);
|
Chris@49
|
305 }
|
Chris@49
|
306
|
Chris@49
|
307 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)
|
Chris@49
|
308 {
|
Chris@49
|
309 arma_fortran_noprefix(arma_zungqr)(m, n, k, a, lda, tau, work, lwork, info);
|
Chris@49
|
310 }
|
Chris@49
|
311
|
Chris@49
|
312
|
Chris@49
|
313
|
Chris@49
|
314 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)
|
Chris@49
|
315 {
|
Chris@49
|
316 arma_fortran_noprefix(arma_sgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
|
Chris@49
|
317 }
|
Chris@49
|
318
|
Chris@49
|
319 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)
|
Chris@49
|
320 {
|
Chris@49
|
321 arma_fortran_noprefix(arma_dgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
|
Chris@49
|
322 }
|
Chris@49
|
323
|
Chris@49
|
324
|
Chris@49
|
325
|
Chris@49
|
326 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)
|
Chris@49
|
327 {
|
Chris@49
|
328 arma_fortran_noprefix(arma_cgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
|
Chris@49
|
329 }
|
Chris@49
|
330
|
Chris@49
|
331 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)
|
Chris@49
|
332 {
|
Chris@49
|
333 arma_fortran_noprefix(arma_zgesvd)(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
|
Chris@49
|
334 }
|
Chris@49
|
335
|
Chris@49
|
336
|
Chris@49
|
337
|
Chris@49
|
338 void arma_fortran_prefix(arma_sgesdd)(char* jobz, 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* iwork, blas_int* info)
|
Chris@49
|
339 {
|
Chris@49
|
340 arma_fortran_noprefix(arma_sgesdd)(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
|
Chris@49
|
341 }
|
Chris@49
|
342
|
Chris@49
|
343 void arma_fortran_prefix(arma_dgesdd)(char* jobz, 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* iwork, blas_int* info)
|
Chris@49
|
344 {
|
Chris@49
|
345 arma_fortran_noprefix(arma_dgesdd)(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
|
Chris@49
|
346 }
|
Chris@49
|
347
|
Chris@49
|
348
|
Chris@49
|
349
|
Chris@49
|
350 void arma_fortran_prefix(arma_cgesdd)(char* jobz, 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* iwork, blas_int* info)
|
Chris@49
|
351 {
|
Chris@49
|
352 arma_fortran_noprefix(arma_cgesdd)(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
|
Chris@49
|
353 }
|
Chris@49
|
354
|
Chris@49
|
355 void arma_fortran_prefix(arma_zgesdd)(char* jobz, 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* iwork, blas_int* info)
|
Chris@49
|
356 {
|
Chris@49
|
357 arma_fortran_noprefix(arma_zgesdd)(jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
|
Chris@49
|
358 }
|
Chris@49
|
359
|
Chris@49
|
360
|
Chris@49
|
361
|
Chris@49
|
362 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)
|
Chris@49
|
363 {
|
Chris@49
|
364 arma_fortran_noprefix(arma_sgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
|
Chris@49
|
365 }
|
Chris@49
|
366
|
Chris@49
|
367 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)
|
Chris@49
|
368 {
|
Chris@49
|
369 arma_fortran_noprefix(arma_dgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
|
Chris@49
|
370 }
|
Chris@49
|
371
|
Chris@49
|
372 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)
|
Chris@49
|
373 {
|
Chris@49
|
374 arma_fortran_noprefix(arma_cgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
|
Chris@49
|
375 }
|
Chris@49
|
376
|
Chris@49
|
377 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)
|
Chris@49
|
378 {
|
Chris@49
|
379 arma_fortran_noprefix(arma_zgesv)(n, nrhs, a, lda, ipiv, b, ldb, info);
|
Chris@49
|
380 }
|
Chris@49
|
381
|
Chris@49
|
382
|
Chris@49
|
383
|
Chris@49
|
384 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)
|
Chris@49
|
385 {
|
Chris@49
|
386 arma_fortran_noprefix(arma_sgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
|
Chris@49
|
387 }
|
Chris@49
|
388
|
Chris@49
|
389 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)
|
Chris@49
|
390 {
|
Chris@49
|
391 arma_fortran_noprefix(arma_dgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
|
Chris@49
|
392 }
|
Chris@49
|
393
|
Chris@49
|
394 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)
|
Chris@49
|
395 {
|
Chris@49
|
396 arma_fortran_noprefix(arma_cgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
|
Chris@49
|
397 }
|
Chris@49
|
398
|
Chris@49
|
399 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)
|
Chris@49
|
400 {
|
Chris@49
|
401 arma_fortran_noprefix(arma_zgels)(trans, m, n, nrhs, a, lda, b, ldb, work, lwork, info);
|
Chris@49
|
402 }
|
Chris@49
|
403
|
Chris@49
|
404
|
Chris@49
|
405
|
Chris@49
|
406
|
Chris@49
|
407 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)
|
Chris@49
|
408 {
|
Chris@49
|
409 arma_fortran_noprefix(arma_strtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
|
Chris@49
|
410 }
|
Chris@49
|
411
|
Chris@49
|
412 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)
|
Chris@49
|
413 {
|
Chris@49
|
414 arma_fortran_noprefix(arma_dtrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
|
Chris@49
|
415 }
|
Chris@49
|
416
|
Chris@49
|
417 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)
|
Chris@49
|
418 {
|
Chris@49
|
419 arma_fortran_noprefix(arma_ctrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
|
Chris@49
|
420 }
|
Chris@49
|
421
|
Chris@49
|
422 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)
|
Chris@49
|
423 {
|
Chris@49
|
424 arma_fortran_noprefix(arma_ztrtrs)(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
|
Chris@49
|
425 }
|
Chris@49
|
426
|
Chris@49
|
427
|
Chris@49
|
428
|
Chris@49
|
429
|
Chris@49
|
430 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)
|
Chris@49
|
431 {
|
Chris@49
|
432 arma_fortran_noprefix(arma_sgees)(jobvs, sort, select, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info);
|
Chris@49
|
433 }
|
Chris@49
|
434
|
Chris@49
|
435 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)
|
Chris@49
|
436 {
|
Chris@49
|
437 arma_fortran_noprefix(arma_dgees)(jobvs, sort, select, n, a, lda, sdim, wr, wi, vs, ldvs, work, lwork, bwork, info);
|
Chris@49
|
438 }
|
Chris@49
|
439
|
Chris@49
|
440
|
Chris@49
|
441
|
Chris@49
|
442 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)
|
Chris@49
|
443 {
|
Chris@49
|
444 arma_fortran_noprefix(arma_cgees)(jobvs, sort, select, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info);
|
Chris@49
|
445 }
|
Chris@49
|
446
|
Chris@49
|
447 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)
|
Chris@49
|
448 {
|
Chris@49
|
449 arma_fortran_noprefix(arma_zgees)(jobvs, sort, select, n, a, lda, sdim, w, vs, ldvs, work, lwork, rwork, bwork, info);
|
Chris@49
|
450 }
|
Chris@49
|
451
|
Chris@49
|
452
|
Chris@49
|
453
|
Chris@49
|
454 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)
|
Chris@49
|
455 {
|
Chris@49
|
456 arma_fortran_noprefix(arma_strsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
|
Chris@49
|
457 }
|
Chris@49
|
458
|
Chris@49
|
459 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)
|
Chris@49
|
460 {
|
Chris@49
|
461 arma_fortran_noprefix(arma_dtrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
|
Chris@49
|
462 }
|
Chris@49
|
463
|
Chris@49
|
464 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)
|
Chris@49
|
465 {
|
Chris@49
|
466 arma_fortran_noprefix(arma_ctrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
|
Chris@49
|
467 }
|
Chris@49
|
468
|
Chris@49
|
469 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)
|
Chris@49
|
470 {
|
Chris@49
|
471 arma_fortran_noprefix(arma_ztrsyl)(transa, transb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info);
|
Chris@49
|
472 }
|
Chris@49
|
473
|
Chris@49
|
474
|
Chris@49
|
475
|
Chris@49
|
476
|
Chris@49
|
477 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)
|
Chris@49
|
478 {
|
Chris@49
|
479 arma_fortran_noprefix(arma_ssytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
480 }
|
Chris@49
|
481
|
Chris@49
|
482 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)
|
Chris@49
|
483 {
|
Chris@49
|
484 arma_fortran_noprefix(arma_dsytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
485 }
|
Chris@49
|
486
|
Chris@49
|
487 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)
|
Chris@49
|
488 {
|
Chris@49
|
489 arma_fortran_noprefix(arma_csytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
490 }
|
Chris@49
|
491
|
Chris@49
|
492 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)
|
Chris@49
|
493 {
|
Chris@49
|
494 arma_fortran_noprefix(arma_zsytrf)(uplo, n, a, lda, ipiv, work, lwork, info);
|
Chris@49
|
495 }
|
Chris@49
|
496
|
Chris@49
|
497
|
Chris@49
|
498
|
Chris@49
|
499
|
Chris@49
|
500 void arma_fortran_prefix(arma_ssytri)(char* uplo, blas_int* n, float* a, blas_int* lda, blas_int* ipiv, float* work, blas_int* info)
|
Chris@49
|
501 {
|
Chris@49
|
502 arma_fortran_noprefix(arma_ssytri)(uplo, n, a, lda, ipiv, work, info);
|
Chris@49
|
503 }
|
Chris@49
|
504
|
Chris@49
|
505 void arma_fortran_prefix(arma_dsytri)(char* uplo, blas_int* n, double* a, blas_int* lda, blas_int* ipiv, double* work, blas_int* info)
|
Chris@49
|
506 {
|
Chris@49
|
507 arma_fortran_noprefix(arma_dsytri)(uplo, n, a, lda, ipiv, work, info);
|
Chris@49
|
508 }
|
Chris@49
|
509
|
Chris@49
|
510 void arma_fortran_prefix(arma_csytri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* info)
|
Chris@49
|
511 {
|
Chris@49
|
512 arma_fortran_noprefix(arma_csytri)(uplo, n, a, lda, ipiv, work, info);
|
Chris@49
|
513 }
|
Chris@49
|
514
|
Chris@49
|
515 void arma_fortran_prefix(arma_zsytri)(char* uplo, blas_int* n, void* a, blas_int* lda, blas_int* ipiv, void* work, blas_int* info)
|
Chris@49
|
516 {
|
Chris@49
|
517 arma_fortran_noprefix(arma_zsytri)(uplo, n, a, lda, ipiv, work, info);
|
Chris@49
|
518 }
|
Chris@49
|
519
|
Chris@49
|
520 #endif
|
Chris@49
|
521
|
Chris@49
|
522
|
Chris@49
|
523
|
Chris@49
|
524 #if defined(ARMA_USE_ATLAS)
|
Chris@49
|
525
|
Chris@49
|
526 float wrapper_cblas_sdot(const int N, const float *X, const int incX, const float *Y, const int incY)
|
Chris@49
|
527 {
|
Chris@49
|
528 return cblas_sdot(N, X, incX, Y, incY);
|
Chris@49
|
529 }
|
Chris@49
|
530
|
Chris@49
|
531 double wrapper_cblas_ddot(const int N, const double *X, const int incX, const double *Y, const int incY)
|
Chris@49
|
532 {
|
Chris@49
|
533 return cblas_ddot(N, X, incX, Y, incY);
|
Chris@49
|
534 }
|
Chris@49
|
535
|
Chris@49
|
536 void wrapper_cblas_cdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
|
Chris@49
|
537 {
|
Chris@49
|
538 cblas_cdotu_sub(N, X, incX, Y, incY, dotu);
|
Chris@49
|
539 }
|
Chris@49
|
540
|
Chris@49
|
541 void wrapper_cblas_zdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
|
Chris@49
|
542 {
|
Chris@49
|
543 cblas_zdotu_sub(N, X, incX, Y, incY, dotu);
|
Chris@49
|
544 }
|
Chris@49
|
545
|
Chris@49
|
546
|
Chris@49
|
547
|
Chris@49
|
548 void wrapper_cblas_sgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha,
|
Chris@49
|
549 const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY)
|
Chris@49
|
550 {
|
Chris@49
|
551 cblas_sgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
|
Chris@49
|
552 }
|
Chris@49
|
553
|
Chris@49
|
554 void wrapper_cblas_dgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha,
|
Chris@49
|
555 const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY)
|
Chris@49
|
556 {
|
Chris@49
|
557 cblas_dgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
|
Chris@49
|
558 }
|
Chris@49
|
559
|
Chris@49
|
560 void wrapper_cblas_cgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
|
Chris@49
|
561 const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
|
Chris@49
|
562 {
|
Chris@49
|
563 cblas_cgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
|
Chris@49
|
564 }
|
Chris@49
|
565
|
Chris@49
|
566 void wrapper_cblas_zgemv(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha,
|
Chris@49
|
567 const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
|
Chris@49
|
568 {
|
Chris@49
|
569 cblas_zgemv(Order, TransA, M, N, alpha, A, lda, X, incX, beta, Y, incY);
|
Chris@49
|
570 }
|
Chris@49
|
571
|
Chris@49
|
572
|
Chris@49
|
573
|
Chris@49
|
574 void wrapper_cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
|
Chris@49
|
575 const int M, const int N, const int K, const float alpha,
|
Chris@49
|
576 const float *A, const int lda, const float *B, const int ldb, const float beta, float *C, const int ldc)
|
Chris@49
|
577 {
|
Chris@49
|
578 cblas_sgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
|
Chris@49
|
579 }
|
Chris@49
|
580
|
Chris@49
|
581 void wrapper_cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
|
Chris@49
|
582 const int M, const int N, const int K, const double alpha,
|
Chris@49
|
583 const double *A, const int lda, const double *B, const int ldb, const double beta, double *C, const int ldc)
|
Chris@49
|
584 {
|
Chris@49
|
585 cblas_dgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
|
Chris@49
|
586 }
|
Chris@49
|
587
|
Chris@49
|
588 void wrapper_cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
|
Chris@49
|
589 const int M, const int N, const int K, const void *alpha,
|
Chris@49
|
590 const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
|
Chris@49
|
591 {
|
Chris@49
|
592 cblas_cgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
|
Chris@49
|
593 }
|
Chris@49
|
594
|
Chris@49
|
595 void wrapper_cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB,
|
Chris@49
|
596 const int M, const int N, const int K, const void *alpha,
|
Chris@49
|
597 const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
|
Chris@49
|
598 {
|
Chris@49
|
599 cblas_zgemm(Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
|
Chris@49
|
600 }
|
Chris@49
|
601
|
Chris@49
|
602
|
Chris@49
|
603
|
Chris@49
|
604 int wrapper_clapack_sgetrf(const enum CBLAS_ORDER Order, const int M, const int N, float *A, const int lda, int *ipiv)
|
Chris@49
|
605 {
|
Chris@49
|
606 return clapack_sgetrf(Order, M, N, A, lda, ipiv);
|
Chris@49
|
607 }
|
Chris@49
|
608
|
Chris@49
|
609 int wrapper_clapack_dgetrf(const enum CBLAS_ORDER Order, const int M, const int N, double *A, const int lda, int *ipiv)
|
Chris@49
|
610 {
|
Chris@49
|
611 return clapack_dgetrf(Order, M, N, A, lda, ipiv);
|
Chris@49
|
612 }
|
Chris@49
|
613
|
Chris@49
|
614 int wrapper_clapack_cgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void *A, const int lda, int *ipiv)
|
Chris@49
|
615 {
|
Chris@49
|
616 return clapack_cgetrf(Order, M, N, A, lda, ipiv);
|
Chris@49
|
617 }
|
Chris@49
|
618
|
Chris@49
|
619 int wrapper_clapack_zgetrf(const enum CBLAS_ORDER Order, const int M, const int N, void *A, const int lda, int *ipiv)
|
Chris@49
|
620 {
|
Chris@49
|
621 return clapack_zgetrf(Order, M, N, A, lda, ipiv);
|
Chris@49
|
622 }
|
Chris@49
|
623
|
Chris@49
|
624
|
Chris@49
|
625
|
Chris@49
|
626 int wrapper_clapack_sgetri(const enum CBLAS_ORDER Order, const int N, float *A, const int lda, const int *ipiv)
|
Chris@49
|
627 {
|
Chris@49
|
628 return clapack_sgetri(Order, N, A, lda, ipiv);
|
Chris@49
|
629 }
|
Chris@49
|
630
|
Chris@49
|
631 int wrapper_clapack_dgetri(const enum CBLAS_ORDER Order, const int N, double *A, const int lda, const int *ipiv)
|
Chris@49
|
632 {
|
Chris@49
|
633 return clapack_dgetri(Order, N, A, lda, ipiv);
|
Chris@49
|
634 }
|
Chris@49
|
635
|
Chris@49
|
636 int wrapper_clapack_cgetri(const enum CBLAS_ORDER Order, const int N, void *A, const int lda, const int *ipiv)
|
Chris@49
|
637 {
|
Chris@49
|
638 return clapack_cgetri(Order, N, A, lda, ipiv);
|
Chris@49
|
639 }
|
Chris@49
|
640
|
Chris@49
|
641 int wrapper_clapack_zgetri(const enum CBLAS_ORDER Order, const int N, void *A, const int lda, const int *ipiv)
|
Chris@49
|
642 {
|
Chris@49
|
643 return clapack_zgetri(Order, N, A, lda, ipiv);
|
Chris@49
|
644 }
|
Chris@49
|
645
|
Chris@49
|
646
|
Chris@49
|
647
|
Chris@49
|
648 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)
|
Chris@49
|
649 {
|
Chris@49
|
650 return clapack_sgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
|
Chris@49
|
651 }
|
Chris@49
|
652
|
Chris@49
|
653 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)
|
Chris@49
|
654 {
|
Chris@49
|
655 return clapack_dgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
|
Chris@49
|
656 }
|
Chris@49
|
657
|
Chris@49
|
658 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)
|
Chris@49
|
659 {
|
Chris@49
|
660 return clapack_cgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
|
Chris@49
|
661 }
|
Chris@49
|
662
|
Chris@49
|
663 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)
|
Chris@49
|
664 {
|
Chris@49
|
665 return clapack_zgesv(Order, N, NRHS, A, lda, ipiv, B, ldb);
|
Chris@49
|
666 }
|
Chris@49
|
667
|
Chris@49
|
668 #endif
|
Chris@49
|
669 }
|
Chris@49
|
670
|
Chris@49
|
671 }
|