HMLP: High-performance Machine Learning Primitives
blas_lapack_prototypes.h
1 #ifndef BLAS_LAPACK_PROTOTYPES_H
2 #define BLAS_LAPACK_PROTOTYPES_H
3 
5 double ddot_( int* n, const double* dx, int* incx, const double* dy, int* incy );
6 float sdot_( int* n, const float* dx, int* incx, const float* dy, int* incy );
7 double dnrm2_( int *n, double *x, int *incx );
8 float snrm2_( int *n, float *x, int *incx );
9 
14 void dgemm_(
15  const char *transA, const char *transB,
16  int *m, int *n, int *k,
17  double *alpha,
18  const double *A, int *lda,
19  const double *B, int *ldb, double *beta,
20  double *C, int *ldc );
21 void sgemm_(
22  const char *transA, const char *transB,
23  int *m, int *n, int *k,
24  float *alpha,
25  const float *A, int *lda,
26  const float *B, int *ldb, float *beta,
27  float *C, int *ldc );
28 void dsyrk_(
29  const char *uplo, const char *trans,
30  int *n, int *k,
31  double *alpha,
32  double *A, int *lda,
33  double *beta,
34  double *C, int *ldc );
35 void ssyrk_(
36  const char *uplo, const char *trans,
37  int *n, int *k,
38  float *alpha,
39  float *A, int *lda,
40  float *beta,
41  float *C, int *ldc );
42 void dtrsm_(
43  const char *side, const char *uplo,
44  const char *transA, const char *diag,
45  int *m, int *n,
46  double *alpha,
47  double *A, int *lda,
48  double *B, int *ldb );
49 void strsm_(
50  const char *side, const char *uplo,
51  const char *transA, const char *diag,
52  int *m, int *n,
53  float *alpha,
54  float *A, int *lda,
55  float *B, int *ldb );
56 void dtrmm_(
57  const char *side, const char *uplo,
58  const char *transA, const char *diag,
59  int *m, int *n,
60  double *alpha,
61  double *A, int *lda,
62  double *B, int *ldb );
63 void strmm_(
64  const char *side, const char *uplo,
65  const char *transA, const char *diag,
66  int *m, int *n,
67  float *alpha,
68  float *A, int *lda,
69  float *B, int *ldb );
70 
72 void xerbla_( const char *srname, int *info );
73 void dswap_(
74  int *n,
75  double *dx, int *incx,
76  double *dy, int *incy );
77 void sswap_(
78  int *n,
79  float *sx, int *incx,
80  float *sy, int *incy );
81 void dlacpy_(
82  const char *uplo, int *m, int *n,
83  double *a, int *lda,
84  double *b, int *ldb );
85 void slacpy_(
86  const char *uplo, int *m, int *n,
87  float *a, int *lda,
88  float *b, int *ldb );
89 void dlaswp_(
90  int *n, double *A, int *lda,
91  int *k1, int *k2, int *ipiv, int *incx );
92 void slaswp_(
93  int *n, float *A, int *lda,
94  int *k1, int *k2, int *ipiv, int *incx );
95 void dpotrf_(
96  const char *uplo,
97  int *n, double *A, int *lda, int *info );
98 void spotrf_(
99  const char *uplo,
100  int *n, float *A, int *lda, int *info );
101 void dpotrs_(
102  const char *uplo,
103  int *n, int *nrhs, double *A, int *lda, double *B, int *ldb, int *info );
104 void spotrs_(
105  const char *uplo,
106  int *n, int *nrhs, float *A, int *lda, float *B, int *ldb, int *info );
107 void dposv_(
108  const char *uplo,
109  int *n, int *nrhs, double *A, int *lda, double *B, int *ldb, int *info );
110 void sposv_(
111  const char *uplo,
112  int *n, int *nrhs, float *A, int *lda, float *B, int *ldb, int *info );
113 void dgetrf_(
114  int *m, int *n,
115  double *A, int *lda, int *ipiv, int *info );
116 void sgetrf_(
117  int *m, int *n,
118  float *A, int *lda, int *ipiv, int *info );
119 void dgetrs_(
120  const char *trans,
121  int *m, int *nrhs,
122  double *A, int *lda, int *ipiv,
123  double *B, int *ldb, int *info );
124 void sgetrs_(
125  const char *trans,
126  int *m, int *nrhs,
127  float *A, int *lda, int *ipiv,
128  float *B, int *ldb, int *info );
129 void dgecon_(
130  const char *norm,
131  int *n,
132  double *A, int *lda,
133  double *anorm,
134  double *rcond,
135  double *work, int *iwork, int *info );
136 void sgecon_(
137  const char *norm,
138  int *n,
139  float *A, int *lda,
140  float *anorm,
141  float *rcond,
142  float *work, int *iwork, int *info );
143 void dgeqrf_(
144  int *m, int *n,
145  double *A, int *lda,
146  double *tau,
147  double *work, int *lwork, int *info );
148 void sgeqrf_(
149  int *m, int *n,
150  float *A, int *lda,
151  float *tau,
152  float *work, int *lwork, int *info );
153 void dorgqr_(
154  int *m, int *n, int *k,
155  double *A, int *lda,
156  double *tau,
157  double *work, int *lwork, int *info );
158 void sorgqr_(
159  int *m, int *n, int *k,
160  float *A, int *lda,
161  float *tau,
162  float *work, int *lwork, int *info );
163 void dormqr_(
164  const char *side, const char *trans,
165  int *m, int *n, int *k,
166  double *A, int *lda,
167  double *tau,
168  double *C, int *ldc,
169  double *work, int *lwork, int *info );
170 void sormqr_(
171  const char *side, const char *trans,
172  int *m, int *n, int *k,
173  float *A, int *lda,
174  float *tau,
175  float *C, int *ldc,
176  float *work, int *lwork, int *info );
177 void dgeqp3_(
178  int *m, int *n,
179  double *A, int *lda, int *jpvt,
180  double *tau,
181  double *work, int *lwork, int *info );
182 void sgeqp3_(
183  int *m, int *n,
184  float *A, int *lda, int *jpvt,
185  float *tau,
186  float *work, int *lwork, int *info );
187 void dgeqp4(
188  int *m, int *n,
189  double *A, int *lda, int *jpvt,
190  double *tau,
191  double *work, int *lwork, int *info );
192 void sgeqp4(
193  int *m, int *n,
194  float *A, int *lda, int *jpvt,
195  float *tau,
196  float *work, int *lwork, int *info );
197 void dgels_(
198  const char *trans,
199  int *m, int *n, int *nrhs,
200  double *A, int *lda,
201  double *B, int *ldb,
202  double *work, int *lwork, int *info );
203 void sgels_(
204  const char *trans,
205  int *m, int *n, int *nrhs,
206  float *A, int *lda,
207  float *B, int *ldb,
208  float *work, int *lwork, int *info );
209 void dgesdd_(
210  const char *jobz,
211  int *m, int *n,
212  double *A, int *lda,
213  double *S,
214  double *U, int *ldu,
215  double *VT, int *ldvt,
216  double *work, int *lwork, int *iwork, int *info );
217 void sgesdd_(
218  const char *jobz,
219  int *m, int *n,
220  float *A, int *lda,
221  float *S,
222  float *U, int *ldu,
223  float *VT, int *ldvt,
224  float *work, int *lwork, int *iwork, int *info );
225 void dstev_(
226  const char *jobz,
227  int *n,
228  double *D,
229  double *E,
230  double *Z, int *ldz,
231  double *work, int *info );
232 void sstev_(
233  const char *jobz,
234  int *n,
235  float *D,
236  float *E,
237  float *Z, int *ldz,
238  float *work, int *info );
239 
240 
241 void dlarf_(
242  const char *side,
243  int *m, int *n,
244  double *v, int *incv,
245  double *tau,
246  double *c, int *ldc,
247  double *work );
248 void slarf_(
249  const char *side,
250  int *m, int *n,
251  float *v, int *incv,
252  float *tau,
253  float *c, int *ldc,
254  float *work );
255 void dlarft_(
256  const char *direct, const char *storev,
257  int *n, int *k,
258  double *v, int *ldv,
259  double *tau,
260  double *t, int *ldt );
261 void slarft_(
262  const char *direct, const char *storev,
263  int *n, int *k,
264  float *v, int *ldv,
265  float *tau,
266  float *t, int *ldt );
267 void dlarfb_(
268  const char *side, const char *trans, const char *direct, const char *storev,
269  int *m, int *n, int *k,
270  double *v, int *ldv,
271  double *t, int *ldt,
272  double *c, int *ldc,
273  double *work, int *ldwork );
274 void slarfb_(
275  const char *side, const char *trans, const char *direct, const char *storev,
276  int *m, int *n, int *k,
277  float *v, int *ldv,
278  float *t, int *ldt,
279  float *c, int *ldc,
280  float *work, int *ldwork );
281 void dlarfg_( int *n, double *alpha, double *x, int *incx, double *tau );
282 void slarfg_( int *n, float *alpha, float *x, int *incx, float *tau );
283 
284 #endif