Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/x86_64-linux-gnu/cblas-netlib.h
$ cat -n /usr/include/x86_64-linux-gnu/cblas-netlib.h 1 #ifndef CBLAS_H 2 #define CBLAS_H 3 #include
4 #include
5 #include
6 7 8 #ifdef __cplusplus 9 extern "C" { /* Assume C declarations for C++ */ 10 #endif /* __cplusplus */ 11 12 /* 13 * Enumerated and derived types 14 */ 15 #define CBLAS_INDEX size_t /* this may vary between platforms */ 16 17 /* 18 * Integer type 19 */ 20 #ifndef CBLAS_INT 21 #ifdef WeirdNEC 22 #define CBLAS_INT int64_t 23 #else 24 #define CBLAS_INT int32_t 25 #endif 26 #endif 27 28 /* 29 * Integer format string 30 */ 31 #ifndef CBLAS_IFMT 32 #ifdef WeirdNEC 33 #define CBLAS_IFMT PRId64 34 #else 35 #define CBLAS_IFMT PRId32 36 #endif 37 #endif 38 39 typedef enum CBLAS_LAYOUT {CblasRowMajor=101, CblasColMajor=102} CBLAS_LAYOUT; 40 typedef enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113} CBLAS_TRANSPOSE; 41 typedef enum CBLAS_UPLO {CblasUpper=121, CblasLower=122} CBLAS_UPLO; 42 typedef enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132} CBLAS_DIAG; 43 typedef enum CBLAS_SIDE {CblasLeft=141, CblasRight=142} CBLAS_SIDE; 44 45 #define CBLAS_ORDER CBLAS_LAYOUT /* this for backward compatibility with CBLAS_ORDER */ 46 47 #include "cblas_mangling.h" 48 49 /* 50 * Integer specific API 51 */ 52 #ifndef API_SUFFIX 53 #ifdef CBLAS_API64 54 #define API_SUFFIX(a) a##_64 55 #include "cblas_64.h" 56 #else 57 #define API_SUFFIX(a) a 58 #endif 59 #endif 60 61 62 /* 63 * =========================================================================== 64 * Prototypes for level 1 BLAS functions (complex are recast as routines) 65 * =========================================================================== 66 */ 67 68 double cblas_dcabs1(const void *z); 69 float cblas_scabs1(const void *c); 70 71 float cblas_sdsdot(const CBLAS_INT N, const float alpha, const float *X, 72 const CBLAS_INT incX, const float *Y, const CBLAS_INT incY); 73 double cblas_dsdot(const CBLAS_INT N, const float *X, const CBLAS_INT incX, const float *Y, 74 const CBLAS_INT incY); 75 float cblas_sdot(const CBLAS_INT N, const float *X, const CBLAS_INT incX, 76 const float *Y, const CBLAS_INT incY); 77 double cblas_ddot(const CBLAS_INT N, const double *X, const CBLAS_INT incX, 78 const double *Y, const CBLAS_INT incY); 79 80 /* 81 * Functions having prefixes Z and C only 82 */ 83 void cblas_cdotu_sub(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 84 const void *Y, const CBLAS_INT incY, void *dotu); 85 void cblas_cdotc_sub(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 86 const void *Y, const CBLAS_INT incY, void *dotc); 87 88 void cblas_zdotu_sub(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 89 const void *Y, const CBLAS_INT incY, void *dotu); 90 void cblas_zdotc_sub(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 91 const void *Y, const CBLAS_INT incY, void *dotc); 92 93 94 /* 95 * Functions having prefixes S D SC DZ 96 */ 97 float cblas_snrm2(const CBLAS_INT N, const float *X, const CBLAS_INT incX); 98 float cblas_sasum(const CBLAS_INT N, const float *X, const CBLAS_INT incX); 99 100 double cblas_dnrm2(const CBLAS_INT N, const double *X, const CBLAS_INT incX); 101 double cblas_dasum(const CBLAS_INT N, const double *X, const CBLAS_INT incX); 102 103 float cblas_scnrm2(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 104 float cblas_scasum(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 105 106 double cblas_dznrm2(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 107 double cblas_dzasum(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 108 109 110 /* 111 * Functions having standard 4 prefixes (S D C Z) 112 */ 113 CBLAS_INDEX cblas_isamax(const CBLAS_INT N, const float *X, const CBLAS_INT incX); 114 CBLAS_INDEX cblas_idamax(const CBLAS_INT N, const double *X, const CBLAS_INT incX); 115 CBLAS_INDEX cblas_icamax(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 116 CBLAS_INDEX cblas_izamax(const CBLAS_INT N, const void *X, const CBLAS_INT incX); 117 118 /* 119 * =========================================================================== 120 * Prototypes for level 1 BLAS routines 121 * =========================================================================== 122 */ 123 124 /* 125 * Routines with standard 4 prefixes (s, d, c, z) 126 */ 127 void cblas_sswap(const CBLAS_INT N, float *X, const CBLAS_INT incX, 128 float *Y, const CBLAS_INT incY); 129 void cblas_scopy(const CBLAS_INT N, const float *X, const CBLAS_INT incX, 130 float *Y, const CBLAS_INT incY); 131 void cblas_saxpy(const CBLAS_INT N, const float alpha, const float *X, 132 const CBLAS_INT incX, float *Y, const CBLAS_INT incY); 133 134 void cblas_dswap(const CBLAS_INT N, double *X, const CBLAS_INT incX, 135 double *Y, const CBLAS_INT incY); 136 void cblas_dcopy(const CBLAS_INT N, const double *X, const CBLAS_INT incX, 137 double *Y, const CBLAS_INT incY); 138 void cblas_daxpy(const CBLAS_INT N, const double alpha, const double *X, 139 const CBLAS_INT incX, double *Y, const CBLAS_INT incY); 140 141 void cblas_cswap(const CBLAS_INT N, void *X, const CBLAS_INT incX, 142 void *Y, const CBLAS_INT incY); 143 void cblas_ccopy(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 144 void *Y, const CBLAS_INT incY); 145 void cblas_caxpy(const CBLAS_INT N, const void *alpha, const void *X, 146 const CBLAS_INT incX, void *Y, const CBLAS_INT incY); 147 148 void cblas_zswap(const CBLAS_INT N, void *X, const CBLAS_INT incX, 149 void *Y, const CBLAS_INT incY); 150 void cblas_zcopy(const CBLAS_INT N, const void *X, const CBLAS_INT incX, 151 void *Y, const CBLAS_INT incY); 152 void cblas_zaxpy(const CBLAS_INT N, const void *alpha, const void *X, 153 const CBLAS_INT incX, void *Y, const CBLAS_INT incY); 154 155 156 /* 157 * Routines with S and D prefix only 158 */ 159 void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P); 160 void cblas_srotm(const CBLAS_INT N, float *X, const CBLAS_INT incX, 161 float *Y, const CBLAS_INT incY, const float *P); 162 void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P); 163 void cblas_drotm(const CBLAS_INT N, double *X, const CBLAS_INT incX, 164 double *Y, const CBLAS_INT incY, const double *P); 165 166 167 168 /* 169 * Routines with S D C Z CS and ZD prefixes 170 */ 171 void cblas_sscal(const CBLAS_INT N, const float alpha, float *X, const CBLAS_INT incX); 172 void cblas_dscal(const CBLAS_INT N, const double alpha, double *X, const CBLAS_INT incX); 173 void cblas_cscal(const CBLAS_INT N, const void *alpha, void *X, const CBLAS_INT incX); 174 void cblas_zscal(const CBLAS_INT N, const void *alpha, void *X, const CBLAS_INT incX); 175 void cblas_csscal(const CBLAS_INT N, const float alpha, void *X, const CBLAS_INT incX); 176 void cblas_zdscal(const CBLAS_INT N, const double alpha, void *X, const CBLAS_INT incX); 177 178 void cblas_srotg(float *a, float *b, float *c, float *s); 179 void cblas_drotg(double *a, double *b, double *c, double *s); 180 void cblas_crotg(void *a, void *b, float *c, void *s); 181 void cblas_zrotg(void *a, void *b, double *c, void *s); 182 183 void cblas_srot(const CBLAS_INT N, float *X, const CBLAS_INT incX, 184 float *Y, const CBLAS_INT incY, const float c, const float s); 185 void cblas_drot(const CBLAS_INT N, double *X, const CBLAS_INT incX, 186 double *Y, const CBLAS_INT incY, const double c, const double s); 187 void cblas_csrot(const CBLAS_INT N, void *X, const CBLAS_INT incX, 188 void *Y, const CBLAS_INT incY, const float c, const float s); 189 void cblas_zdrot(const CBLAS_INT N, void *X, const CBLAS_INT incX, 190 void *Y, const CBLAS_INT incY, const double c, const double s); 191 192 /* 193 * =========================================================================== 194 * Prototypes for level 2 BLAS 195 * =========================================================================== 196 */ 197 198 /* 199 * Routines with standard 4 prefixes (S, D, C, Z) 200 */ 201 void cblas_sgemv(const CBLAS_LAYOUT layout, 202 const CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 203 const float alpha, const float *A, const CBLAS_INT lda, 204 const float *X, const CBLAS_INT incX, const float beta, 205 float *Y, const CBLAS_INT incY); 206 void cblas_sgbmv(CBLAS_LAYOUT layout, 207 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 208 const CBLAS_INT KL, const CBLAS_INT KU, const float alpha, 209 const float *A, const CBLAS_INT lda, const float *X, 210 const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY); 211 void cblas_strmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 212 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 213 const CBLAS_INT N, const float *A, const CBLAS_INT lda, 214 float *X, const CBLAS_INT incX); 215 void cblas_stbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 216 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 217 const CBLAS_INT N, const CBLAS_INT K, const float *A, const CBLAS_INT lda, 218 float *X, const CBLAS_INT incX); 219 void cblas_stpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 220 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 221 const CBLAS_INT N, const float *Ap, float *X, const CBLAS_INT incX); 222 void cblas_strsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 223 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 224 const CBLAS_INT N, const float *A, const CBLAS_INT lda, float *X, 225 const CBLAS_INT incX); 226 void cblas_stbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 227 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 228 const CBLAS_INT N, const CBLAS_INT K, const float *A, const CBLAS_INT lda, 229 float *X, const CBLAS_INT incX); 230 void cblas_stpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 231 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 232 const CBLAS_INT N, const float *Ap, float *X, const CBLAS_INT incX); 233 234 void cblas_dgemv(CBLAS_LAYOUT layout, 235 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 236 const double alpha, const double *A, const CBLAS_INT lda, 237 const double *X, const CBLAS_INT incX, const double beta, 238 double *Y, const CBLAS_INT incY); 239 void cblas_dgbmv(CBLAS_LAYOUT layout, 240 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 241 const CBLAS_INT KL, const CBLAS_INT KU, const double alpha, 242 const double *A, const CBLAS_INT lda, const double *X, 243 const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY); 244 void cblas_dtrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 245 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 246 const CBLAS_INT N, const double *A, const CBLAS_INT lda, 247 double *X, const CBLAS_INT incX); 248 void cblas_dtbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 249 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 250 const CBLAS_INT N, const CBLAS_INT K, const double *A, const CBLAS_INT lda, 251 double *X, const CBLAS_INT incX); 252 void cblas_dtpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 253 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 254 const CBLAS_INT N, const double *Ap, double *X, const CBLAS_INT incX); 255 void cblas_dtrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 256 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 257 const CBLAS_INT N, const double *A, const CBLAS_INT lda, double *X, 258 const CBLAS_INT incX); 259 void cblas_dtbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 260 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 261 const CBLAS_INT N, const CBLAS_INT K, const double *A, const CBLAS_INT lda, 262 double *X, const CBLAS_INT incX); 263 void cblas_dtpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 264 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 265 const CBLAS_INT N, const double *Ap, double *X, const CBLAS_INT incX); 266 267 void cblas_cgemv(CBLAS_LAYOUT layout, 268 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 269 const void *alpha, const void *A, const CBLAS_INT lda, 270 const void *X, const CBLAS_INT incX, const void *beta, 271 void *Y, const CBLAS_INT incY); 272 void cblas_cgbmv(CBLAS_LAYOUT layout, 273 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 274 const CBLAS_INT KL, const CBLAS_INT KU, const void *alpha, 275 const void *A, const CBLAS_INT lda, const void *X, 276 const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY); 277 void cblas_ctrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 278 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 279 const CBLAS_INT N, const void *A, const CBLAS_INT lda, 280 void *X, const CBLAS_INT incX); 281 void cblas_ctbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 282 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 283 const CBLAS_INT N, const CBLAS_INT K, const void *A, const CBLAS_INT lda, 284 void *X, const CBLAS_INT incX); 285 void cblas_ctpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 286 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 287 const CBLAS_INT N, const void *Ap, void *X, const CBLAS_INT incX); 288 void cblas_ctrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 289 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 290 const CBLAS_INT N, const void *A, const CBLAS_INT lda, void *X, 291 const CBLAS_INT incX); 292 void cblas_ctbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 293 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 294 const CBLAS_INT N, const CBLAS_INT K, const void *A, const CBLAS_INT lda, 295 void *X, const CBLAS_INT incX); 296 void cblas_ctpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 297 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 298 const CBLAS_INT N, const void *Ap, void *X, const CBLAS_INT incX); 299 300 void cblas_zgemv(CBLAS_LAYOUT layout, 301 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 302 const void *alpha, const void *A, const CBLAS_INT lda, 303 const void *X, const CBLAS_INT incX, const void *beta, 304 void *Y, const CBLAS_INT incY); 305 void cblas_zgbmv(CBLAS_LAYOUT layout, 306 CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, 307 const CBLAS_INT KL, const CBLAS_INT KU, const void *alpha, 308 const void *A, const CBLAS_INT lda, const void *X, 309 const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY); 310 void cblas_ztrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 311 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 312 const CBLAS_INT N, const void *A, const CBLAS_INT lda, 313 void *X, const CBLAS_INT incX); 314 void cblas_ztbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 315 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 316 const CBLAS_INT N, const CBLAS_INT K, const void *A, const CBLAS_INT lda, 317 void *X, const CBLAS_INT incX); 318 void cblas_ztpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 319 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 320 const CBLAS_INT N, const void *Ap, void *X, const CBLAS_INT incX); 321 void cblas_ztrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 322 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 323 const CBLAS_INT N, const void *A, const CBLAS_INT lda, void *X, 324 const CBLAS_INT incX); 325 void cblas_ztbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 326 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 327 const CBLAS_INT N, const CBLAS_INT K, const void *A, const CBLAS_INT lda, 328 void *X, const CBLAS_INT incX); 329 void cblas_ztpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 330 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, 331 const CBLAS_INT N, const void *Ap, void *X, const CBLAS_INT incX); 332 333 334 /* 335 * Routines with S and D prefixes only 336 */ 337 void cblas_ssymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 338 const CBLAS_INT N, const float alpha, const float *A, 339 const CBLAS_INT lda, const float *X, const CBLAS_INT incX, 340 const float beta, float *Y, const CBLAS_INT incY); 341 void cblas_ssbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 342 const CBLAS_INT N, const CBLAS_INT K, const float alpha, const float *A, 343 const CBLAS_INT lda, const float *X, const CBLAS_INT incX, 344 const float beta, float *Y, const CBLAS_INT incY); 345 void cblas_sspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 346 const CBLAS_INT N, const float alpha, const float *Ap, 347 const float *X, const CBLAS_INT incX, 348 const float beta, float *Y, const CBLAS_INT incY); 349 void cblas_sger(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 350 const float alpha, const float *X, const CBLAS_INT incX, 351 const float *Y, const CBLAS_INT incY, float *A, const CBLAS_INT lda); 352 void cblas_ssyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 353 const CBLAS_INT N, const float alpha, const float *X, 354 const CBLAS_INT incX, float *A, const CBLAS_INT lda); 355 void cblas_sspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 356 const CBLAS_INT N, const float alpha, const float *X, 357 const CBLAS_INT incX, float *Ap); 358 void cblas_ssyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 359 const CBLAS_INT N, const float alpha, const float *X, 360 const CBLAS_INT incX, const float *Y, const CBLAS_INT incY, float *A, 361 const CBLAS_INT lda); 362 void cblas_sspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 363 const CBLAS_INT N, const float alpha, const float *X, 364 const CBLAS_INT incX, const float *Y, const CBLAS_INT incY, float *A); 365 366 void cblas_dsymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 367 const CBLAS_INT N, const double alpha, const double *A, 368 const CBLAS_INT lda, const double *X, const CBLAS_INT incX, 369 const double beta, double *Y, const CBLAS_INT incY); 370 void cblas_dsbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 371 const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, 372 const CBLAS_INT lda, const double *X, const CBLAS_INT incX, 373 const double beta, double *Y, const CBLAS_INT incY); 374 void cblas_dspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 375 const CBLAS_INT N, const double alpha, const double *Ap, 376 const double *X, const CBLAS_INT incX, 377 const double beta, double *Y, const CBLAS_INT incY); 378 void cblas_dger(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 379 const double alpha, const double *X, const CBLAS_INT incX, 380 const double *Y, const CBLAS_INT incY, double *A, const CBLAS_INT lda); 381 void cblas_dsyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 382 const CBLAS_INT N, const double alpha, const double *X, 383 const CBLAS_INT incX, double *A, const CBLAS_INT lda); 384 void cblas_dspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 385 const CBLAS_INT N, const double alpha, const double *X, 386 const CBLAS_INT incX, double *Ap); 387 void cblas_dsyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 388 const CBLAS_INT N, const double alpha, const double *X, 389 const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A, 390 const CBLAS_INT lda); 391 void cblas_dspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 392 const CBLAS_INT N, const double alpha, const double *X, 393 const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A); 394 395 396 /* 397 * Routines with C and Z prefixes only 398 */ 399 void cblas_chemv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 400 const CBLAS_INT N, const void *alpha, const void *A, 401 const CBLAS_INT lda, const void *X, const CBLAS_INT incX, 402 const void *beta, void *Y, const CBLAS_INT incY); 403 void cblas_chbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 404 const CBLAS_INT N, const CBLAS_INT K, const void *alpha, const void *A, 405 const CBLAS_INT lda, const void *X, const CBLAS_INT incX, 406 const void *beta, void *Y, const CBLAS_INT incY); 407 void cblas_chpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 408 const CBLAS_INT N, const void *alpha, const void *Ap, 409 const void *X, const CBLAS_INT incX, 410 const void *beta, void *Y, const CBLAS_INT incY); 411 void cblas_cgeru(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 412 const void *alpha, const void *X, const CBLAS_INT incX, 413 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 414 void cblas_cgerc(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 415 const void *alpha, const void *X, const CBLAS_INT incX, 416 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 417 void cblas_cher(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 418 const CBLAS_INT N, const float alpha, const void *X, const CBLAS_INT incX, 419 void *A, const CBLAS_INT lda); 420 void cblas_chpr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 421 const CBLAS_INT N, const float alpha, const void *X, 422 const CBLAS_INT incX, void *A); 423 void cblas_cher2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, 424 const void *alpha, const void *X, const CBLAS_INT incX, 425 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 426 void cblas_chpr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, 427 const void *alpha, const void *X, const CBLAS_INT incX, 428 const void *Y, const CBLAS_INT incY, void *Ap); 429 430 void cblas_zhemv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 431 const CBLAS_INT N, const void *alpha, const void *A, 432 const CBLAS_INT lda, const void *X, const CBLAS_INT incX, 433 const void *beta, void *Y, const CBLAS_INT incY); 434 void cblas_zhbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 435 const CBLAS_INT N, const CBLAS_INT K, const void *alpha, const void *A, 436 const CBLAS_INT lda, const void *X, const CBLAS_INT incX, 437 const void *beta, void *Y, const CBLAS_INT incY); 438 void cblas_zhpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 439 const CBLAS_INT N, const void *alpha, const void *Ap, 440 const void *X, const CBLAS_INT incX, 441 const void *beta, void *Y, const CBLAS_INT incY); 442 void cblas_zgeru(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 443 const void *alpha, const void *X, const CBLAS_INT incX, 444 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 445 void cblas_zgerc(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, 446 const void *alpha, const void *X, const CBLAS_INT incX, 447 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 448 void cblas_zher(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 449 const CBLAS_INT N, const double alpha, const void *X, const CBLAS_INT incX, 450 void *A, const CBLAS_INT lda); 451 void cblas_zhpr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 452 const CBLAS_INT N, const double alpha, const void *X, 453 const CBLAS_INT incX, void *A); 454 void cblas_zher2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, 455 const void *alpha, const void *X, const CBLAS_INT incX, 456 const void *Y, const CBLAS_INT incY, void *A, const CBLAS_INT lda); 457 void cblas_zhpr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, 458 const void *alpha, const void *X, const CBLAS_INT incX, 459 const void *Y, const CBLAS_INT incY, void *Ap); 460 461 /* 462 * =========================================================================== 463 * Prototypes for level 3 BLAS 464 * =========================================================================== 465 */ 466 467 /* 468 * Routines with standard 4 prefixes (S, D, C, Z) 469 */ 470 void cblas_sgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, 471 CBLAS_TRANSPOSE TransB, const CBLAS_INT M, const CBLAS_INT N, 472 const CBLAS_INT K, const float alpha, const float *A, 473 const CBLAS_INT lda, const float *B, const CBLAS_INT ldb, 474 const float beta, float *C, const CBLAS_INT ldc); 475 void cblas_ssymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 476 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 477 const float alpha, const float *A, const CBLAS_INT lda, 478 const float *B, const CBLAS_INT ldb, const float beta, 479 float *C, const CBLAS_INT ldc); 480 void cblas_ssyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 481 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 482 const float alpha, const float *A, const CBLAS_INT lda, 483 const float beta, float *C, const CBLAS_INT ldc); 484 void cblas_ssyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 485 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 486 const float alpha, const float *A, const CBLAS_INT lda, 487 const float *B, const CBLAS_INT ldb, const float beta, 488 float *C, const CBLAS_INT ldc); 489 void cblas_strmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 490 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 491 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 492 const float alpha, const float *A, const CBLAS_INT lda, 493 float *B, const CBLAS_INT ldb); 494 void cblas_strsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 495 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 496 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 497 const float alpha, const float *A, const CBLAS_INT lda, 498 float *B, const CBLAS_INT ldb); 499 500 void cblas_dgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, 501 CBLAS_TRANSPOSE TransB, const CBLAS_INT M, const CBLAS_INT N, 502 const CBLAS_INT K, const double alpha, const double *A, 503 const CBLAS_INT lda, const double *B, const CBLAS_INT ldb, 504 const double beta, double *C, const CBLAS_INT ldc); 505 void cblas_dsymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 506 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 507 const double alpha, const double *A, const CBLAS_INT lda, 508 const double *B, const CBLAS_INT ldb, const double beta, 509 double *C, const CBLAS_INT ldc); 510 void cblas_dsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 511 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 512 const double alpha, const double *A, const CBLAS_INT lda, 513 const double beta, double *C, const CBLAS_INT ldc); 514 void cblas_dsyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 515 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 516 const double alpha, const double *A, const CBLAS_INT lda, 517 const double *B, const CBLAS_INT ldb, const double beta, 518 double *C, const CBLAS_INT ldc); 519 void cblas_dtrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 520 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 521 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 522 const double alpha, const double *A, const CBLAS_INT lda, 523 double *B, const CBLAS_INT ldb); 524 void cblas_dtrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 525 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 526 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 527 const double alpha, const double *A, const CBLAS_INT lda, 528 double *B, const CBLAS_INT ldb); 529 530 void cblas_cgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, 531 CBLAS_TRANSPOSE TransB, const CBLAS_INT M, const CBLAS_INT N, 532 const CBLAS_INT K, const void *alpha, const void *A, 533 const CBLAS_INT lda, const void *B, const CBLAS_INT ldb, 534 const void *beta, void *C, const CBLAS_INT ldc); 535 void cblas_csymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 536 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 537 const void *alpha, const void *A, const CBLAS_INT lda, 538 const void *B, const CBLAS_INT ldb, const void *beta, 539 void *C, const CBLAS_INT ldc); 540 void cblas_csyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 541 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 542 const void *alpha, const void *A, const CBLAS_INT lda, 543 const void *beta, void *C, const CBLAS_INT ldc); 544 void cblas_csyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 545 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 546 const void *alpha, const void *A, const CBLAS_INT lda, 547 const void *B, const CBLAS_INT ldb, const void *beta, 548 void *C, const CBLAS_INT ldc); 549 void cblas_ctrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 550 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 551 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 552 const void *alpha, const void *A, const CBLAS_INT lda, 553 void *B, const CBLAS_INT ldb); 554 void cblas_ctrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 555 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 556 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 557 const void *alpha, const void *A, const CBLAS_INT lda, 558 void *B, const CBLAS_INT ldb); 559 560 void cblas_zgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, 561 CBLAS_TRANSPOSE TransB, const CBLAS_INT M, const CBLAS_INT N, 562 const CBLAS_INT K, const void *alpha, const void *A, 563 const CBLAS_INT lda, const void *B, const CBLAS_INT ldb, 564 const void *beta, void *C, const CBLAS_INT ldc); 565 void cblas_zsymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 566 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 567 const void *alpha, const void *A, const CBLAS_INT lda, 568 const void *B, const CBLAS_INT ldb, const void *beta, 569 void *C, const CBLAS_INT ldc); 570 void cblas_zsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 571 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 572 const void *alpha, const void *A, const CBLAS_INT lda, 573 const void *beta, void *C, const CBLAS_INT ldc); 574 void cblas_zsyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 575 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 576 const void *alpha, const void *A, const CBLAS_INT lda, 577 const void *B, const CBLAS_INT ldb, const void *beta, 578 void *C, const CBLAS_INT ldc); 579 void cblas_ztrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 580 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 581 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 582 const void *alpha, const void *A, const CBLAS_INT lda, 583 void *B, const CBLAS_INT ldb); 584 void cblas_ztrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 585 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, 586 CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, 587 const void *alpha, const void *A, const CBLAS_INT lda, 588 void *B, const CBLAS_INT ldb); 589 590 591 /* 592 * Routines with prefixes C and Z only 593 */ 594 void cblas_chemm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 595 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 596 const void *alpha, const void *A, const CBLAS_INT lda, 597 const void *B, const CBLAS_INT ldb, const void *beta, 598 void *C, const CBLAS_INT ldc); 599 void cblas_cherk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 600 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 601 const float alpha, const void *A, const CBLAS_INT lda, 602 const float beta, void *C, const CBLAS_INT ldc); 603 void cblas_cher2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 604 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 605 const void *alpha, const void *A, const CBLAS_INT lda, 606 const void *B, const CBLAS_INT ldb, const float beta, 607 void *C, const CBLAS_INT ldc); 608 609 void cblas_zhemm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, 610 CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, 611 const void *alpha, const void *A, const CBLAS_INT lda, 612 const void *B, const CBLAS_INT ldb, const void *beta, 613 void *C, const CBLAS_INT ldc); 614 void cblas_zherk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 615 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 616 const double alpha, const void *A, const CBLAS_INT lda, 617 const double beta, void *C, const CBLAS_INT ldc); 618 void cblas_zher2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, 619 CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, 620 const void *alpha, const void *A, const CBLAS_INT lda, 621 const void *B, const CBLAS_INT ldb, const double beta, 622 void *C, const CBLAS_INT ldc); 623 624 void 625 #ifdef HAS_ATTRIBUTE_WEAK_SUPPORT 626 __attribute__((weak)) 627 #endif 628 cblas_xerbla(CBLAS_INT p, const char *rout, const char *form, ...); 629 630 #ifdef __cplusplus 631 } 632 #endif 633 #endif
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™