annotate include/cblas.h @ 57:d241e7701c0c

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