annotate ext/cblas/include/cblas.h @ 209:ccd2019190bf msvc

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