|
PLASMA 2.3.1
|
00001 #ifndef CBLAS_H 00002 #define CBLAS_H 00003 #include <stddef.h> 00004 00005 /* 00006 * Enumerated and derived types 00007 */ 00008 #define CBLAS_INDEX size_t /* this may vary between platforms */ 00009 00010 enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102}; 00011 enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113}; 00012 enum CBLAS_UPLO {CblasUpper=121, CblasLower=122}; 00013 enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132}; 00014 enum CBLAS_SIDE {CblasLeft=141, CblasRight=142}; 00015 00016 /* 00017 * =========================================================================== 00018 * Prototypes for level 1 BLAS functions (complex are recast as routines) 00019 * =========================================================================== 00020 */ 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 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 int N, const double *X, const int incX, 00033 const double *Y, const int incY); 00034 00035 /* 00036 * Functions having prefixes Z and C only 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 * Functions having prefixes S D SC DZ 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 int N, const double *X, const int 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 * Functions having standard 4 prefixes (S D C Z) 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 * Prototypes for level 1 BLAS routines 00076 * =========================================================================== 00077 */ 00078 00079 /* 00080 * Routines with standard 4 prefixes (s, d, c, z) 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 int N, const double alpha, const double *X, 00094 const int incX, double *Y, const int 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 * Routines with S and D prefix only 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 * Routines with S D C Z CS and ZD prefixes 00131 */ 00132 void cblas_sscal(const int N, const float alpha, float *X, const int incX); 00133 void cblas_dscal(const int N, const double alpha, double *X, const int incX); 00134 void cblas_cscal(const int N, const void *alpha, void *X, const int incX); 00135 void cblas_zscal(const int N, const void *alpha, void *X, const int incX); 00136 void cblas_csscal(const int N, const float alpha, void *X, const int incX); 00137 void cblas_zdscal(const int N, const double alpha, void *X, const int incX); 00138 00139 /* 00140 * =========================================================================== 00141 * Prototypes for level 2 BLAS 00142 * =========================================================================== 00143 */ 00144 00145 /* 00146 * Routines with standard 4 prefixes (S, D, C, Z) 00147 */ 00148 void cblas_sgemv(const enum CBLAS_ORDER order, 00149 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00150 const float alpha, const float *A, const int lda, 00151 const float *X, const int incX, const float beta, 00152 float *Y, const int incY); 00153 void cblas_sgbmv(const enum CBLAS_ORDER order, 00154 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00155 const int KL, const int KU, const float alpha, 00156 const float *A, const int lda, const float *X, 00157 const int incX, const float beta, float *Y, const int incY); 00158 void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00159 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00160 const int N, const float *A, const int lda, 00161 float *X, const int incX); 00162 void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00163 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00164 const int N, const int K, const float *A, const int lda, 00165 float *X, const int incX); 00166 void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00167 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00168 const int N, const float *Ap, float *X, const int incX); 00169 void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00170 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00171 const int N, const float *A, const int lda, float *X, 00172 const int incX); 00173 void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00174 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00175 const int N, const int K, const float *A, const int lda, 00176 float *X, const int incX); 00177 void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00178 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00179 const int N, const float *Ap, float *X, const int incX); 00180 00181 void cblas_dgemv(const enum CBLAS_ORDER order, 00182 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00183 const double alpha, const double *A, const int lda, 00184 const double *X, const int incX, const double beta, 00185 double *Y, const int incY); 00186 void cblas_dgbmv(const enum CBLAS_ORDER order, 00187 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00188 const int KL, const int KU, const double alpha, 00189 const double *A, const int lda, const double *X, 00190 const int incX, const double beta, double *Y, const int incY); 00191 void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00192 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00193 const int N, const double *A, const int lda, 00194 double *X, const int incX); 00195 void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00196 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00197 const int N, const int K, const double *A, const int lda, 00198 double *X, const int incX); 00199 void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00200 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00201 const int N, const double *Ap, double *X, const int incX); 00202 void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00203 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00204 const int N, const double *A, const int lda, double *X, 00205 const int incX); 00206 void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00207 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00208 const int N, const int K, const double *A, const int lda, 00209 double *X, const int incX); 00210 void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00211 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00212 const int N, const double *Ap, double *X, const int incX); 00213 00214 void cblas_cgemv(const enum CBLAS_ORDER order, 00215 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00216 const void *alpha, const void *A, const int lda, 00217 const void *X, const int incX, const void *beta, 00218 void *Y, const int incY); 00219 void cblas_cgbmv(const enum CBLAS_ORDER order, 00220 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00221 const int KL, const int KU, const void *alpha, 00222 const void *A, const int lda, const void *X, 00223 const int incX, const void *beta, void *Y, const int incY); 00224 void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00225 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00226 const int N, const void *A, const int lda, 00227 void *X, const int incX); 00228 void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00229 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00230 const int N, const int K, const void *A, const int lda, 00231 void *X, const int incX); 00232 void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00233 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00234 const int N, const void *Ap, void *X, const int incX); 00235 void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00236 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00237 const int N, const void *A, const int lda, void *X, 00238 const int incX); 00239 void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00240 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00241 const int N, const int K, const void *A, const int lda, 00242 void *X, const int incX); 00243 void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00244 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00245 const int N, const void *Ap, void *X, const int incX); 00246 00247 void cblas_zgemv(const enum CBLAS_ORDER order, 00248 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00249 const void *alpha, const void *A, const int lda, 00250 const void *X, const int incX, const void *beta, 00251 void *Y, const int incY); 00252 void cblas_zgbmv(const enum CBLAS_ORDER order, 00253 const enum CBLAS_TRANSPOSE TransA, const int M, const int N, 00254 const int KL, const int KU, const void *alpha, 00255 const void *A, const int lda, const void *X, 00256 const int incX, const void *beta, void *Y, const int incY); 00257 void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00258 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00259 const int N, const void *A, const int lda, 00260 void *X, const int incX); 00261 void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00262 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00263 const int N, const int K, const void *A, const int lda, 00264 void *X, const int incX); 00265 void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00266 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00267 const int N, const void *Ap, void *X, const int incX); 00268 void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00269 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00270 const int N, const void *A, const int lda, void *X, 00271 const int incX); 00272 void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00273 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00274 const int N, const int K, const void *A, const int lda, 00275 void *X, const int incX); 00276 void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00277 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag, 00278 const int N, const void *Ap, void *X, const int incX); 00279 00280 00281 /* 00282 * Routines with S and D prefixes only 00283 */ 00284 void cblas_ssymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00285 const int N, const float alpha, const float *A, 00286 const int lda, const float *X, const int incX, 00287 const float beta, float *Y, const int incY); 00288 void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00289 const int N, const int K, const float alpha, const float *A, 00290 const int lda, const float *X, const int incX, 00291 const float beta, float *Y, const int incY); 00292 void cblas_sspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00293 const int N, const float alpha, const float *Ap, 00294 const float *X, const int incX, 00295 const float beta, float *Y, const int incY); 00296 void cblas_sger(const enum CBLAS_ORDER order, const int M, const int N, 00297 const float alpha, const float *X, const int incX, 00298 const float *Y, const int incY, float *A, const int lda); 00299 void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00300 const int N, const float alpha, const float *X, 00301 const int incX, float *A, const int lda); 00302 void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00303 const int N, const float alpha, const float *X, 00304 const int incX, float *Ap); 00305 void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00306 const int N, const float alpha, const float *X, 00307 const int incX, const float *Y, const int incY, float *A, 00308 const int lda); 00309 void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00310 const int N, const float alpha, const float *X, 00311 const int incX, const float *Y, const int incY, float *A); 00312 00313 void cblas_dsymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00314 const int N, const double alpha, const double *A, 00315 const int lda, const double *X, const int incX, 00316 const double beta, double *Y, const int incY); 00317 void cblas_dsbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00318 const int N, const int K, const double alpha, const double *A, 00319 const int lda, const double *X, const int incX, 00320 const double beta, double *Y, const int incY); 00321 void cblas_dspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00322 const int N, const double alpha, const double *Ap, 00323 const double *X, const int incX, 00324 const double beta, double *Y, const int incY); 00325 void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N, 00326 const double alpha, const double *X, const int incX, 00327 const double *Y, const int incY, double *A, const int lda); 00328 void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00329 const int N, const double alpha, const double *X, 00330 const int incX, double *A, const int lda); 00331 void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00332 const int N, const double alpha, const double *X, 00333 const int incX, double *Ap); 00334 void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00335 const int N, const double alpha, const double *X, 00336 const int incX, const double *Y, const int incY, double *A, 00337 const int lda); 00338 void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00339 const int N, const double alpha, const double *X, 00340 const int incX, const double *Y, const int incY, double *A); 00341 00342 00343 /* 00344 * Routines with C and Z prefixes only 00345 */ 00346 void cblas_chemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00347 const int N, const void *alpha, const void *A, 00348 const int lda, const void *X, const int incX, 00349 const void *beta, void *Y, const int incY); 00350 void cblas_chbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00351 const int N, const int K, const void *alpha, const void *A, 00352 const int lda, const void *X, const int incX, 00353 const void *beta, void *Y, const int incY); 00354 void cblas_chpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00355 const int N, const void *alpha, const void *Ap, 00356 const void *X, const int incX, 00357 const void *beta, void *Y, const int incY); 00358 void cblas_cgeru(const enum CBLAS_ORDER order, const int M, const int N, 00359 const void *alpha, const void *X, const int incX, 00360 const void *Y, const int incY, void *A, const int lda); 00361 void cblas_cgerc(const enum CBLAS_ORDER order, const int M, const int N, 00362 const void *alpha, const void *X, const int incX, 00363 const void *Y, const int incY, void *A, const int lda); 00364 void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00365 const int N, const float alpha, const void *X, const int incX, 00366 void *A, const int lda); 00367 void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00368 const int N, const float alpha, const void *X, 00369 const int incX, void *A); 00370 void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N, 00371 const void *alpha, const void *X, const int incX, 00372 const void *Y, const int incY, void *A, const int lda); 00373 void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N, 00374 const void *alpha, const void *X, const int incX, 00375 const void *Y, const int incY, void *Ap); 00376 00377 void cblas_zhemv(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_zhbmv(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_zhpmv(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_zgeru(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_zgerc(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_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00396 const int N, const double alpha, const void *X, const int incX, 00397 void *A, const int lda); 00398 void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, 00399 const int N, const double alpha, const void *X, 00400 const int incX, void *A); 00401 void cblas_zher2(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_zhpr2(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 /* 00409 * =========================================================================== 00410 * Prototypes for level 3 BLAS 00411 * =========================================================================== 00412 */ 00413 00414 /* 00415 * Routines with standard 4 prefixes (S, D, C, Z) 00416 */ 00417 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 00418 const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 00419 const int K, const float alpha, const float *A, 00420 const int lda, const float *B, const int ldb, 00421 const float beta, float *C, const int ldc); 00422 void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00423 const enum CBLAS_UPLO Uplo, const int M, const int N, 00424 const float alpha, const float *A, const int lda, 00425 const float *B, const int ldb, const float beta, 00426 float *C, const int ldc); 00427 void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00428 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00429 const float alpha, const float *A, const int lda, 00430 const float beta, float *C, const int ldc); 00431 void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00432 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00433 const float alpha, const float *A, const int lda, 00434 const float *B, const int ldb, const float beta, 00435 float *C, const int ldc); 00436 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00437 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00438 const enum CBLAS_DIAG Diag, const int M, const int N, 00439 const float alpha, const float *A, const int lda, 00440 float *B, const int ldb); 00441 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00442 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00443 const enum CBLAS_DIAG Diag, const int M, const int N, 00444 const float alpha, const float *A, const int lda, 00445 float *B, const int ldb); 00446 00447 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 00448 const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 00449 const int K, const double alpha, const double *A, 00450 const int lda, const double *B, const int ldb, 00451 const double beta, double *C, const int ldc); 00452 void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00453 const enum CBLAS_UPLO Uplo, const int M, const int N, 00454 const double alpha, const double *A, const int lda, 00455 const double *B, const int ldb, const double beta, 00456 double *C, const int ldc); 00457 void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00458 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00459 const double alpha, const double *A, const int lda, 00460 const double beta, double *C, const int ldc); 00461 void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00462 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00463 const double alpha, const double *A, const int lda, 00464 const double *B, const int ldb, const double beta, 00465 double *C, const int ldc); 00466 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00467 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00468 const enum CBLAS_DIAG Diag, const int M, const int N, 00469 const double alpha, const double *A, const int lda, 00470 double *B, const int ldb); 00471 void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00472 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00473 const enum CBLAS_DIAG Diag, const int M, const int N, 00474 const double alpha, const double *A, const int lda, 00475 double *B, const int ldb); 00476 00477 void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 00478 const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 00479 const int K, const void *alpha, const void *A, 00480 const int lda, const void *B, const int ldb, 00481 const void *beta, void *C, const int ldc); 00482 void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00483 const enum CBLAS_UPLO Uplo, const int M, const int N, 00484 const void *alpha, const void *A, const int lda, 00485 const void *B, const int ldb, const void *beta, 00486 void *C, const int ldc); 00487 void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00488 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00489 const void *alpha, const void *A, const int lda, 00490 const void *beta, void *C, const int ldc); 00491 void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00492 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00493 const void *alpha, const void *A, const int lda, 00494 const void *B, const int ldb, const void *beta, 00495 void *C, const int ldc); 00496 void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00497 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00498 const enum CBLAS_DIAG Diag, const int M, const int N, 00499 const void *alpha, const void *A, const int lda, 00500 void *B, const int ldb); 00501 void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00502 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00503 const enum CBLAS_DIAG Diag, const int M, const int N, 00504 const void *alpha, const void *A, const int lda, 00505 void *B, const int ldb); 00506 00507 void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, 00508 const enum CBLAS_TRANSPOSE TransB, const int M, const int N, 00509 const int K, const void *alpha, const void *A, 00510 const int lda, const void *B, const int ldb, 00511 const void *beta, void *C, const int ldc); 00512 void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00513 const enum CBLAS_UPLO Uplo, const int M, const int N, 00514 const void *alpha, const void *A, const int lda, 00515 const void *B, const int ldb, const void *beta, 00516 void *C, const int ldc); 00517 void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00518 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00519 const void *alpha, const void *A, const int lda, 00520 const void *beta, void *C, const int ldc); 00521 void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00522 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00523 const void *alpha, const void *A, const int lda, 00524 const void *B, const int ldb, const void *beta, 00525 void *C, const int ldc); 00526 void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00527 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00528 const enum CBLAS_DIAG Diag, const int M, const int N, 00529 const void *alpha, const void *A, const int lda, 00530 void *B, const int ldb); 00531 void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00532 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA, 00533 const enum CBLAS_DIAG Diag, const int M, const int N, 00534 const void *alpha, const void *A, const int lda, 00535 void *B, const int ldb); 00536 00537 00538 /* 00539 * Routines with prefixes C and Z only 00540 */ 00541 void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00542 const enum CBLAS_UPLO Uplo, const int M, const int N, 00543 const void *alpha, const void *A, const int lda, 00544 const void *B, const int ldb, const void *beta, 00545 void *C, const int ldc); 00546 void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00547 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00548 const float alpha, const void *A, const int lda, 00549 const float beta, void *C, const int ldc); 00550 void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00551 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00552 const void *alpha, const void *A, const int lda, 00553 const void *B, const int ldb, const float beta, 00554 void *C, const int ldc); 00555 00556 void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, 00557 const enum CBLAS_UPLO Uplo, const int M, const int N, 00558 const void *alpha, const void *A, const int lda, 00559 const void *B, const int ldb, const void *beta, 00560 void *C, const int ldc); 00561 void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00562 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00563 const double alpha, const void *A, const int lda, 00564 const double beta, void *C, const int ldc); 00565 void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, 00566 const enum CBLAS_TRANSPOSE Trans, const int N, const int K, 00567 const void *alpha, const void *A, const int lda, 00568 const void *B, const int ldb, const double beta, 00569 void *C, const int ldc); 00570 00571 void cblas_xerbla(int p, const char *rout, const char *form, ...); 00572 00573 00574 #ifdef __cplusplus 00575 } 00576 #endif 00577 00578 00579 #endif
1.7.3