20#ifndef OPM_BLAS_LAPACK_HEADER_INCLUDED
21#define OPM_BLAS_LAPACK_HEADER_INCLUDED
23#if ! __has_include(<FCMacros.h>)
24#error "Need FCMacros.h to be generated through FortranCInterface"
33#if defined(MATLAB_MEX_FILE) && MATLAB_MEX_FILE
36#define MAT_SIZE_T mwSignedIndex
45void FC_GLOBAL(dgemm,DGEMM)(
const char *transA ,
const char *transB ,
46 const MAT_SIZE_T* m,
const MAT_SIZE_T* n ,
const MAT_SIZE_T* k ,
47 const double* a1,
const double* A ,
const MAT_SIZE_T* ldA,
48 const double* B,
const MAT_SIZE_T* ldB,
49 const double* a2,
double* C ,
const MAT_SIZE_T* ldC);
53void FC_GLOBAL(dsyrk,DSYRK)(
const char *uplo,
const char *trans,
54 const MAT_SIZE_T *n ,
const MAT_SIZE_T *k ,
55 const double *a1 ,
const double *A ,
const MAT_SIZE_T *ldA,
56 const double *a2 ,
double *C ,
const MAT_SIZE_T *ldC);
59void FC_GLOBAL(dgeqrf,DGERF)(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
60 double *A ,
const MAT_SIZE_T *ld ,
61 double *tau ,
double *work,
62 const MAT_SIZE_T *lwork, MAT_SIZE_T *info);
65void FC_GLOBAL(dorgqr,DORGQR)(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
const MAT_SIZE_T *k ,
66 double *A ,
const MAT_SIZE_T *ld ,
const double *tau,
67 double *work,
const MAT_SIZE_T *lwork, MAT_SIZE_T *info);
70void FC_GLOBAL(dgetrf,DGETRF)(
const MAT_SIZE_T *m ,
const MAT_SIZE_T *n ,
71 double *A ,
const MAT_SIZE_T *ld,
72 MAT_SIZE_T *ipiv, MAT_SIZE_T *info);
75void FC_GLOBAL(dgetrs,DGETRS)(
const char *trans,
const MAT_SIZE_T *n,
76 const MAT_SIZE_T *nrhs ,
77 const double *A ,
const MAT_SIZE_T *lda,
78 const MAT_SIZE_T *ipiv ,
double *B,
79 const MAT_SIZE_T *ldb , MAT_SIZE_T *info);
82void FC_GLOBAL(dgtsv,DGTSV)(
const MAT_SIZE_T *n ,
83 const MAT_SIZE_T *nrhs ,
88 const MAT_SIZE_T *ldb ,
92void FC_GLOBAL(dgbsv,DGBSV)(
const MAT_SIZE_T *n ,
93 const MAT_SIZE_T *kl ,
94 const MAT_SIZE_T *ku ,
95 const MAT_SIZE_T *nrhs ,
97 const MAT_SIZE_T *ldab ,
100 const MAT_SIZE_T *ldb ,
104void FC_GLOBAL(dgesv,DGESV)(
const MAT_SIZE_T *n,
105 const MAT_SIZE_T *nrhs ,
107 const MAT_SIZE_T *lda ,
110 const MAT_SIZE_T *ldb ,
114void FC_GLOBAL(dpotrf,DPOTRF)(
const char *uplo,
const MAT_SIZE_T *n,
115 double *A ,
const MAT_SIZE_T *lda,
119void FC_GLOBAL(dpotrs,DPOTRS)(
const char *uplo,
const MAT_SIZE_T *n ,
const MAT_SIZE_T *nrhs,
120 double *A ,
const MAT_SIZE_T *lda,
121 double *B ,
const MAT_SIZE_T *ldb, MAT_SIZE_T *info);
124void FC_GLOBAL(dpptrf,DPOTRF)(
const char *uplo,
const MAT_SIZE_T *n,
125 double *Ap , MAT_SIZE_T *info);
128void FC_GLOBAL(dpptri,DPPTRI)(
const char *uplo,
const MAT_SIZE_T *n,
129 double *Ap , MAT_SIZE_T *info);
132void FC_GLOBAL(dgemv,DGEMV)(
const char *trans,
133 const MAT_SIZE_T *m ,
const MAT_SIZE_T *n,
134 const double *a1 ,
const double *A,
const MAT_SIZE_T *ldA ,
135 const double *x,
const MAT_SIZE_T *incX,
136 const double *a2 ,
double *y,
const MAT_SIZE_T *incY);
140void FC_GLOBAL(daxpy,DAXPY)(
const MAT_SIZE_T *n,
const double *a,
141 const double *x,
const MAT_SIZE_T *incx,
142 double *y,
const MAT_SIZE_T *incy);
145double FC_GLOBAL(ddot,DDOT)(
const MAT_SIZE_T *n,
const double *x,
const MAT_SIZE_T *incx,
146 const double *y,
const MAT_SIZE_T *incy);