annotate build/linux/amd64/cblas.h @ 172:40d53428bb85

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