annotate lapack-linux-amd64/cblas.h @ 19:e85edf00a480 matthiasm-plugin

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