Main Page | Directories | File List | Globals

cblas.h

Go to the documentation of this file.
00001 #ifndef CBLAS_H
00002 #define CBLAS_H
00003 #include <stddef.h>
00004 
00005 /* Allow the use in C++ code.  */
00006 #ifdef __cplusplus
00007 extern "C" 
00008 {
00009 #endif
00010 
00011 /*
00012  * Enumerated and derived types
00013  */
00014 #define CBLAS_INDEX size_t  /* this may vary between platforms */
00015 
00016 enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
00017 enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
00018 enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
00019 enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
00020 enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
00021 
00022 /*
00023  * ===========================================================================
00024  * Prototypes for level 1 BLAS functions (complex are recast as routines)
00025  * ===========================================================================
00026  */
00027 float  cblas_sdsdot(const int N, const float alpha, const float *X,
00028                     const int incX, const float *Y, const int incY);
00029 double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
00030                    const int incY);
00031 float  cblas_sdot(const int N, const float  *X, const int incX,
00032                   const float  *Y, const int incY);
00033 double cblas_ddot(const int N, const double *X, const int incX,
00034                   const double *Y, const int incY);
00035 
00036 /*
00037  * Functions having prefixes Z and C only
00038  */
00039 void   cblas_cdotu_sub(const int N, const void *X, const int incX,
00040                        const void *Y, const int incY, void *dotu);
00041 void   cblas_cdotc_sub(const int N, const void *X, const int incX,
00042                        const void *Y, const int incY, void *dotc);
00043 
00044 void   cblas_zdotu_sub(const int N, const void *X, const int incX,
00045                        const void *Y, const int incY, void *dotu);
00046 void   cblas_zdotc_sub(const int N, const void *X, const int incX,
00047                        const void *Y, const int incY, void *dotc);
00048 
00049 
00050 /*
00051  * Functions having prefixes S D SC DZ
00052  */
00053 float  cblas_snrm2(const int N, const float *X, const int incX);
00054 float  cblas_sasum(const int N, const float *X, const int incX);
00055 
00056 double cblas_dnrm2(const int N, const double *X, const int incX);
00057 double cblas_dasum(const int N, const double *X, const int incX);
00058 
00059 float  cblas_scnrm2(const int N, const void *X, const int incX);
00060 float  cblas_scasum(const int N, const void *X, const int incX);
00061 
00062 double cblas_dznrm2(const int N, const void *X, const int incX);
00063 double cblas_dzasum(const int N, const void *X, const int incX);
00064 
00065 
00066 /*
00067  * Functions having standard 4 prefixes (S D C Z)
00068  */
00069 CBLAS_INDEX cblas_isamax(const int N, const float  *X, const int incX);
00070 CBLAS_INDEX cblas_idamax(const int N, const double *X, const int incX);
00071 CBLAS_INDEX cblas_icamax(const int N, const void   *X, const int incX);
00072 CBLAS_INDEX cblas_izamax(const int N, const void   *X, const int incX);
00073 
00074 /*
00075  * ===========================================================================
00076  * Prototypes for level 1 BLAS routines
00077  * ===========================================================================
00078  */
00079 
00080 /* 
00081  * Routines with standard 4 prefixes (s, d, c, z)
00082  */
00083 void cblas_sswap(const int N, float *X, const int incX, 
00084                  float *Y, const int incY);
00085 void cblas_scopy(const int N, const float *X, const int incX, 
00086                  float *Y, const int incY);
00087 void cblas_saxpy(const int N, const float alpha, const float *X,
00088                  const int incX, float *Y, const int incY);
00089 
00090 void cblas_dswap(const int N, double *X, const int incX, 
00091                  double *Y, const int incY);
00092 void cblas_dcopy(const int N, const double *X, const int incX, 
00093                  double *Y, const int incY);
00094 void cblas_daxpy(const int N, const double alpha, const double *X,
00095                  const int incX, double *Y, const int incY);
00096 
00097 void cblas_cswap(const int N, void *X, const int incX, 
00098                  void *Y, const int incY);
00099 void cblas_ccopy(const int N, const void *X, const int incX, 
00100                  void *Y, const int incY);
00101 void cblas_caxpy(const int N, const void *alpha, const void *X,
00102                  const int incX, void *Y, const int incY);
00103 
00104 void cblas_zswap(const int N, void *X, const int incX, 
00105                  void *Y, const int incY);
00106 void cblas_zcopy(const int N, const void *X, const int incX, 
00107                  void *Y, const int incY);
00108 void cblas_zaxpy(const int N, const void *alpha, const void *X,
00109                  const int incX, void *Y, const int incY);
00110 
00111 
00112 /* 
00113  * Routines with S and D prefix only
00114  */
00115 void cblas_srotg(float *a, float *b, float *c, float *s);
00116 void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
00117 void cblas_srot(const int N, float *X, const int incX,
00118                 float *Y, const int incY, const float c, const float s);
00119 void cblas_srotm(const int N, float *X, const int incX,
00120                 float *Y, const int incY, const float *P);
00121 
00122 void cblas_drotg(double *a, double *b, double *c, double *s);
00123 void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
00124 void cblas_drot(const int N, double *X, const int incX,
00125                 double *Y, const int incY, const double c, const double  s);
00126 void cblas_drotm(const int N, double *X, const int incX,
00127                 double *Y, const int incY, const double *P);
00128 
00129 
00130 /* 
00131  * Routines with S D C Z CS and ZD prefixes
00132  */
00133 void cblas_sscal(const int N, const float alpha, float *X, const int incX);
00134 void cblas_dscal(const int N, const double alpha, double *X, const int incX);
00135 void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
00136 void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
00137 void cblas_csscal(const int N, const float alpha, void *X, const int incX);
00138 void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
00139 
00140 /*
00141  * ===========================================================================
00142  * Prototypes for level 2 BLAS
00143  * ===========================================================================
00144  */
00145 
00146 /* 
00147  * Routines with standard 4 prefixes (S, D, C, Z)
00148  */
00149 void cblas_sgemv(const enum CBLAS_ORDER order,
00150                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00151                  const float alpha, const float *A, const int lda,
00152                  const float *X, const int incX, const float beta,
00153                  float *Y, const int incY);
00154 void cblas_sgbmv(const enum CBLAS_ORDER order,
00155                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00156                  const int KL, const int KU, const float alpha,
00157                  const float *A, const int lda, const float *X,
00158                  const int incX, const float beta, float *Y, const int incY);
00159 void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00160                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00161                  const int N, const float *A, const int lda, 
00162                  float *X, const int incX);
00163 void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00164                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00165                  const int N, const int K, const float *A, const int lda, 
00166                  float *X, const int incX);
00167 void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00168                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00169                  const int N, const float *Ap, float *X, const int incX);
00170 void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00171                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00172                  const int N, const float *A, const int lda, float *X,
00173                  const int incX);
00174 void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00175                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00176                  const int N, const int K, const float *A, const int lda,
00177                  float *X, const int incX);
00178 void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00179                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00180                  const int N, const float *Ap, float *X, const int incX);
00181 
00182 void cblas_dgemv(const enum CBLAS_ORDER order,
00183                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00184                  const double alpha, const double *A, const int lda,
00185                  const double *X, const int incX, const double beta,
00186                  double *Y, const int incY);
00187 void cblas_dgbmv(const enum CBLAS_ORDER order,
00188                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00189                  const int KL, const int KU, const double alpha,
00190                  const double *A, const int lda, const double *X,
00191                  const int incX, const double beta, double *Y, const int incY);
00192 void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00193                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00194                  const int N, const double *A, const int lda, 
00195                  double *X, const int incX);
00196 void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00197                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00198                  const int N, const int K, const double *A, const int lda, 
00199                  double *X, const int incX);
00200 void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00201                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00202                  const int N, const double *Ap, double *X, const int incX);
00203 void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00204                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00205                  const int N, const double *A, const int lda, double *X,
00206                  const int incX);
00207 void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00208                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00209                  const int N, const int K, const double *A, const int lda,
00210                  double *X, const int incX);
00211 void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00212                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00213                  const int N, const double *Ap, double *X, const int incX);
00214 
00215 void cblas_cgemv(const enum CBLAS_ORDER order,
00216                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00217                  const void *alpha, const void *A, const int lda,
00218                  const void *X, const int incX, const void *beta,
00219                  void *Y, const int incY);
00220 void cblas_cgbmv(const enum CBLAS_ORDER order,
00221                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00222                  const int KL, const int KU, const void *alpha,
00223                  const void *A, const int lda, const void *X,
00224                  const int incX, const void *beta, void *Y, const int incY);
00225 void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00226                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00227                  const int N, const void *A, const int lda, 
00228                  void *X, const int incX);
00229 void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00230                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00231                  const int N, const int K, const void *A, const int lda, 
00232                  void *X, const int incX);
00233 void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00234                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00235                  const int N, const void *Ap, void *X, const int incX);
00236 void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00237                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00238                  const int N, const void *A, const int lda, void *X,
00239                  const int incX);
00240 void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00241                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00242                  const int N, const int K, const void *A, const int lda,
00243                  void *X, const int incX);
00244 void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00245                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00246                  const int N, const void *Ap, void *X, const int incX);
00247 
00248 void cblas_zgemv(const enum CBLAS_ORDER order,
00249                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00250                  const void *alpha, const void *A, const int lda,
00251                  const void *X, const int incX, const void *beta,
00252                  void *Y, const int incY);
00253 void cblas_zgbmv(const enum CBLAS_ORDER order,
00254                  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
00255                  const int KL, const int KU, const void *alpha,
00256                  const void *A, const int lda, const void *X,
00257                  const int incX, const void *beta, void *Y, const int incY);
00258 void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00259                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00260                  const int N, const void *A, const int lda, 
00261                  void *X, const int incX);
00262 void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00263                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00264                  const int N, const int K, const void *A, const int lda, 
00265                  void *X, const int incX);
00266 void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00267                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00268                  const int N, const void *Ap, void *X, const int incX);
00269 void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00270                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00271                  const int N, const void *A, const int lda, void *X,
00272                  const int incX);
00273 void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00274                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00275                  const int N, const int K, const void *A, const int lda,
00276                  void *X, const int incX);
00277 void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00278                  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
00279                  const int N, const void *Ap, void *X, const int incX);
00280 
00281 
00282 /* 
00283  * Routines with S and D prefixes only
00284  */
00285 void cblas_ssymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00286                  const int N, const float alpha, const float *A,
00287                  const int lda, const float *X, const int incX,
00288                  const float beta, float *Y, const int incY);
00289 void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00290                  const int N, const int K, const float alpha, const float *A,
00291                  const int lda, const float *X, const int incX,
00292                  const float beta, float *Y, const int incY);
00293 void cblas_sspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00294                  const int N, const float alpha, const float *Ap,
00295                  const float *X, const int incX,
00296                  const float beta, float *Y, const int incY);
00297 void cblas_sger(const enum CBLAS_ORDER order, const int M, const int N,
00298                 const float alpha, const float *X, const int incX,
00299                 const float *Y, const int incY, float *A, const int lda);
00300 void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00301                 const int N, const float alpha, const float *X,
00302                 const int incX, float *A, const int lda);
00303 void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00304                 const int N, const float alpha, const float *X,
00305                 const int incX, float *Ap);
00306 void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00307                 const int N, const float alpha, const float *X,
00308                 const int incX, const float *Y, const int incY, float *A,
00309                 const int lda);
00310 void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00311                 const int N, const float alpha, const float *X,
00312                 const int incX, const float *Y, const int incY, float *A);
00313 
00314 void cblas_dsymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00315                  const int N, const double alpha, const double *A,
00316                  const int lda, const double *X, const int incX,
00317                  const double beta, double *Y, const int incY);
00318 void cblas_dsbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00319                  const int N, const int K, const double alpha, const double *A,
00320                  const int lda, const double *X, const int incX,
00321                  const double beta, double *Y, const int incY);
00322 void cblas_dspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00323                  const int N, const double alpha, const double *Ap,
00324                  const double *X, const int incX,
00325                  const double beta, double *Y, const int incY);
00326 void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N,
00327                 const double alpha, const double *X, const int incX,
00328                 const double *Y, const int incY, double *A, const int lda);
00329 void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00330                 const int N, const double alpha, const double *X,
00331                 const int incX, double *A, const int lda);
00332 void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00333                 const int N, const double alpha, const double *X,
00334                 const int incX, double *Ap);
00335 void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00336                 const int N, const double alpha, const double *X,
00337                 const int incX, const double *Y, const int incY, double *A,
00338                 const int lda);
00339 void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00340                 const int N, const double alpha, const double *X,
00341                 const int incX, const double *Y, const int incY, double *A);
00342 
00343 
00344 /* 
00345  * Routines with C and Z prefixes only
00346  */
00347 void cblas_chemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00348                  const int N, const void *alpha, const void *A,
00349                  const int lda, const void *X, const int incX,
00350                  const void *beta, void *Y, const int incY);
00351 void cblas_chbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00352                  const int N, const int K, const void *alpha, const void *A,
00353                  const int lda, const void *X, const int incX,
00354                  const void *beta, void *Y, const int incY);
00355 void cblas_chpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00356                  const int N, const void *alpha, const void *Ap,
00357                  const void *X, const int incX,
00358                  const void *beta, void *Y, const int incY);
00359 void cblas_cgeru(const enum CBLAS_ORDER order, const int M, const int N,
00360                  const void *alpha, const void *X, const int incX,
00361                  const void *Y, const int incY, void *A, const int lda);
00362 void cblas_cgerc(const enum CBLAS_ORDER order, const int M, const int N,
00363                  const void *alpha, const void *X, const int incX,
00364                  const void *Y, const int incY, void *A, const int lda);
00365 void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00366                 const int N, const float alpha, const void *X, const int incX,
00367                 void *A, const int lda);
00368 void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00369                 const int N, const float alpha, const void *X,
00370                 const int incX, void *A);
00371 void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00372                 const void *alpha, const void *X, const int incX,
00373                 const void *Y, const int incY, void *A, const int lda);
00374 void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00375                 const void *alpha, const void *X, const int incX,
00376                 const void *Y, const int incY, void *Ap);
00377 
00378 void cblas_zhemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00379                  const int N, const void *alpha, const void *A,
00380                  const int lda, const void *X, const int incX,
00381                  const void *beta, void *Y, const int incY);
00382 void cblas_zhbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00383                  const int N, const int K, const void *alpha, const void *A,
00384                  const int lda, const void *X, const int incX,
00385                  const void *beta, void *Y, const int incY);
00386 void cblas_zhpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00387                  const int N, const void *alpha, const void *Ap,
00388                  const void *X, const int incX,
00389                  const void *beta, void *Y, const int incY);
00390 void cblas_zgeru(const enum CBLAS_ORDER order, const int M, const int N,
00391                  const void *alpha, const void *X, const int incX,
00392                  const void *Y, const int incY, void *A, const int lda);
00393 void cblas_zgerc(const enum CBLAS_ORDER order, const int M, const int N,
00394                  const void *alpha, const void *X, const int incX,
00395                  const void *Y, const int incY, void *A, const int lda);
00396 void cblas_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00397                 const int N, const double alpha, const void *X, const int incX,
00398                 void *A, const int lda);
00399 void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
00400                 const int N, const double alpha, const void *X,
00401                 const int incX, void *A);
00402 void cblas_zher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00403                 const void *alpha, const void *X, const int incX,
00404                 const void *Y, const int incY, void *A, const int lda);
00405 void cblas_zhpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
00406                 const void *alpha, const void *X, const int incX,
00407                 const void *Y, const int incY, void *Ap);
00408 
00409 /*
00410  * ===========================================================================
00411  * Prototypes for level 3 BLAS
00412  * ===========================================================================
00413  */
00414 
00415 /* 
00416  * Routines with standard 4 prefixes (S, D, C, Z)
00417  */
00418 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00419                  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00420                  const int K, const float alpha, const float *A,
00421                  const int lda, const float *B, const int ldb,
00422                  const float beta, float *C, const int ldc);
00423 void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00424                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00425                  const float alpha, const float *A, const int lda,
00426                  const float *B, const int ldb, const float beta,
00427                  float *C, const int ldc);
00428 void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00429                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00430                  const float alpha, const float *A, const int lda,
00431                  const float beta, float *C, const int ldc);
00432 void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00433                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00434                   const float alpha, const float *A, const int lda,
00435                   const float *B, const int ldb, const float beta,
00436                   float *C, const int ldc);
00437 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00438                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00439                  const enum CBLAS_DIAG Diag, const int M, const int N,
00440                  const float alpha, const float *A, const int lda,
00441                  float *B, const int ldb);
00442 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00443                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00444                  const enum CBLAS_DIAG Diag, const int M, const int N,
00445                  const float alpha, const float *A, const int lda,
00446                  float *B, const int ldb);
00447 
00448 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00449                  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00450                  const int K, const double alpha, const double *A,
00451                  const int lda, const double *B, const int ldb,
00452                  const double beta, double *C, const int ldc);
00453 void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00454                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00455                  const double alpha, const double *A, const int lda,
00456                  const double *B, const int ldb, const double beta,
00457                  double *C, const int ldc);
00458 void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00459                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00460                  const double alpha, const double *A, const int lda,
00461                  const double beta, double *C, const int ldc);
00462 void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00463                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00464                   const double alpha, const double *A, const int lda,
00465                   const double *B, const int ldb, const double beta,
00466                   double *C, const int ldc);
00467 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00468                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00469                  const enum CBLAS_DIAG Diag, const int M, const int N,
00470                  const double alpha, const double *A, const int lda,
00471                  double *B, const int ldb);
00472 void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00473                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00474                  const enum CBLAS_DIAG Diag, const int M, const int N,
00475                  const double alpha, const double *A, const int lda,
00476                  double *B, const int ldb);
00477 
00478 void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00479                  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00480                  const int K, const void *alpha, const void *A,
00481                  const int lda, const void *B, const int ldb,
00482                  const void *beta, void *C, const int ldc);
00483 void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00484                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00485                  const void *alpha, const void *A, const int lda,
00486                  const void *B, const int ldb, const void *beta,
00487                  void *C, const int ldc);
00488 void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00489                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00490                  const void *alpha, const void *A, const int lda,
00491                  const void *beta, void *C, const int ldc);
00492 void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00493                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00494                   const void *alpha, const void *A, const int lda,
00495                   const void *B, const int ldb, const void *beta,
00496                   void *C, const int ldc);
00497 void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00498                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00499                  const enum CBLAS_DIAG Diag, const int M, const int N,
00500                  const void *alpha, const void *A, const int lda,
00501                  void *B, const int ldb);
00502 void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00503                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00504                  const enum CBLAS_DIAG Diag, const int M, const int N,
00505                  const void *alpha, const void *A, const int lda,
00506                  void *B, const int ldb);
00507 
00508 void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
00509                  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
00510                  const int K, const void *alpha, const void *A,
00511                  const int lda, const void *B, const int ldb,
00512                  const void *beta, void *C, const int ldc);
00513 void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00514                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00515                  const void *alpha, const void *A, const int lda,
00516                  const void *B, const int ldb, const void *beta,
00517                  void *C, const int ldc);
00518 void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00519                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00520                  const void *alpha, const void *A, const int lda,
00521                  const void *beta, void *C, const int ldc);
00522 void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00523                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00524                   const void *alpha, const void *A, const int lda,
00525                   const void *B, const int ldb, const void *beta,
00526                   void *C, const int ldc);
00527 void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00528                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00529                  const enum CBLAS_DIAG Diag, const int M, const int N,
00530                  const void *alpha, const void *A, const int lda,
00531                  void *B, const int ldb);
00532 void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00533                  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
00534                  const enum CBLAS_DIAG Diag, const int M, const int N,
00535                  const void *alpha, const void *A, const int lda,
00536                  void *B, const int ldb);
00537 
00538 
00539 /* 
00540  * Routines with prefixes C and Z only
00541  */
00542 void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00543                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00544                  const void *alpha, const void *A, const int lda,
00545                  const void *B, const int ldb, const void *beta,
00546                  void *C, const int ldc);
00547 void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00548                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00549                  const float alpha, const void *A, const int lda,
00550                  const float beta, void *C, const int ldc);
00551 void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00552                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00553                   const void *alpha, const void *A, const int lda,
00554                   const void *B, const int ldb, const float beta,
00555                   void *C, const int ldc);
00556 
00557 void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
00558                  const enum CBLAS_UPLO Uplo, const int M, const int N,
00559                  const void *alpha, const void *A, const int lda,
00560                  const void *B, const int ldb, const void *beta,
00561                  void *C, const int ldc);
00562 void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00563                  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00564                  const double alpha, const void *A, const int lda,
00565                  const double beta, void *C, const int ldc);
00566 void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
00567                   const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
00568                   const void *alpha, const void *A, const int lda,
00569                   const void *B, const int ldb, const double beta,
00570                   void *C, const int ldc);
00571 
00572 void cblas_xerbla(int p, const char *rout, const char *form, ...);
00573 
00574 #ifdef __cplusplus
00575 }
00576 #endif 
00577 
00578 #endif

Generated on Fri Feb 18 08:49:34 2005 for Matrix by  doxygen 1.4.1