annotate include/cblas.h @ 321:f1e6be2de9a5

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