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