MPQC
3.0.0-alpha
blas.h
1
#ifndef MPQC_BLAS_H
2
#define MPQC_BLAS_H
3
4
#include <math/scmat/f77sym.h>
5
#include <mpqc_config.h>
6
#include <stdint.h>
7
8
#if defined(F77_INTEGER_WIDTH) && F77_INTEGER_WIDTH == 8
9
typedef
int64_t f77_integer_t;
10
#elif defined(F77_INTEGER_WIDTH) && F77_INTEGER_WIDTH == 4
11
typedef
int32_t f77_integer_t;
12
#else
13
# error "unknown F77_INTEGER_WIDTH"
14
#endif
15
16
typedef
f77_integer_t blasint;
17
18
#ifdef __cplusplus
19
extern
"C"
{
20
#endif // __cplusplus
21
38
extern
void
F77_DGEMM(
const
char
* transa,
const
char
* transb,
const
blasint* nrows_opA,
39
const
blasint* ncols_opB,
const
blasint* nrows_opB,
40
const
double
* alpha,
const
double
* A,
const
blasint* lda,
41
const
double
* B,
const
blasint* ldb,
42
const
double
* beta,
43
double
* C,
const
blasint* ldc);
44
45
extern
void
F77_DGEMV(
const
char
* trans,
const
blasint* m,
const
blasint* n,
const
double
* alpha,
46
const
double
* A,
const
blasint* lda,
const
double
* X,
const
blasint* incX,
47
const
double
* beta,
double
* Y,
const
blasint* incY);
48
49
extern
void
F77_DAXPY(
const
blasint* n,
const
double
* da,
const
double
* dx,
50
const
blasint* incx,
double
* dy,
const
blasint* incy);
51
52
extern
double
F77_DDOT(
const
blasint* n,
const
double
* dx,
const
blasint* incx,
53
const
double
* dy,
const
blasint* incy);
54
55
extern
void
F77_DCOPY(
const
blasint *n,
const
double
*dx,
const
blasint *incx,
double
*dy,
const
blasint *incy);
56
extern
double
F77_DNRM2(
const
blasint *n,
const
double
*dx,
const
blasint *incx);
57
extern
void
F77_DSCAL(
const
blasint *n,
const
double
*da,
double
*dx,
const
blasint *incx);
58
59
extern
void
F77_DSPMV(
const
char
* uplo,
const
blasint* n,
const
double
* alpha,
60
const
double
* A,
const
double
* X,
const
blasint* incx,
61
const
double
* beta,
double
* Y,
62
const
blasint* incy);
63
64
#ifdef __cplusplus
65
}
66
#endif // __cplusplus
67
68
#ifdef __cplusplus
69
namespace
sc
{
70
71
//
72
// taken from psi3/src/lib/libqt/blas_intfc.c
73
//
74
145
void
C_DGEMM(
char
transa,
char
transb,
int
m,
int
n,
int
k,
double
alpha,
146
const
double
*A,
int
nca,
const
double
*B,
int
ncb,
double
beta,
147
double
*C,
int
ncc);
148
149
}
150
#endif // __cplusplus
151
152
#endif // MPQC_BLAS_H
sc
Contains all MPQC code up to version 3.
Definition:
mpqcin.h:14
Generated at Sun Jan 26 2020 23:24:00 for
MPQC
3.0.0-alpha using the documentation package
Doxygen
1.8.16.