cblas.h

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

Generated on Wed Nov 23 19:00:00 2011 for FreeCAD by  doxygen 1.6.1