annotate include/cblas.h @ 515:08bcc06c38ec tip master

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