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


swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:55:15