44 #ifndef EPETRA_BLAS_WRAPPERS_H
45 #define EPETRA_BLAS_WRAPPERS_H
47 #if defined(Epetra_SHOW_DEPRECATED_WARNINGS)
49 #warning "The Epetra package is deprecated"
62 #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
69 #define Epetra_fcd fcd
71 #define DASUM_F77 SASUM
72 #define DAXPY_F77 SAXPY
73 #define DCOPY_F77 SCOPY
75 #define DNRM2_F77 SNRM2
76 #define DSCAL_F77 SSCAL
77 #define IDAMAX_F77 ISAMAX
78 #define DGEMV_F77 SGEMV
80 #define DTRMV_F77 STRMV
81 #define DGEMM_F77 SGEMM
82 #define DSYMM_F77 SSYMM
83 #define DTRMM_F77 STRMM
84 #define DTRSM_F77 STRSM
85 #define DSYRK_F77 SSYRK
86 #define EPETRA_DCRSMV_F77 EPETRA_DCRSMV
87 #define EPETRA_DCRSMM_F77 EPETRA_DCRSMM
88 #define EPETRA_DCRSSV_F77 EPETRA_DCRSSV
89 #define EPETRA_DCRSSM_F77 EPETRA_DCRSSM
91 #elif defined(INTEL_CXML)
93 #define PREFIX __stdcall
94 #define Epetra_fcd const char *, const unsigned int
96 #elif defined(INTEL_MKL)
99 #define Epetra_fcd const char *
107 #ifdef F77_BLAS_MANGLE
108 #undef F77_BLAS_MANGLE
119 #define F77_BLAS_MANGLE(lcase,UCASE) UCASE
120 #define F77_FUNC(lcase,UCASE) UCASE
121 #define F77_FUNC_(lcase,UCASE) UCASE
126 #define Epetra_fcd const char *
131 #ifdef TRILINOS_NO_CONFIG_H
133 #ifdef F77_BLAS_MANGLE
134 #undef F77_BLAS_MANGLE
143 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
144 #define F77_BLAS_MANGLE(lcase,UCASE) lcase
145 #define F77_FUNC(lcase,UCASE) lcase
146 #define F77_FUNC_(lcase,UCASE) lcase
148 #define F77_BLAS_MANGLE(lcase,UCASE) lcase ## _
149 #define F77_FUNC(lcase,UCASE) lcase ## _
150 #define F77_FUNC_(lcase,UCASE) lcase ## __
159 #define DASUM_F77 F77_BLAS_MANGLE(dasum,DASUM)
160 #define DAXPY_F77 F77_BLAS_MANGLE(daxpy,DAXPY)
161 #define DCOPY_F77 F77_BLAS_MANGLE(dcopy,DCOPY)
162 #define DDOT_F77 F77_BLAS_MANGLE(ddot,DDOT)
163 #define DNRM2_F77 F77_BLAS_MANGLE(dnrm2,DNRM2)
164 #define DSCAL_F77 F77_BLAS_MANGLE(dscal,DSCAL)
165 #define IDAMAX_F77 F77_BLAS_MANGLE(idamax,IDAMAX)
166 #define DGEMV_F77 F77_BLAS_MANGLE(dgemv,DGEMV)
167 #define DGER_F77 F77_BLAS_MANGLE(dger,DGER)
168 #define DTRMV_F77 F77_BLAS_MANGLE(dtrmv,DTRMV)
169 #define DGEMM_F77 F77_BLAS_MANGLE(dgemm,DGEMM)
170 #define DSYMM_F77 F77_BLAS_MANGLE(dsymm,DSYMM)
171 #define DTRMM_F77 F77_BLAS_MANGLE(dtrmm,DTRMM)
172 #define DTRSM_F77 F77_BLAS_MANGLE(dtrsm,DTRSM)
173 #define DSYRK_F77 F77_BLAS_MANGLE(dsyrk,DSYRK)
175 #ifndef FORTRAN_DISABLED
177 #if ( defined(__GNUC__) || defined(_WIN32) ) && ! defined(FORTRAN_NO_UNDERSCORE)
180 #define EPETRA_DCRSMV_F77 F77_FUNC_(epetra_dcrsmv,EPETRA_DCRSMV)
181 #define EPETRA_DCRSMM_F77 F77_FUNC_(epetra_dcrsmm,EPETRA_DCRSMM)
182 #define EPETRA_DCRSSV_F77 F77_FUNC_(epetra_dcrssv,EPETRA_DCRSSV)
183 #define EPETRA_DCRSSM_F77 F77_FUNC_(epetra_dcrssm,EPETRA_DCRSSM)
187 #define EPETRA_DCRSMV_F77 F77_FUNC(epetra_dcrsmv,EPETRA_DCRSMV)
188 #define EPETRA_DCRSMM_F77 F77_FUNC(epetra_dcrsmm,EPETRA_DCRSMM)
189 #define EPETRA_DCRSSV_F77 F77_FUNC(epetra_dcrssv,EPETRA_DCRSSV)
190 #define EPETRA_DCRSSM_F77 F77_FUNC(epetra_dcrssm,EPETRA_DCRSSM)
202 #define SSCAL_F77 F77_BLAS_MANGLE(sscal,SSCAL)
203 #define SCOPY_F77 F77_BLAS_MANGLE(scopy,SCOPY)
204 #define SAXPY_F77 F77_BLAS_MANGLE(saxpy,SAXPY)
205 #define SDOT_F77 F77_BLAS_MANGLE(sdot,SDOT)
206 #define SNRM2_F77 F77_BLAS_MANGLE(snrm2,SNRM2)
207 #define SASUM_F77 F77_BLAS_MANGLE(sasum,SASUM)
208 #define ISAMAX_F77 F77_BLAS_MANGLE(isamax,ISAMAX)
210 #define SGEMV_F77 F77_BLAS_MANGLE(sgemv,SGEMV)
211 #define SGER_F77 F77_BLAS_MANGLE(sger,SGER)
212 #define STRMV_F77 F77_BLAS_MANGLE(strmv,STRMV)
213 #define SGEMM_F77 F77_BLAS_MANGLE(sgemm,SGEMM)
214 #define SSYMM_F77 F77_BLAS_MANGLE(ssymm,SSYMM)
215 #define STRMM_F77 F77_BLAS_MANGLE(strmm,STRMM)
216 #define STRSM_F77 F77_BLAS_MANGLE(strsm,STRSM)
217 #define SSYRK_F77 F77_BLAS_MANGLE(ssyrk,SSYRK)
227 void PREFIX DAXPY_F77(
const int* n,
const double* alpha,
const double x[],
const int* incx,
double y[],
const int* incy);
228 void PREFIX DCOPY_F77(
const int* n,
const double *x,
const int* incx,
double *y,
const int* incy);
229 double PREFIX DDOT_F77(
const int* n,
const double x[],
const int* incx,
const double y[],
const int* incy);
230 double PREFIX DNRM2_F77(
const int* n,
const double x[],
const int* incx);
231 void PREFIX DSCAL_F77(
const int* n,
const double* alpha,
double *x,
const int* incx);
235 float PREFIX SASUM_F77(
const int* n,
const float x[],
const int* incx);
236 void PREFIX SAXPY_F77(
const int* n,
const float* alpha,
const float x[],
const int* incx,
float y[],
const int* incy);
237 void PREFIX SCOPY_F77(
const int* n,
const float *x,
const int* incx,
float *y,
const int* incy);
238 float PREFIX SDOT_F77(
const int* n,
const float x[],
const int* incx,
const float y[],
const int* incy);
239 float PREFIX SNRM2_F77(
const int* n,
const float x[],
const int* incx);
240 void PREFIX SSCAL_F77(
const int* n,
const float* alpha,
float *x,
const int* incx);
245 const double x[],
const int* incx,
const double* beta,
double y[],
const int* incy);
247 const double *a,
const int *lda,
double *x,
const int *incx);
248 void PREFIX DGER_F77(
const int *m,
const int *n,
const double *alpha,
const double *x,
const int *incx,
const double *y,
249 const int *incy,
double *a,
const int *lda);
254 const float x[],
const int* incx,
const float* beta,
float y[],
const int* incy);
256 const float *a,
const int *lda,
float *x,
const int *incx);
257 void PREFIX SGER_F77(
const int *m,
const int *n,
const float *alpha,
const float *x,
const int *incx,
const float *y,
258 const int *incy,
float *a,
const int *lda);
262 n,
const int *k,
const double *alpha,
const double *a,
const int *lda,
263 const double *b,
const int *ldb,
const double *beta,
double *c,
const int *ldc);
265 const double *alpha,
const double *a,
const int *lda,
266 const double *b,
const int *ldb,
const double *beta,
double *c,
const int *ldc);
268 const int *m,
const int *n,
const double *alpha,
const double *a,
const int * lda,
double *b,
const int *ldb);
270 const int *m,
const int *n,
const double *alpha,
const double *a,
const int *
271 lda,
double *b,
const int *ldb);
273 const int *,
double *,
double *);
275 const int *,
double *,
int *,
double *,
int *,
int *);
277 const int *,
const double *,
const int *,
const int *,
double *,
278 double *,
const int *);
280 const int *,
const double *,
const int *,
const int *,
double *,
281 const int *,
double *,
const int *,
const int *,
const int *);
283 const double *alpha,
const double *a,
const int *lda,
const double *beta,
284 double *c,
const int *ldc);
288 n,
const int *k,
const float *alpha,
const float *a,
const int *lda,
289 const float *b,
const int *ldb,
const float *beta,
float *c,
const int *ldc);
291 const float *alpha,
const float *a,
const int *lda,
292 const float *b,
const int *ldb,
const float *beta,
float *c,
const int *ldc);
294 const int *m,
const int *n,
const float *alpha,
const float *a,
const int * lda,
float *b,
const int *ldb);
296 const int *m,
const int *n,
const float *alpha,
const float *a,
const int *
297 lda,
float *b,
const int *ldb);
302 const float *alpha,
const float *a,
const int *lda,
const float *beta,
303 float *c,
const int *ldc);
void PREFIX EPETRA_DCRSSM_F77(const int *, const int *, const int *, const int *, const int *, const int *, const double *, const int *, const int *, double *, const int *, double *, const int *, const int *, const int *)
void PREFIX EPETRA_DCRSSV_F77(const int *, const int *, const int *, const int *, const int *, const int *, const double *, const int *, const int *, double *, double *, const int *)
void PREFIX EPETRA_DCRSMM_F77(const int *, const int *, const int *, const double *, const int *, const int *, double *, int *, double *, int *, int *)
void PREFIX EPETRA_DCRSMV_F77(const int *, const int *, const int *, const double *, const int *, const int *, double *, double *)
void PREFIX XERBLA_F77(Epetra_fcd, int *info)