#ifndef JAGS_LAPACK_H_
#define JAGS_LAPACK_H_
#define F77_DGEEV F77_FUNC(dgeev,DGEEV)
#define F77_DSYEV F77_FUNC(dsyev,DSYEV)
#define F77_DGESV F77_FUNC(dgesv,DGESV)
#define F77_DSYSV F77_FUNC(dsysv,DSYSV)
#define F77_DPOSV F77_FUNC(dposv,DPOSV)
/* #define F77_DGEQP3 F77_FUNC(dgeqp3,DGEQP3) */
#define F77_DPOTRF F77_FUNC(dpotrf,DPOTRF)
#define F77_DLANGE F77_FUNC(dlange,DLANGE)
#define F77_DGEMM F77_FUNC(dgemm,DGEMM)
#define F77_DCOPY F77_FUNC(dcopy,DCOPY)
#define F77_DSCAL F77_FUNC(dscal,DSCAL)
extern "C" {
void F77_DGEEV (const char* jobvl, const char* jobvr,
const int* n, double* a, const int* lda,
double* wr, double* wi, double* vl, const int* ldvl,
double* vr, const int* ldvr,
double* work, const int* lwork, int* info);
void F77_DSYEV (const char* jobz, const char* uplo,
const int* n, double* a, const int* lda,
double* w,
double* work, const int* lwork, int* info);
void F77_DGESV (const int* n, const int* nrhs, double* a,
const int* lda, int* ipiv, double* b, const int* ldb,
int* info);
void F77_DSYSV (const char *uplo, const int *n, const int *nrhs,
double *a, const int *lda, int *ipiv, double *b,
const int *ldb, double *work, const int *lwork,
int *info);
void F77_DPOSV (const char* uplo, const int *n, const int *nrhs,
double* a, const int *lda, double* b, const int* ldb,
int* info);
/*
void F77_DGEQP3 (const int* m, const int* n, double* a,
const int *lda, int *jpvt, double *tau,
double *work, const int *lwork, int *info);
void F77_DGEQRF (const int *m, const *int n, double *a,
const int *lda, double *tau, double *work,
const int *lwork);
*/
void F77_DPOTRF (const char *uplo, const int *n, double *a,
const int *lda, const int *info);
double F77_DLANGE (const char *norm, const int *m, const int *n,
const double *a, const int *lda, double *work);
/* BLAS routines */
void F77_DGEMM (const char* transa, const char* transb, const int* m,
const int* n , const int* k, const double* alpha,
const double* A, const int* lda,
const double* B, const int* ldb,
const double* beta, double* C, const int* ldc);
void F77_DCOPY (const int* n, double const *X, const int* incx, double *Y,
const int *incy);
void F77_DSCAL (const int* n, double const *alpha, double *X,
const int *incx);
}
#endif
syntax highlighted by Code2HTML, v. 0.9.1