annotate ext/cblas/include/cblas.h @ 477:fa407c1d9923

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