00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef _TEUCHOS_BLAS_WRAPPERS_HPP_
00033 #define _TEUCHOS_BLAS_WRAPPERS_HPP_
00034
00035 #include "Teuchos_ConfigDefs.hpp"
00036
00041
00042
00043 #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
00044
00045
00046 #if defined(CRAY_T3X)
00047
00048 #include <fortran.h>
00049 #define PREFIX
00050 #define Teuchos_fcd fcd
00051
00052 #define DROTG_F77 F77_FUNC(srotg,SROTG)
00053 #define DASUM_F77 F77_FUNC(sasum,SASUM)
00054 #define DAXPY_F77 F77_FUNC(saxpy,SAXPY)
00055 #define DCOPY_F77 F77_FUNC(scopy,SCOPY)
00056 #define DDOT_F77 F77_FUNC(sdot,SDOT)
00057 #define DNRM2_F77 F77_FUNC(snrm2,SNRM2)
00058 #define DSCAL_F77 F77_FUNC(sscal,SSCAL)
00059 #define IDAMAX_F77 F77_FUNC(isamax,ISAMAX)
00060 #define DGEMV_F77 F77_FUNC(sgemv,SGEMV)
00061 #define DGER_F77 F77_FUNC(sger,SGER)
00062 #define DTRMV_F77 F77_FUNC(strmv,STRMV)
00063 #define DGEMM_F77 F77_FUNC(sgemm,SGEMM)
00064 #define DSYMM_F77 F77_FUNC(ssymm,SSYMM)
00065 #define DTRMM_F77 F77_FUNC(strmm,STRMM)
00066 #define DTRSM_F77 F77_FUNC(strsm,STRSM)
00067
00068 #ifdef HAVE_TEUCHOS_COMPLEX
00069
00070 #define ZROTG_F77 F77_FUNC(crotg,CROTG)
00071 #define ZASUM_F77 F77_FUNC(scasum,SCASUM)
00072 #define ZAXPY_F77 F77_FUNC(caxpy,CAXPY)
00073 #define ZCOPY_F77 F77_FUNC(ccopy,CCOPY)
00074 #define ZDOT_F77 F77_FUNC(cdotc,CDOTC)
00075 #define ZNRM2_F77 F77_FUNC(scnrm2,SCNRM2)
00076 #define ZSCAL_F77 F77_FUNC(cscal,CSCAL)
00077 #define IZAMAX_F77 F77_FUNC(icamax,ICAMAX)
00078 #define ZGEMV_F77 F77_FUNC(cgemv,CGEMV)
00079 #define ZGER_F77 F77_FUNC(cgerc,CGERC)
00080 #define ZTRMV_F77 F77_FUNC(ctrmv,CTRMV)
00081 #define ZGEMM_F77 F77_FUNC(cgemm,CGEMM)
00082 #define ZSYMM_F77 F77_FUNC(csymm,CSYMM)
00083 #define ZTRMM_F77 F77_FUNC(ctrmm,CTRMM)
00084 #define ZTRSM_F77 F77_FUNC(ctrsm,CTRSM)
00085
00086 #endif
00087
00088 #elif defined(INTEL_CXML)
00089
00090 #define PREFIX __stdcall
00091 #define Teuchos_fcd const char *, unsigned int
00092
00093 #define DROTG_F77 F77_FUNC(drotg,DROTG)
00094 #define DASUM_F77 F77_FUNC(dasum,DASUM)
00095 #define DAXPY_F77 F77_FUNC(daxpy,DAXPY)
00096 #define DCOPY_F77 F77_FUNC(dcopy,DCOPY)
00097 #define DDOT_F77 F77_FUNC(ddot,DDOT)
00098 #define DNRM2_F77 F77_FUNC(dnrm2,DNRM2)
00099 #define DSCAL_F77 F77_FUNC(dscal,DSCAL)
00100 #define IDAMAX_F77 F77_FUNC(idamax,IDAMAX)
00101 #define DGEMV_F77 F77_FUNC(dgemv,DGEMV)
00102 #define DGER_F77 F77_FUNC(dger,DGER)
00103 #define DTRMV_F77 F77_FUNC(dtrmv,DTRMV)
00104 #define DGEMM_F77 F77_FUNC(dgemm,DGEMM)
00105 #define DSYMM_F77 F77_FUNC(dsymm,DSYMM)
00106 #define DTRMM_F77 F77_FUNC(dtrmm,DTRMM)
00107 #define DTRSM_F77 F77_FUNC(dtrsm,DTRSM)
00108
00109 #ifdef HAVE_TEUCHOS_COMPLEX
00110
00111 #define ZROTG_F77 F77_FUNC(zrotg,ZROTG)
00112 #define ZASUM_F77 F77_FUNC(dzasum,DZASUM)
00113 #define ZAXPY_F77 F77_FUNC(zaxpy,ZAXPY)
00114 #define ZCOPY_F77 F77_FUNC(zcopy,ZCOPY)
00115 #define ZDOT_F77 F77_FUNC(zdotc,ZDOTC)
00116 #define ZNRM2_F77 F77_FUNC(dznrm2,DZNRM2)
00117 #define ZSCAL_F77 F77_FUNC(zscal,ZSCAL)
00118 #define IZAMAX_F77 F77_FUNC(izamax,IZAMAX)
00119 #define ZGEMV_F77 F77_FUNC(zgemv,ZGEMV)
00120 #define ZGER_F77 F77_FUNC(zgerc,ZGERC)
00121 #define ZTRMV_F77 F77_FUNC(ztrmv,ZTRMV)
00122 #define ZGEMM_F77 F77_FUNC(zgemm,ZGEMM)
00123 #define ZSYMM_F77 F77_FUNC(zsymm,ZSYMM)
00124 #define ZTRMM_F77 F77_FUNC(ztrmm,ZTRMM)
00125 #define ZTRSM_F77 F77_FUNC(ztrsm,ZTRSM)
00126
00127 #endif
00128
00129 #elif defined(INTEL_MKL)
00130
00131 #define PREFIX
00132 #define Teuchos_fcd const char *
00133
00134 #define DROTG_F77 F77_FUNC(drotg,DROTG)
00135 #define DASUM_F77 F77_FUNC(dasum,DASUM)
00136 #define DAXPY_F77 F77_FUNC(daxpy,DAXPY)
00137 #define DCOPY_F77 F77_FUNC(dcopy,DCOPY)
00138 #define DDOT_F77 F77_FUNC(ddot,DDOT)
00139 #define DNRM2_F77 F77_FUNC(dnrm2,DNRM2)
00140 #define DSCAL_F77 F77_FUNC(dscal,DSCAL)
00141 #define IDAMAX_F77 F77_FUNC(idamax,IDAMAX)
00142 #define DGEMV_F77 F77_FUNC(dgemv,DGEMV)
00143 #define DGER_F77 F77_FUNC(dger,DGER)
00144 #define DTRMV_F77 F77_FUNC(dtrmv,DTRMV)
00145 #define DGEMM_F77 F77_FUNC(dgemm,DGEMM)
00146 #define DSYMM_F77 F77_FUNC(dsymm,DSYMM)
00147 #define DTRMM_F77 F77_FUNC(dtrmm,DTRMM)
00148 #define DTRSM_F77 F77_FUNC(dtrsm,DTRSM)
00149
00150 #ifdef HAVE_TEUCHOS_COMPLEX
00151
00152 #define ZROTG_F77 F77_FUNC(zrotg,ZROTG)
00153 #define ZASUM_F77 F77_FUNC(dzasum,DZASUM)
00154 #define ZAXPY_F77 F77_FUNC(zaxpy,ZAXPY)
00155 #define ZCOPY_F77 F77_FUNC(zcopy,ZCOPY)
00156 #define ZDOT_F77 F77_FUNC(zdotc,ZDOTC)
00157 #define ZNRM2_F77 F77_FUNC(dznrm2,DZNRM2)
00158 #define ZSCAL_F77 F77_FUNC(zscal,ZSCAL)
00159 #define IZAMAX_F77 F77_FUNC(izamax,IZAMAX)
00160 #define ZGEMV_F77 F77_FUNC(zgemv,ZGEMV)
00161 #define ZGER_F77 F77_FUNC(zgerc,ZGERC)
00162 #define ZTRMV_F77 F77_FUNC(ztrmv,ZTRMV)
00163 #define ZGEMM_F77 F77_FUNC(zgemm,ZGEMM)
00164 #define ZSYMM_F77 F77_FUNC(zsymm,ZSYMM)
00165 #define ZTRMM_F77 F77_FUNC(ztrmm,ZTRMM)
00166 #define ZTRSM_F77 F77_FUNC(ztrsm,ZTRSM)
00167
00168 #endif
00169
00170 #endif
00171
00172
00173
00174
00175
00176 #ifdef F77_FUNC
00177 #undef F77_FUNC
00178 #endif
00179
00180
00181 #define F77_FUNC(lcase,UCASE) PREFIX UCASE
00182
00183 #else
00184
00185 #define PREFIX
00186 #define Teuchos_fcd const char *
00187
00188
00189
00190 #ifndef HAVE_CONFIG_H
00191
00192 #ifdef F77_FUNC
00193 #undef F77_FUNC
00194 #endif
00195
00196 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
00197 #define F77_FUNC(lcase,UCASE) lcase
00198 #else
00199 #define F77_FUNC(lcase,UCASE) lcase ## _
00200 #endif
00201
00202 #endif
00203
00204 #define DROTG_F77 F77_FUNC(drotg,DROTG)
00205 #define DASUM_F77 F77_FUNC(dasum,DASUM)
00206 #define DAXPY_F77 F77_FUNC(daxpy,DAXPY)
00207 #define DCOPY_F77 F77_FUNC(dcopy,DCOPY)
00208 #define DDOT_F77 F77_FUNC(ddot,DDOT)
00209 #define DNRM2_F77 F77_FUNC(dnrm2,DNRM2)
00210 #define DSCAL_F77 F77_FUNC(dscal,DSCAL)
00211 #define IDAMAX_F77 F77_FUNC(idamax,IDAMAX)
00212 #define DGEMV_F77 F77_FUNC(dgemv,DGEMV)
00213 #define DGER_F77 F77_FUNC(dger,DGER)
00214 #define DTRMV_F77 F77_FUNC(dtrmv,DTRMV)
00215 #define DGEMM_F77 F77_FUNC(dgemm,DGEMM)
00216 #define DSYMM_F77 F77_FUNC(dsymm,DSYMM)
00217 #define DTRMM_F77 F77_FUNC(dtrmm,DTRMM)
00218 #define DTRSM_F77 F77_FUNC(dtrsm,DTRSM)
00219
00220 #ifdef HAVE_TEUCHOS_COMPLEX
00221
00222 #define ZROTG_F77 F77_FUNC(zrotg,ZROTG)
00223 #define ZASUM_F77 F77_FUNC(dzasum,DZASUM)
00224 #define ZAXPY_F77 F77_FUNC(zaxpy,ZAXPY)
00225 #define ZCOPY_F77 F77_FUNC(zcopy,ZCOPY)
00226 #define ZDOT_F77 F77_FUNC(zdotc,ZDOTC)
00227 #define ZNRM2_F77 F77_FUNC(dznrm2,DZNRM2)
00228 #define ZSCAL_F77 F77_FUNC(zscal,ZSCAL)
00229 #define IZAMAX_F77 F77_FUNC(izamax,IZAMAX)
00230 #define ZGEMV_F77 F77_FUNC(zgemv,ZGEMV)
00231 #define ZGER_F77 F77_FUNC(zgerc,ZGERC)
00232 #define ZTRMV_F77 F77_FUNC(ztrmv,ZTRMV)
00233 #define ZGEMM_F77 F77_FUNC(zgemm,ZGEMM)
00234 #define ZSYMM_F77 F77_FUNC(zsymm,ZSYMM)
00235 #define ZTRMM_F77 F77_FUNC(ztrmm,ZTRMM)
00236 #define ZTRSM_F77 F77_FUNC(ztrsm,ZTRSM)
00237
00238 #endif
00239
00240 #endif
00241
00242
00243
00244
00245 #define SROTG_F77 F77_FUNC(srotg,SROTG)
00246 #define SSCAL_F77 F77_FUNC(sscal,SSCAL)
00247 #define SCOPY_F77 F77_FUNC(scopy,SCOPY)
00248 #define SAXPY_F77 F77_FUNC(saxpy,SAXPY)
00249 #define SDOT_F77 F77_FUNC(sdot,SDOT)
00250 #define SNRM2_F77 F77_FUNC(snrm2,SNRM2)
00251 #define SASUM_F77 F77_FUNC(sasum,SASUM)
00252 #define ISAMAX_F77 F77_FUNC(isamax,ISAMAX)
00253
00254 #define SGEMV_F77 F77_FUNC(sgemv,SGEMV)
00255 #define SGER_F77 F77_FUNC(sger,SGER)
00256 #define STRMV_F77 F77_FUNC(strmv,STRMV)
00257 #define SGEMM_F77 F77_FUNC(sgemm,SGEMM)
00258 #define SSYMM_F77 F77_FUNC(ssymm,SSYMM)
00259 #define STRMM_F77 F77_FUNC(strmm,STRMM)
00260 #define STRSM_F77 F77_FUNC(strsm,STRSM)
00261
00262 #ifdef HAVE_TEUCHOS_COMPLEX
00263
00264 #define CROTG_F77 F77_FUNC(crotg,CROTG)
00265 #define CASUM_F77 F77_FUNC(scasum,SCASUM)
00266 #define CAXPY_F77 F77_FUNC(caxpy,CAXPY)
00267 #define CCOPY_F77 F77_FUNC(ccopy,CCOPY)
00268 #define CDOT_F77 F77_FUNC(cdotc,CDOTC)
00269 #define CNRM2_F77 F77_FUNC(scnrm2,SCNRM2)
00270 #define CSCAL_F77 F77_FUNC(cscal,CSCAL)
00271 #define ICAMAX_F77 F77_FUNC(icamax,ICAMAX)
00272 #define CGEMV_F77 F77_FUNC(cgemv,CGEMV)
00273 #define CGER_F77 F77_FUNC(cgerc,CGERC)
00274 #define CTRMV_F77 F77_FUNC(ctrmv,CTRMV)
00275 #define CGEMM_F77 F77_FUNC(cgemm,CGEMM)
00276 #define CSYMM_F77 F77_FUNC(csymm,CSYMM)
00277 #define CTRMM_F77 F77_FUNC(ctrmm,CTRMM)
00278 #define CTRSM_F77 F77_FUNC(ctrsm,CTRSM)
00279
00280 #endif
00281
00282 #ifdef __cplusplus
00283 extern "C" {
00284 #endif
00285
00286
00287
00288 void PREFIX DROTG_F77(double* da, double* db, double* c, double* s);
00289 double PREFIX DASUM_F77(const int* n, const double x[], const int* incx);
00290 void PREFIX DAXPY_F77(const int* n, const double* alpha, const double x[], const int* incx, double y[], const int* incy);
00291 void PREFIX DCOPY_F77(const int* n, const double *x, const int* incx, double *y, const int* incy);
00292 double PREFIX DDOT_F77(const int* n, const double x[], const int* incx, const double y[], const int* incy);
00293 double PREFIX DNRM2_F77(const int* n, const double x[], const int* incx);
00294 void PREFIX DSCAL_F77(const int* n, const double* alpha, double *x, const int* incx);
00295 int PREFIX IDAMAX_F77(const int* n, const double *x, const int* incx);
00296
00297
00298 #ifdef HAVE_TEUCHOS_COMPLEX
00299
00300 void PREFIX ZROTG_F77(complex<double>* da, complex<double>* db, double* c, complex<double>* s);
00301 double PREFIX ZASUM_F77(const int* n, const complex<double> x[], const int* incx);
00302 void PREFIX ZAXPY_F77(const int* n, const complex<double>* alpha, const complex<double> x[], const int* incx, complex<double> y[], const int* incy);
00303 void PREFIX ZCOPY_F77(const int* n, const complex<double> *x, const int* incx, complex<double> *y, const int* incy);
00304 complex<double> PREFIX ZDOT_F77(const int* n, const complex<double> x[], const int* incx, const complex<double> y[], const int* incy);
00305 double PREFIX ZNRM2_F77(const int* n, const complex<double> x[], const int* incx);
00306 void PREFIX ZSCAL_F77(const int* n, const complex<double>* alpha, complex<double> *x, const int* incx);
00307 int PREFIX IZAMAX_F77(const int* n, const complex<double> *x, const int* incx);
00308
00309 #endif
00310
00311
00312 void PREFIX SROTG_F77(float* da, float* db, float* c, float* s);
00313 float PREFIX SASUM_F77(const int* n, const float x[], const int* incx);
00314 void PREFIX SAXPY_F77(const int* n, const float* alpha, const float x[], const int* incx, float y[], const int* incy);
00315 void PREFIX SCOPY_F77(const int* n, const float *x, const int* incx, float *y, const int* incy);
00316 float PREFIX SDOT_F77(const int* n, const float x[], const int* incx, const float y[], const int* incy);
00317 float PREFIX SNRM2_F77(const int* n, const float x[], const int* incx);
00318 void PREFIX SSCAL_F77(const int* n, const float* alpha, float *x, const int* incx);
00319 int PREFIX ISAMAX_F77(const int* n, const float *x, const int* incx);
00320
00321
00322 #ifdef HAVE_TEUCHOS_COMPLEX
00323
00324 void PREFIX CROTG_F77(complex<float>* da, complex<float>* db, float* c, complex<float>* s);
00325 float PREFIX CASUM_F77(const int* n, const complex<float> x[], const int* incx);
00326 void PREFIX CAXPY_F77(const int* n, const complex<float>* alpha, const complex<float> x[], const int* incx, complex<float> y[], const int* incy);
00327 void PREFIX CCOPY_F77(const int* n, const complex<float> *x, const int* incx, complex<float> *y, const int* incy);
00328 complex<float> PREFIX CDOT_F77(const int* n, const complex<float> x[], const int* incx, const complex<float> y[], const int* incy);
00329 float PREFIX CNRM2_F77(const int* n, const complex<float> x[], const int* incx);
00330 void PREFIX CSCAL_F77(const int* n, const complex<float>* alpha, complex<float> *x, const int* incx);
00331 int PREFIX ICAMAX_F77(const int* n, const complex<float> *x, const int* incx);
00332
00333 #endif
00334
00335
00336 void PREFIX DGEMV_F77(Teuchos_fcd, const int* m, const int* n, const double* alpha, const double A[], const int* lda,
00337 const double x[], const int* incx, const double* beta, double y[], const int* incy);
00338 void PREFIX DTRMV_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n,
00339 const double *a, const int *lda, double *x, const int *incx);
00340 void PREFIX DGER_F77(const int *m, const int *n, const double *alpha, const double *x, const int *incx, const double *y,
00341 const int *incy, double *a, const int *lda);
00342
00343
00344 #ifdef HAVE_TEUCHOS_COMPLEX
00345
00346 void PREFIX ZGEMV_F77(Teuchos_fcd, const int* m, const int* n, const complex<double>* alpha, const complex<double> A[], const int* lda,
00347 const complex<double> x[], const int* incx, const complex<double>* beta, complex<double> y[], const int* incy);
00348 void PREFIX ZTRMV_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n,
00349 const complex<double> *a, const int *lda, complex<double> *x, const int *incx);
00350 void PREFIX ZGER_F77(const int *m, const int *n, const complex<double> *alpha, const complex<double> *x, const int *incx, const complex<double> *y,
00351 const int *incy, complex<double> *a, const int *lda);
00352
00353 #endif
00354
00355
00356 void PREFIX SGEMV_F77(Teuchos_fcd, const int* m, const int* n, const float* alpha, const float A[], const int* lda,
00357 const float x[], const int* incx, const float* beta, float y[], const int* incy);
00358 void PREFIX STRMV_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n,
00359 const float *a, const int *lda, float *x, const int *incx);
00360 void PREFIX SGER_F77(const int *m, const int *n, const float *alpha, const float *x, const int *incx, const float *y,
00361 const int *incy, float *a, const int *lda);
00362
00363
00364 #ifdef HAVE_TEUCHOS_COMPLEX
00365
00366 void PREFIX CGEMV_F77(Teuchos_fcd, const int* m, const int* n, const complex<float>* alpha, const complex<float> A[], const int* lda,
00367 const complex<float> x[], const int* incx, const complex<float>* beta, complex<float> y[], const int* incy);
00368 void PREFIX CTRMV_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n,
00369 const complex<float> *a, const int *lda, complex<float> *x, const int *incx);
00370 void PREFIX CGER_F77(const int *m, const int *n, const complex<float> *alpha, const complex<float> *x, const int *incx, const complex<float> *y,
00371 const int *incy, complex<float> *a, const int *lda);
00372
00373 #endif
00374
00375
00376 void PREFIX DGEMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *
00377 n, const int *k, const double *alpha, const double *a, const int *lda,
00378 const double *b, const int *ldb, const double *beta, double *c, const int *ldc);
00379 void PREFIX DSYMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int * n,
00380 const double *alpha, const double *a, const int *lda,
00381 const double *b, const int *ldb, const double *beta, double *c, const int *ldc);
00382 void PREFIX DTRMM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00383 const int *m, const int *n, const double *alpha, const double *a, const int * lda, double *b, const int *ldb);
00384 void PREFIX DTRSM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00385 const int *m, const int *n, const double *alpha, const double *a, const int *
00386 lda, double *b, const int *ldb);
00387
00388
00389 #ifdef HAVE_TEUCHOS_COMPLEX
00390
00391 void PREFIX ZGEMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *
00392 n, const int *k, const complex<double> *alpha, const complex<double> *a, const int *lda,
00393 const complex<double> *b, const int *ldb, const complex<double> *beta, complex<double> *c, const int *ldc);
00394 void PREFIX ZSYMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int * n,
00395 const complex<double> *alpha, const complex<double> *a, const int *lda,
00396 const complex<double> *b, const int *ldb, const complex<double> *beta, complex<double> *c, const int *ldc);
00397 void PREFIX ZTRMM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00398 const int *m, const int *n, const complex<double> *alpha, const complex<double> *a, const int * lda, complex<double> *b, const int *ldb);
00399 void PREFIX ZTRSM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00400 const int *m, const int *n, const complex<double> *alpha, const complex<double> *a, const int *
00401 lda, complex<double> *b, const int *ldb);
00402
00403 #endif
00404
00405
00406 void PREFIX SGEMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *
00407 n, const int *k, const float *alpha, const float *a, const int *lda,
00408 const float *b, const int *ldb, const float *beta, float *c, const int *ldc);
00409 void PREFIX SSYMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int * n,
00410 const float *alpha, const float *a, const int *lda,
00411 const float *b, const int *ldb, const float *beta, float *c, const int *ldc);
00412 void PREFIX STRMM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00413 const int *m, const int *n, const float *alpha, const float *a, const int * lda, float *b, const int *ldb);
00414 void PREFIX STRSM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00415 const int *m, const int *n, const float *alpha, const float *a, const int *
00416 lda, float *b, const int *ldb);
00417
00418
00419 #ifdef HAVE_TEUCHOS_COMPLEX
00420
00421 void PREFIX CGEMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *
00422 n, const int *k, const complex<float> *alpha, const complex<float> *a, const int *lda,
00423 const complex<float> *b, const int *ldb, const complex<float> *beta, complex<float> *c, const int *ldc);
00424 void PREFIX CSYMM_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int * n,
00425 const complex<float> *alpha, const complex<float> *a, const int *lda,
00426 const complex<float> *b, const int *ldb, const complex<float> *beta, complex<float> *c, const int *ldc);
00427 void PREFIX CTRMM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00428 const int *m, const int *n, const complex<float> *alpha, const complex<float> *a, const int * lda, complex<float> *b, const int *ldb);
00429 void PREFIX CTRSM_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd,
00430 const int *m, const int *n, const complex<float> *alpha, const complex<float> *a, const int *
00431 lda, complex<float> *b, const int *ldb);
00432
00433 #endif
00434
00435 #ifdef __cplusplus
00436 }
00437 #endif
00438
00439 #endif // end of TEUCHOS_BLAS_WRAPPERS_HPP_