00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __GSL_CBLAS_H__
00026 #define __GSL_CBLAS_H__
00027 #include <stddef.h>
00028
00029 #undef __BEGIN_DECLS
00030 #undef __END_DECLS
00031 #ifdef __cplusplus
00032 #define __BEGIN_DECLS extern "C" {
00033 #define __END_DECLS }
00034 #else
00035 #define __BEGIN_DECLS
00036 #define __END_DECLS
00037 #endif
00038
00039 __BEGIN_DECLS
00040
00041
00042
00043
00044 #define CBLAS_INDEX size_t
00045
00046 enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
00047 enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
00048 enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
00049 enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
00050 enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
00051
00052
00053
00054
00055
00056
00057 float cblas_sdsdot(const int N, const float alpha, const float *X,
00058 const int incX, const float *Y, const int incY);
00059 double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
00060 const int incY);
00061 float cblas_sdot(const int N, const float *X, const int incX,
00062 const float *Y, const int incY);
00063 double cblas_ddot(const int N, const double *X, const int incX,
00064 const double *Y, const int incY);
00065
00066
00067
00068
00069 void cblas_cdotu_sub(const int N, const void *X, const int incX,
00070 const void *Y, const int incY, void *dotu);
00071 void cblas_cdotc_sub(const int N, const void *X, const int incX,
00072 const void *Y, const int incY, void *dotc);
00073
00074 void cblas_zdotu_sub(const int N, const void *X, const int incX,
00075 const void *Y, const int incY, void *dotu);
00076 void cblas_zdotc_sub(const int N, const void *X, const int incX,
00077 const void *Y, const int incY, void *dotc);
00078
00079
00080
00081
00082
00083 float cblas_snrm2(const int N, const float *X, const int incX);
00084 float cblas_sasum(const int N, const float *X, const int incX);
00085
00086 double cblas_dnrm2(const int N, const double *X, const int incX);
00087 double cblas_dasum(const int N, const double *X, const int incX);
00088
00089 float cblas_scnrm2(const int N, const void *X, const int incX);
00090 float cblas_scasum(const int N, const void *X, const int incX);
00091
00092 double cblas_dznrm2(const int N, const void *X, const int incX);
00093 double cblas_dzasum(const int N, const void *X, const int incX);
00094
00095
00096
00097
00098
00099 CBLAS_INDEX cblas_isamax(const int N, const float *X, const int incX);
00100 CBLAS_INDEX cblas_idamax(const int N, const double *X, const int incX);
00101 CBLAS_INDEX cblas_icamax(const int N, const void *X, const int incX);
00102 CBLAS_INDEX cblas_izamax(const int N, const void *X, const int incX);
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113 void cblas_sswap(const int N, float *X, const int incX,
00114 float *Y, const int incY);
00115 void cblas_scopy(const int N, const float *X, const int incX,
00116 float *Y, const int incY);
00117 void cblas_saxpy(const int N, const float alpha, const float *X,
00118 const int incX, float *Y, const int incY);
00119
00120 void cblas_dswap(const int N, double *X, const int incX,
00121 double *Y, const int incY);
00122 void cblas_dcopy(const int N, const double *X, const int incX,
00123 double *Y, const int incY);
00124 void cblas_daxpy(const int N, const double alpha, const double *X,
00125 const int incX, double *Y, const int incY);
00126
00127 void cblas_cswap(const int N, void *X, const int incX,
00128 void *Y, const int incY);
00129 void cblas_ccopy(const int N, const void *X, const int incX,
00130 void *Y, const int incY);
00131 void cblas_caxpy(const int N, const void *alpha, const void *X,
00132 const int incX, void *Y, const int incY);
00133
00134 void cblas_zswap(const int N, void *X, const int incX,
00135 void *Y, const int incY);
00136 void cblas_zcopy(const int N, const void *X, const int incX,
00137 void *Y, const int incY);
00138 void cblas_zaxpy(const int N, const void *alpha, const void *X,
00139 const int incX, void *Y, const int incY);
00140
00141
00142
00143
00144
00145 void cblas_srotg(float *a, float *b, float *c, float *s);
00146 void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
00147 void cblas_srot(const int N, float *X, const int incX,
00148 float *Y, const int incY, const float c, const float s);
00149 void cblas_srotm(const int N, float *X, const int incX,
00150 float *Y, const int incY, const float *P);
00151
00152 void cblas_drotg(double *a, double *b, double *c, double *s);
00153 void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
00154 void cblas_drot(const int N, double *X, const int incX,
00155 double *Y, const int incY, const double c, const double s);
00156 void cblas_drotm(const int N, double *X, const int incX,
00157 double *Y, const int incY, const double *P);
00158
00159
00160
00161
00162
00163 void cblas_sscal(const int N, const float alpha, float *X, const int incX);
00164 void cblas_dscal(const int N, const double alpha, double *X, const int incX);
00165 void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
00166 void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
00167 void cblas_csscal(const int N, const float alpha, void *X, const int incX);
00168 void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179 void cblas_sgemv(const enum CBLAS_ORDER order,
00180 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00181 const float alpha, const float *A, const int lda,
00182 const float *X, const int incX, const float beta,
00183 float *Y, const int incY);
00184 void cblas_sgbmv(const enum CBLAS_ORDER order,
00185 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00186 const int KL, const int KU, const float alpha,
00187 const float *A, const int lda, const float *X,
00188 const int incX, const float beta, float *Y, const int incY);
00189 void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00190 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00191 const int N, const float *A, const int lda,
00192 float *X, const int incX);
00193 void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00194 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00195 const int N, const int K, const float *A, const int lda,
00196 float *X, const int incX);
00197 void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00198 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00199 const int N, const float *Ap, float *X, const int incX);
00200 void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00201 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00202 const int N, const float *A, const int lda, float *X,
00203 const int incX);
00204 void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00205 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00206 const int N, const int K, const float *A, const int lda,
00207 float *X, const int incX);
00208 void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00209 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00210 const int N, const float *Ap, float *X, const int incX);
00211
00212 void cblas_dgemv(const enum CBLAS_ORDER order,
00213 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00214 const double alpha, const double *A, const int lda,
00215 const double *X, const int incX, const double beta,
00216 double *Y, const int incY);
00217 void cblas_dgbmv(const enum CBLAS_ORDER order,
00218 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00219 const int KL, const int KU, const double alpha,
00220 const double *A, const int lda, const double *X,
00221 const int incX, const double beta, double *Y, const int incY);
00222 void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00223 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00224 const int N, const double *A, const int lda,
00225 double *X, const int incX);
00226 void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00227 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00228 const int N, const int K, const double *A, const int lda,
00229 double *X, const int incX);
00230 void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00231 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00232 const int N, const double *Ap, double *X, const int incX);
00233 void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00234 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00235 const int N, const double *A, const int lda, double *X,
00236 const int incX);
00237 void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00238 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00239 const int N, const int K, const double *A, const int lda,
00240 double *X, const int incX);
00241 void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00242 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00243 const int N, const double *Ap, double *X, const int incX);
00244
00245 void cblas_cgemv(const enum CBLAS_ORDER order,
00246 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00247 const void *alpha, const void *A, const int lda,
00248 const void *X, const int incX, const void *beta,
00249 void *Y, const int incY);
00250 void cblas_cgbmv(const enum CBLAS_ORDER order,
00251 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00252 const int KL, const int KU, const void *alpha,
00253 const void *A, const int lda, const void *X,
00254 const int incX, const void *beta, void *Y, const int incY);
00255 void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00256 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00257 const int N, const void *A, const int lda,
00258 void *X, const int incX);
00259 void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00260 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00261 const int N, const int K, const void *A, const int lda,
00262 void *X, const int incX);
00263 void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00264 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00265 const int N, const void *Ap, void *X, const int incX);
00266 void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00267 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00268 const int N, const void *A, const int lda, void *X,
00269 const int incX);
00270 void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00271 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00272 const int N, const int K, const void *A, const int lda,
00273 void *X, const int incX);
00274 void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00275 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00276 const int N, const void *Ap, void *X, const int incX);
00277
00278 void cblas_zgemv(const enum CBLAS_ORDER order,
00279 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00280 const void *alpha, const void *A, const int lda,
00281 const void *X, const int incX, const void *beta,
00282 void *Y, const int incY);
00283 void cblas_zgbmv(const enum CBLAS_ORDER order,
00284 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00285 const int KL, const int KU, const void *alpha,
00286 const void *A, const int lda, const void *X,
00287 const int incX, const void *beta, void *Y, const int incY);
00288 void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00289 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00290 const int N, const void *A, const int lda,
00291 void *X, const int incX);
00292 void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00293 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00294 const int N, const int K, const void *A, const int lda,
00295 void *X, const int incX);
00296 void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00297 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00298 const int N, const void *Ap, void *X, const int incX);
00299 void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00300 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00301 const int N, const void *A, const int lda, void *X,
00302 const int incX);
00303 void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00304 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00305 const int N, const int K, const void *A, const int lda,
00306 void *X, const int incX);
00307 void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00308 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00309 const int N, const void *Ap, void *X, const int incX);
00310
00311
00312
00313
00314
00315 void cblas_ssymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00316 const int N, const float alpha, const float *A,
00317 const int lda, const float *X, const int incX,
00318 const float beta, float *Y, const int incY);
00319 void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00320 const int N, const int K, const float alpha, const float *A,
00321 const int lda, const float *X, const int incX,
00322 const float beta, float *Y, const int incY);
00323 void cblas_sspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00324 const int N, const float alpha, const float *Ap,
00325 const float *X, const int incX,
00326 const float beta, float *Y, const int incY);
00327 void cblas_sger(const enum CBLAS_ORDER order, const int M, const int N,
00328 const float alpha, const float *X, const int incX,
00329 const float *Y, const int incY, float *A, const int lda);
00330 void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00331 const int N, const float alpha, const float *X,
00332 const int incX, float *A, const int lda);
00333 void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00334 const int N, const float alpha, const float *X,
00335 const int incX, float *Ap);
00336 void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00337 const int N, const float alpha, const float *X,
00338 const int incX, const float *Y, const int incY, float *A,
00339 const int lda);
00340 void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00341 const int N, const float alpha, const float *X,
00342 const int incX, const float *Y, const int incY, float *A);
00343
00344 void cblas_dsymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00345 const int N, const double alpha, const double *A,
00346 const int lda, const double *X, const int incX,
00347 const double beta, double *Y, const int incY);
00348 void cblas_dsbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00349 const int N, const int K, const double alpha, const double *A,
00350 const int lda, const double *X, const int incX,
00351 const double beta, double *Y, const int incY);
00352 void cblas_dspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00353 const int N, const double alpha, const double *Ap,
00354 const double *X, const int incX,
00355 const double beta, double *Y, const int incY);
00356 void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N,
00357 const double alpha, const double *X, const int incX,
00358 const double *Y, const int incY, double *A, const int lda);
00359 void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00360 const int N, const double alpha, const double *X,
00361 const int incX, double *A, const int lda);
00362 void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00363 const int N, const double alpha, const double *X,
00364 const int incX, double *Ap);
00365 void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00366 const int N, const double alpha, const double *X,
00367 const int incX, const double *Y, const int incY, double *A,
00368 const int lda);
00369 void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00370 const int N, const double alpha, const double *X,
00371 const int incX, const double *Y, const int incY, double *A);
00372
00373
00374
00375
00376
00377 void cblas_chemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00378 const int N, const void *alpha, const void *A,
00379 const int lda, const void *X, const int incX,
00380 const void *beta, void *Y, const int incY);
00381 void cblas_chbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00382 const int N, const int K, const void *alpha, const void *A,
00383 const int lda, const void *X, const int incX,
00384 const void *beta, void *Y, const int incY);
00385 void cblas_chpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00386 const int N, const void *alpha, const void *Ap,
00387 const void *X, const int incX,
00388 const void *beta, void *Y, const int incY);
00389 void cblas_cgeru(const enum CBLAS_ORDER order, const int M, const int N,
00390 const void *alpha, const void *X, const int incX,
00391 const void *Y, const int incY, void *A, const int lda);
00392 void cblas_cgerc(const enum CBLAS_ORDER order, const int M, const int N,
00393 const void *alpha, const void *X, const int incX,
00394 const void *Y, const int incY, void *A, const int lda);
00395 void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00396 const int N, const float alpha, const void *X, const int incX,
00397 void *A, const int lda);
00398 void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00399 const int N, const float alpha, const void *X,
00400 const int incX, void *A);
00401 void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00402 const void *alpha, const void *X, const int incX,
00403 const void *Y, const int incY, void *A, const int lda);
00404 void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00405 const void *alpha, const void *X, const int incX,
00406 const void *Y, const int incY, void *Ap);
00407
00408 void cblas_zhemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00409 const int N, const void *alpha, const void *A,
00410 const int lda, const void *X, const int incX,
00411 const void *beta, void *Y, const int incY);
00412 void cblas_zhbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00413 const int N, const int K, const void *alpha, const void *A,
00414 const int lda, const void *X, const int incX,
00415 const void *beta, void *Y, const int incY);
00416 void cblas_zhpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00417 const int N, const void *alpha, const void *Ap,
00418 const void *X, const int incX,
00419 const void *beta, void *Y, const int incY);
00420 void cblas_zgeru(const enum CBLAS_ORDER order, const int M, const int N,
00421 const void *alpha, const void *X, const int incX,
00422 const void *Y, const int incY, void *A, const int lda);
00423 void cblas_zgerc(const enum CBLAS_ORDER order, const int M, const int N,
00424 const void *alpha, const void *X, const int incX,
00425 const void *Y, const int incY, void *A, const int lda);
00426 void cblas_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00427 const int N, const double alpha, const void *X, const int incX,
00428 void *A, const int lda);
00429 void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00430 const int N, const double alpha, const void *X,
00431 const int incX, void *A);
00432 void cblas_zher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00433 const void *alpha, const void *X, const int incX,
00434 const void *Y, const int incY, void *A, const int lda);
00435 void cblas_zhpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00436 const void *alpha, const void *X, const int incX,
00437 const void *Y, const int incY, void *Ap);
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00449 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00450 const int K, const float alpha, const float *A,
00451 const int lda, const float *B, const int ldb,
00452 const float beta, float *C, const int ldc);
00453 void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00454 const enum CBLAS_UPLO Uplo, const int M, const int N,
00455 const float alpha, const float *A, const int lda,
00456 const float *B, const int ldb, const float beta,
00457 float *C, const int ldc);
00458 void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00459 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00460 const float alpha, const float *A, const int lda,
00461 const float beta, float *C, const int ldc);
00462 void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00463 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00464 const float alpha, const float *A, const int lda,
00465 const float *B, const int ldb, const float beta,
00466 float *C, const int ldc);
00467 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00468 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00469 const enum CBLAS_DIAG Diag, const int M, const int N,
00470 const float alpha, const float *A, const int lda,
00471 float *B, const int ldb);
00472 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00473 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00474 const enum CBLAS_DIAG Diag, const int M, const int N,
00475 const float alpha, const float *A, const int lda,
00476 float *B, const int ldb);
00477
00478 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00479 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00480 const int K, const double alpha, const double *A,
00481 const int lda, const double *B, const int ldb,
00482 const double beta, double *C, const int ldc);
00483 void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00484 const enum CBLAS_UPLO Uplo, const int M, const int N,
00485 const double alpha, const double *A, const int lda,
00486 const double *B, const int ldb, const double beta,
00487 double *C, const int ldc);
00488 void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00489 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00490 const double alpha, const double *A, const int lda,
00491 const double beta, double *C, const int ldc);
00492 void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00493 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00494 const double alpha, const double *A, const int lda,
00495 const double *B, const int ldb, const double beta,
00496 double *C, const int ldc);
00497 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00498 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00499 const enum CBLAS_DIAG Diag, const int M, const int N,
00500 const double alpha, const double *A, const int lda,
00501 double *B, const int ldb);
00502 void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00503 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00504 const enum CBLAS_DIAG Diag, const int M, const int N,
00505 const double alpha, const double *A, const int lda,
00506 double *B, const int ldb);
00507
00508 void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00509 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00510 const int K, const void *alpha, const void *A,
00511 const int lda, const void *B, const int ldb,
00512 const void *beta, void *C, const int ldc);
00513 void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00514 const enum CBLAS_UPLO Uplo, const int M, const int N,
00515 const void *alpha, const void *A, const int lda,
00516 const void *B, const int ldb, const void *beta,
00517 void *C, const int ldc);
00518 void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00519 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00520 const void *alpha, const void *A, const int lda,
00521 const void *beta, void *C, const int ldc);
00522 void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00523 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00524 const void *alpha, const void *A, const int lda,
00525 const void *B, const int ldb, const void *beta,
00526 void *C, const int ldc);
00527 void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00528 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00529 const enum CBLAS_DIAG Diag, const int M, const int N,
00530 const void *alpha, const void *A, const int lda,
00531 void *B, const int ldb);
00532 void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00533 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00534 const enum CBLAS_DIAG Diag, const int M, const int N,
00535 const void *alpha, const void *A, const int lda,
00536 void *B, const int ldb);
00537
00538 void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00539 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00540 const int K, const void *alpha, const void *A,
00541 const int lda, const void *B, const int ldb,
00542 const void *beta, void *C, const int ldc);
00543 void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00544 const enum CBLAS_UPLO Uplo, const int M, const int N,
00545 const void *alpha, const void *A, const int lda,
00546 const void *B, const int ldb, const void *beta,
00547 void *C, const int ldc);
00548 void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00549 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00550 const void *alpha, const void *A, const int lda,
00551 const void *beta, void *C, const int ldc);
00552 void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00553 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00554 const void *alpha, const void *A, const int lda,
00555 const void *B, const int ldb, const void *beta,
00556 void *C, const int ldc);
00557 void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00558 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00559 const enum CBLAS_DIAG Diag, const int M, const int N,
00560 const void *alpha, const void *A, const int lda,
00561 void *B, const int ldb);
00562 void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00563 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00564 const enum CBLAS_DIAG Diag, const int M, const int N,
00565 const void *alpha, const void *A, const int lda,
00566 void *B, const int ldb);
00567
00568
00569
00570
00571
00572 void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00573 const enum CBLAS_UPLO Uplo, const int M, const int N,
00574 const void *alpha, const void *A, const int lda,
00575 const void *B, const int ldb, const void *beta,
00576 void *C, const int ldc);
00577 void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00578 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00579 const float alpha, const void *A, const int lda,
00580 const float beta, void *C, const int ldc);
00581 void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00582 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00583 const void *alpha, const void *A, const int lda,
00584 const void *B, const int ldb, const float beta,
00585 void *C, const int ldc);
00586
00587 void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00588 const enum CBLAS_UPLO Uplo, const int M, const int N,
00589 const void *alpha, const void *A, const int lda,
00590 const void *B, const int ldb, const void *beta,
00591 void *C, const int ldc);
00592 void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00593 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00594 const double alpha, const void *A, const int lda,
00595 const double beta, void *C, const int ldc);
00596 void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00597 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00598 const void *alpha, const void *A, const int lda,
00599 const void *B, const int ldb, const double beta,
00600 void *C, const int ldc);
00601
00602 void cblas_xerbla(int p, const char *rout, const char *form, ...);
00603
00604 __END_DECLS
00605
00606 #endif