]> gitweb.factorcode.org Git - factor.git/blob - extra/math/blas/cblas/cblas.factor
Merge branch 'master' into experimental (untested!)
[factor.git] / extra / math / blas / cblas / cblas.factor
1 USING: alien alien.c-types alien.syntax kernel system combinators ;
2 IN: math.blas.cblas
3
4 << "cblas" {
5     { [ os macosx? ] [ "libblas.dylib" "cdecl" add-library ] }
6     { [ os windows? ] [ "blas.dll" "cdecl" add-library ] }
7     { [ os openbsd? ] [ "libcblas.so" "cdecl" add-library ] }
8     { [ os freebsd? ] [ "libcblas.so" "cdecl" add-library ] }
9     [ "libblas.so" "cdecl" add-library ]
10 } cond >>
11
12 LIBRARY: cblas
13
14 TYPEDEF: int CBLAS_ORDER
15 : CblasRowMajor 101 ; inline
16 : CblasColMajor 102 ; inline
17
18 TYPEDEF: int CBLAS_TRANSPOSE
19 : CblasNoTrans   111 ; inline
20 : CblasTrans     112 ; inline
21 : CblasConjTrans 113 ; inline
22
23 TYPEDEF: int CBLAS_UPLO
24 : CblasUpper 121 ; inline
25 : CblasLower 122 ; inline
26
27 TYPEDEF: int CBLAS_DIAG
28 : CblasNonUnit 131 ; inline
29 : CblasUnit    132 ; inline
30
31 TYPEDEF: int CBLAS_SIDE
32 : CblasLeft  141 ; inline
33 : CblasRight 142 ; inline
34
35 TYPEDEF: int CBLAS_INDEX
36
37 C-STRUCT: float-complex
38     { "float" "real" }
39     { "float" "imag" } ;
40 C-STRUCT: double-complex
41     { "double" "real" }
42     { "double" "imag" } ;
43
44 ! Level 1 BLAS (scalar-vector and vector-vector)
45
46 FUNCTION: float  cblas_sdsdot
47     ( int N, float    alpha, float*   X, int incX, float*   Y, int incY ) ;
48 FUNCTION: double cblas_dsdot
49     ( int N,                 float*   X, int incX, float*   Y, int incY ) ;
50 FUNCTION: float  cblas_sdot
51     ( int N,                 float*   X, int incX, float*   Y, int incY ) ;
52 FUNCTION: double cblas_ddot
53     ( int N,                 double*  X, int incX, double*  Y, int incY ) ;
54
55 FUNCTION: void   cblas_cdotu_sub
56     ( int N,                 void*    X, int incX, void*    Y, int incY, void*    dotu ) ;
57 FUNCTION: void   cblas_cdotc_sub
58     ( int N,                 void*    X, int incX, void*    Y, int incY, void*    dotc ) ;
59
60 FUNCTION: void   cblas_zdotu_sub
61     ( int N,                 void*    X, int incX, void*    Y, int incY, void*    dotu ) ;
62 FUNCTION: void   cblas_zdotc_sub
63     ( int N,                 void*    X, int incX, void*    Y, int incY, void*    dotc ) ;
64
65 FUNCTION: float  cblas_snrm2
66     ( int N,                 float*   X, int incX ) ;
67 FUNCTION: float  cblas_sasum
68     ( int N,                 float*   X, int incX ) ;
69
70 FUNCTION: double cblas_dnrm2
71     ( int N,                 double*  X, int incX ) ;
72 FUNCTION: double cblas_dasum
73     ( int N,                 double*  X, int incX ) ;
74
75 FUNCTION: float  cblas_scnrm2
76     ( int N,                 void*    X, int incX ) ;
77 FUNCTION: float  cblas_scasum
78     ( int N,                 void*    X, int incX ) ;
79
80 FUNCTION: double cblas_dznrm2
81     ( int N,                 void*    X, int incX ) ;
82 FUNCTION: double cblas_dzasum
83     ( int N,                 void*    X, int incX ) ;
84
85 FUNCTION: CBLAS_INDEX cblas_isamax
86     ( int N,                 float*   X, int incX ) ;
87 FUNCTION: CBLAS_INDEX cblas_idamax
88     ( int N,                 double*  X, int incX ) ;
89 FUNCTION: CBLAS_INDEX cblas_icamax
90     ( int N,                 void*    X, int incX ) ;
91 FUNCTION: CBLAS_INDEX cblas_izamax
92     ( int N,                 void*    X, int incX ) ;
93
94 FUNCTION: void cblas_sswap
95     ( int N,                 float*   X, int incX, float*   Y, int incY ) ;
96 FUNCTION: void cblas_scopy
97     ( int N,                 float*   X, int incX, float*   Y, int incY ) ;
98 FUNCTION: void cblas_saxpy
99     ( int N, float    alpha, float*   X, int incX, float*   Y, int incY ) ;
100
101 FUNCTION: void cblas_dswap
102     ( int N,                 double*  X, int incX, double*  Y, int incY ) ;
103 FUNCTION: void cblas_dcopy
104     ( int N,                 double*  X, int incX, double*  Y, int incY ) ;
105 FUNCTION: void cblas_daxpy
106     ( int N, double   alpha, double*  X, int incX, double*  Y, int incY ) ;
107
108 FUNCTION: void cblas_cswap
109     ( int N,                 void*    X, int incX, void*    Y, int incY ) ;
110 FUNCTION: void cblas_ccopy
111     ( int N,                 void*    X, int incX, void*    Y, int incY ) ;
112 FUNCTION: void cblas_caxpy
113     ( int N, void*    alpha, void*    X, int incX, void*    Y, int incY ) ;
114
115 FUNCTION: void cblas_zswap
116     ( int N,                 void*    X, int incX, void*    Y, int incY ) ;
117 FUNCTION: void cblas_zcopy
118     ( int N,                 void*    X, int incX, void*    Y, int incY ) ;
119 FUNCTION: void cblas_zaxpy
120     ( int N, void*    alpha, void*    X, int incX, void*    Y, int incY ) ;
121
122 FUNCTION: void cblas_sscal
123     ( int N, float    alpha, float*   X, int incX ) ;
124 FUNCTION: void cblas_dscal
125     ( int N, double   alpha, double*  X, int incX ) ;
126 FUNCTION: void cblas_cscal
127     ( int N, void*    alpha, void*    X, int incX ) ;
128 FUNCTION: void cblas_zscal
129     ( int N, void*    alpha, void*    X, int incX ) ;
130 FUNCTION: void cblas_csscal
131     ( int N, float    alpha, void*    X, int incX ) ;
132 FUNCTION: void cblas_zdscal
133     ( int N, double   alpha, void*    X, int incX ) ;
134
135 FUNCTION: void cblas_srotg
136     ( float* a, float* b, float* c, float* s ) ;
137 FUNCTION: void cblas_srotmg
138     ( float* d1, float* d2, float* b1, float b2, float* P ) ;
139 FUNCTION: void cblas_srot
140     ( int N, float* X, int incX, float* Y, int incY, float c, float s ) ;
141 FUNCTION: void cblas_srotm
142     ( int N, float* X, int incX, float* Y, int incY, float* P ) ;
143
144 FUNCTION: void cblas_drotg
145     ( double* a, double* b, double* c, double* s ) ;
146 FUNCTION: void cblas_drotmg
147     ( double* d1, double* d2, double* b1, double b2, double* P ) ;
148 FUNCTION: void cblas_drot
149     ( int N, double* X, int incX, double* Y, int incY, double c, double s ) ;
150 FUNCTION: void cblas_drotm
151     ( int N, double* X, int incX, double* Y, int incY, double* P ) ;
152  
153 ! Level 2 BLAS (matrix-vector)
154
155 FUNCTION: void cblas_sgemv ( CBLAS_ORDER Order,
156                  CBLAS_TRANSPOSE TransA, int M, int N,
157                  float alpha, float* A, int lda,
158                  float* X, int incX, float beta,
159                  float* Y, int incY ) ;
160 FUNCTION: void cblas_sgbmv ( CBLAS_ORDER Order,
161                  CBLAS_TRANSPOSE TransA, int M, int N,
162                  int KL, int KU, float alpha,
163                  float* A, int lda, float* X,
164                  int incX, float beta, float* Y, int incY ) ;
165 FUNCTION: void cblas_strmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
166                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
167                  int N, float* A, int lda,
168                  float* X, int incX ) ;
169 FUNCTION: void cblas_stbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
170                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
171                  int N, int K, float* A, int lda,
172                  float* X, int incX ) ;
173 FUNCTION: void cblas_stpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
174                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
175                  int N, float* Ap, float* X, int incX ) ;
176 FUNCTION: void cblas_strsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
177                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
178                  int N, float* A, int lda, float* X,
179                  int incX ) ;
180 FUNCTION: void cblas_stbsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
181                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
182                  int N, int K, float* A, int lda,
183                  float* X, int incX ) ;
184 FUNCTION: void cblas_stpsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
185                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
186                  int N, float* Ap, float* X, int incX ) ;
187
188 FUNCTION: void cblas_dgemv ( CBLAS_ORDER Order,
189                  CBLAS_TRANSPOSE TransA, int M, int N,
190                  double alpha, double* A, int lda,
191                  double* X, int incX, double beta,
192                  double* Y, int incY ) ;
193 FUNCTION: void cblas_dgbmv ( CBLAS_ORDER Order,
194                  CBLAS_TRANSPOSE TransA, int M, int N,
195                  int KL, int KU, double alpha,
196                  double* A, int lda, double* X,
197                  int incX, double beta, double* Y, int incY ) ;
198 FUNCTION: void cblas_dtrmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
199                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
200                  int N, double* A, int lda,
201                  double* X, int incX ) ;
202 FUNCTION: void cblas_dtbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
203                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
204                  int N, int K, double* A, int lda,
205                  double* X, int incX ) ;
206 FUNCTION: void cblas_dtpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
207                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
208                  int N, double* Ap, double* X, int incX ) ;
209 FUNCTION: void cblas_dtrsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
210                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
211                  int N, double* A, int lda, double* X,
212                  int incX ) ;
213 FUNCTION: void cblas_dtbsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
214                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
215                  int N, int K, double* A, int lda,
216                  double* X, int incX ) ;
217 FUNCTION: void cblas_dtpsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
218                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
219                  int N, double* Ap, double* X, int incX ) ;
220
221 FUNCTION: void cblas_cgemv ( CBLAS_ORDER Order,
222                  CBLAS_TRANSPOSE TransA, int M, int N,
223                  void* alpha, void* A, int lda,
224                  void* X, int incX, void* beta,
225                  void* Y, int incY ) ;
226 FUNCTION: void cblas_cgbmv ( CBLAS_ORDER Order,
227                  CBLAS_TRANSPOSE TransA, int M, int N,
228                  int KL, int KU, void* alpha,
229                  void* A, int lda, void* X,
230                  int incX, void* beta, void* Y, int incY ) ;
231 FUNCTION: void cblas_ctrmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
232                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
233                  int N, void* A, int lda,
234                  void* X, int incX ) ;
235 FUNCTION: void cblas_ctbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
236                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
237                  int N, int K, void* A, int lda,
238                  void* X, int incX ) ;
239 FUNCTION: void cblas_ctpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
240                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
241                  int N, void* Ap, void* X, int incX ) ;
242 FUNCTION: void cblas_ctrsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
243                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
244                  int N, void* A, int lda, void* X,
245                  int incX ) ;
246 FUNCTION: void cblas_ctbsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
247                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
248                  int N, int K, void* A, int lda,
249                  void* X, int incX ) ;
250 FUNCTION: void cblas_ctpsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
251                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
252                  int N, void* Ap, void* X, int incX ) ;
253
254 FUNCTION: void cblas_zgemv ( CBLAS_ORDER Order,
255                  CBLAS_TRANSPOSE TransA, int M, int N,
256                  void* alpha, void* A, int lda,
257                  void* X, int incX, void* beta,
258                  void* Y, int incY ) ;
259 FUNCTION: void cblas_zgbmv ( CBLAS_ORDER Order,
260                  CBLAS_TRANSPOSE TransA, int M, int N,
261                  int KL, int KU, void* alpha,
262                  void* A, int lda, void* X,
263                  int incX, void* beta, void* Y, int incY ) ;
264 FUNCTION: void cblas_ztrmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
265                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
266                  int N, void* A, int lda,
267                  void* X, int incX ) ;
268 FUNCTION: void cblas_ztbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
269                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
270                  int N, int K, void* A, int lda,
271                  void* X, int incX ) ;
272 FUNCTION: void cblas_ztpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
273                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
274                  int N, void* Ap, void* X, int incX ) ;
275 FUNCTION: void cblas_ztrsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
276                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
277                  int N, void* A, int lda, void* X,
278                  int incX ) ;
279 FUNCTION: void cblas_ztbsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
280                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
281                  int N, int K, void* A, int lda,
282                  void* X, int incX ) ;
283 FUNCTION: void cblas_ztpsv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
284                  CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
285                  int N, void* Ap, void* X, int incX ) ;
286
287
288 FUNCTION: void cblas_ssymv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
289                  int N, float alpha, float* A,
290                  int lda, float* X, int incX,
291                  float beta, float* Y, int incY ) ;
292 FUNCTION: void cblas_ssbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
293                  int N, int K, float alpha, float* A,
294                  int lda, float* X, int incX,
295                  float beta, float* Y, int incY ) ;
296 FUNCTION: void cblas_sspmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
297                  int N, float alpha, float* Ap,
298                  float* X, int incX,
299                  float beta, float* Y, int incY ) ;
300 FUNCTION: void cblas_sger ( CBLAS_ORDER Order, int M, int N,
301                 float alpha, float* X, int incX,
302                 float* Y, int incY, float* A, int lda ) ;
303 FUNCTION: void cblas_ssyr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
304                 int N, float alpha, float* X,
305                 int incX, float* A, int lda ) ;
306 FUNCTION: void cblas_sspr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
307                 int N, float alpha, float* X,
308                 int incX, float* Ap ) ;
309 FUNCTION: void cblas_ssyr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
310                 int N, float alpha, float* X,
311                 int incX, float* Y, int incY, float* A,
312                 int lda ) ;
313 FUNCTION: void cblas_sspr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
314                 int N, float alpha, float* X,
315                 int incX, float* Y, int incY, float* A ) ;
316
317 FUNCTION: void cblas_dsymv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
318                  int N, double alpha, double* A,
319                  int lda, double* X, int incX,
320                  double beta, double* Y, int incY ) ;
321 FUNCTION: void cblas_dsbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
322                  int N, int K, double alpha, double* A,
323                  int lda, double* X, int incX,
324                  double beta, double* Y, int incY ) ;
325 FUNCTION: void cblas_dspmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
326                  int N, double alpha, double* Ap,
327                  double* X, int incX,
328                  double beta, double* Y, int incY ) ;
329 FUNCTION: void cblas_dger ( CBLAS_ORDER Order, int M, int N,
330                 double alpha, double* X, int incX,
331                 double* Y, int incY, double* A, int lda ) ;
332 FUNCTION: void cblas_dsyr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
333                 int N, double alpha, double* X,
334                 int incX, double* A, int lda ) ;
335 FUNCTION: void cblas_dspr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
336                 int N, double alpha, double* X,
337                 int incX, double* Ap ) ;
338 FUNCTION: void cblas_dsyr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
339                 int N, double alpha, double* X,
340                 int incX, double* Y, int incY, double* A,
341                 int lda ) ;
342 FUNCTION: void cblas_dspr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
343                 int N, double alpha, double* X,
344                 int incX, double* Y, int incY, double* A ) ;
345
346
347 FUNCTION: void cblas_chemv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
348                  int N, void* alpha, void* A,
349                  int lda, void* X, int incX,
350                  void* beta, void* Y, int incY ) ;
351 FUNCTION: void cblas_chbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
352                  int N, int K, void* alpha, void* A,
353                  int lda, void* X, int incX,
354                  void* beta, void* Y, int incY ) ;
355 FUNCTION: void cblas_chpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
356                  int N, void* alpha, void* Ap,
357                  void* X, int incX,
358                  void* beta, void* Y, int incY ) ;
359 FUNCTION: void cblas_cgeru ( CBLAS_ORDER Order, int M, int N,
360                  void* alpha, void* X, int incX,
361                  void* Y, int incY, void* A, int lda ) ;
362 FUNCTION: void cblas_cgerc ( CBLAS_ORDER Order, int M, int N,
363                  void* alpha, void* X, int incX,
364                  void* Y, int incY, void* A, int lda ) ;
365 FUNCTION: void cblas_cher ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
366                 int N, float alpha, void* X, int incX,
367                 void* A, int lda ) ;
368 FUNCTION: void cblas_chpr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
369                 int N, float alpha, void* X,
370                 int incX, void* A ) ;
371 FUNCTION: void cblas_cher2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo, int N,
372                 void* alpha, void* X, int incX,
373                 void* Y, int incY, void* A, int lda ) ;
374 FUNCTION: void cblas_chpr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo, int N,
375                 void* alpha, void* X, int incX,
376                 void* Y, int incY, void* Ap ) ;
377
378 FUNCTION: void cblas_zhemv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
379                  int N, void* alpha, void* A,
380                  int lda, void* X, int incX,
381                  void* beta, void* Y, int incY ) ;
382 FUNCTION: void cblas_zhbmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
383                  int N, int K, void* alpha, void* A,
384                  int lda, void* X, int incX,
385                  void* beta, void* Y, int incY ) ;
386 FUNCTION: void cblas_zhpmv ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
387                  int N, void* alpha, void* Ap,
388                  void* X, int incX,
389                  void* beta, void* Y, int incY ) ;
390 FUNCTION: void cblas_zgeru ( CBLAS_ORDER Order, int M, int N,
391                  void* alpha, void* X, int incX,
392                  void* Y, int incY, void* A, int lda ) ;
393 FUNCTION: void cblas_zgerc ( CBLAS_ORDER Order, int M, int N,
394                  void* alpha, void* X, int incX,
395                  void* Y, int incY, void* A, int lda ) ;
396 FUNCTION: void cblas_zher ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
397                 int N, double alpha, void* X, int incX,
398                 void* A, int lda ) ;
399 FUNCTION: void cblas_zhpr ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
400                 int N, double alpha, void* X,
401                 int incX, void* A ) ;
402 FUNCTION: void cblas_zher2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo, int N,
403                 void* alpha, void* X, int incX,
404                 void* Y, int incY, void* A, int lda ) ;
405 FUNCTION: void cblas_zhpr2 ( CBLAS_ORDER Order, CBLAS_UPLO Uplo, int N,
406                 void* alpha, void* X, int incX,
407                 void* Y, int incY, void* Ap ) ;
408
409 ! Level 3 BLAS (matrix-matrix) 
410
411 FUNCTION: void cblas_sgemm ( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA,
412                  CBLAS_TRANSPOSE TransB, int M, int N,
413                  int K, float alpha, float* A,
414                  int lda, float* B, int ldb,
415                  float beta, float* C, int ldc ) ;
416 FUNCTION: void cblas_ssymm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
417                  CBLAS_UPLO Uplo, int M, int N,
418                  float alpha, float* A, int lda,
419                  float* B, int ldb, float beta,
420                  float* C, int ldc ) ;
421 FUNCTION: void cblas_ssyrk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
422                  CBLAS_TRANSPOSE Trans, int N, int K,
423                  float alpha, float* A, int lda,
424                  float beta, float* C, int ldc ) ;
425 FUNCTION: void cblas_ssyr2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
426                   CBLAS_TRANSPOSE Trans, int N, int K,
427                   float alpha, float* A, int lda,
428                   float* B, int ldb, float beta,
429                   float* C, int ldc ) ;
430 FUNCTION: void cblas_strmm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
431                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
432                  CBLAS_DIAG Diag, int M, int N,
433                  float alpha, float* A, int lda,
434                  float* B, int ldb ) ;
435 FUNCTION: void cblas_strsm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
436                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
437                  CBLAS_DIAG Diag, int M, int N,
438                  float alpha, float* A, int lda,
439                  float* B, int ldb ) ;
440
441 FUNCTION: void cblas_dgemm ( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA,
442                  CBLAS_TRANSPOSE TransB, int M, int N,
443                  int K, double alpha, double* A,
444                  int lda, double* B, int ldb,
445                  double beta, double* C, int ldc ) ;
446 FUNCTION: void cblas_dsymm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
447                  CBLAS_UPLO Uplo, int M, int N,
448                  double alpha, double* A, int lda,
449                  double* B, int ldb, double beta,
450                  double* C, int ldc ) ;
451 FUNCTION: void cblas_dsyrk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
452                  CBLAS_TRANSPOSE Trans, int N, int K,
453                  double alpha, double* A, int lda,
454                  double beta, double* C, int ldc ) ;
455 FUNCTION: void cblas_dsyr2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
456                   CBLAS_TRANSPOSE Trans, int N, int K,
457                   double alpha, double* A, int lda,
458                   double* B, int ldb, double beta,
459                   double* C, int ldc ) ;
460 FUNCTION: void cblas_dtrmm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
461                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
462                  CBLAS_DIAG Diag, int M, int N,
463                  double alpha, double* A, int lda,
464                  double* B, int ldb ) ;
465 FUNCTION: void cblas_dtrsm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
466                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
467                  CBLAS_DIAG Diag, int M, int N,
468                  double alpha, double* A, int lda,
469                  double* B, int ldb ) ;
470
471 FUNCTION: void cblas_cgemm ( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA,
472                  CBLAS_TRANSPOSE TransB, int M, int N,
473                  int K, void* alpha, void* A,
474                  int lda, void* B, int ldb,
475                  void* beta, void* C, int ldc ) ;
476 FUNCTION: void cblas_csymm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
477                  CBLAS_UPLO Uplo, int M, int N,
478                  void* alpha, void* A, int lda,
479                  void* B, int ldb, void* beta,
480                  void* C, int ldc ) ;
481 FUNCTION: void cblas_csyrk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
482                  CBLAS_TRANSPOSE Trans, int N, int K,
483                  void* alpha, void* A, int lda,
484                  void* beta, void* C, int ldc ) ;
485 FUNCTION: void cblas_csyr2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
486                   CBLAS_TRANSPOSE Trans, int N, int K,
487                   void* alpha, void* A, int lda,
488                   void* B, int ldb, void* beta,
489                   void* C, int ldc ) ;
490 FUNCTION: void cblas_ctrmm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
491                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
492                  CBLAS_DIAG Diag, int M, int N,
493                  void* alpha, void* A, int lda,
494                  void* B, int ldb ) ;
495 FUNCTION: void cblas_ctrsm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
496                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
497                  CBLAS_DIAG Diag, int M, int N,
498                  void* alpha, void* A, int lda,
499                  void* B, int ldb ) ;
500
501 FUNCTION: void cblas_zgemm ( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA,
502                  CBLAS_TRANSPOSE TransB, int M, int N,
503                  int K, void* alpha, void* A,
504                  int lda, void* B, int ldb,
505                  void* beta, void* C, int ldc ) ;
506 FUNCTION: void cblas_zsymm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
507                  CBLAS_UPLO Uplo, int M, int N,
508                  void* alpha, void* A, int lda,
509                  void* B, int ldb, void* beta,
510                  void* C, int ldc ) ;
511 FUNCTION: void cblas_zsyrk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
512                  CBLAS_TRANSPOSE Trans, int N, int K,
513                  void* alpha, void* A, int lda,
514                  void* beta, void* C, int ldc ) ;
515 FUNCTION: void cblas_zsyr2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
516                   CBLAS_TRANSPOSE Trans, int N, int K,
517                   void* alpha, void* A, int lda,
518                   void* B, int ldb, void* beta,
519                   void* C, int ldc ) ;
520 FUNCTION: void cblas_ztrmm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
521                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
522                  CBLAS_DIAG Diag, int M, int N,
523                  void* alpha, void* A, int lda,
524                  void* B, int ldb ) ;
525 FUNCTION: void cblas_ztrsm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
526                  CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
527                  CBLAS_DIAG Diag, int M, int N,
528                  void* alpha, void* A, int lda,
529                  void* B, int ldb ) ;
530
531 FUNCTION: void cblas_chemm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
532                  CBLAS_UPLO Uplo, int M, int N,
533                  void* alpha, void* A, int lda,
534                  void* B, int ldb, void* beta,
535                  void* C, int ldc ) ;
536 FUNCTION: void cblas_cherk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
537                  CBLAS_TRANSPOSE Trans, int N, int K,
538                  float alpha, void* A, int lda,
539                  float beta, void* C, int ldc ) ;
540 FUNCTION: void cblas_cher2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
541                   CBLAS_TRANSPOSE Trans, int N, int K,
542                   void* alpha, void* A, int lda,
543                   void* B, int ldb, float beta,
544                   void* C, int ldc ) ;
545 FUNCTION: void cblas_zhemm ( CBLAS_ORDER Order, CBLAS_SIDE Side,
546                  CBLAS_UPLO Uplo, int M, int N,
547                  void* alpha, void* A, int lda,
548                  void* B, int ldb, void* beta,
549                  void* C, int ldc ) ;
550 FUNCTION: void cblas_zherk ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
551                  CBLAS_TRANSPOSE Trans, int N, int K,
552                  double alpha, void* A, int lda,
553                  double beta, void* C, int ldc ) ;
554 FUNCTION: void cblas_zher2k ( CBLAS_ORDER Order, CBLAS_UPLO Uplo,
555                   CBLAS_TRANSPOSE Trans, int N, int K,
556                   void* alpha, void* A, int lda,
557                   void* B, int ldb, double beta,
558                   void* C, int ldc ) ;
559