blas.h 6.51 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#ifndef EIGEN_MISC_BLAS_H
#define EIGEN_MISC_BLAS_H

extern "C" {

#define BLASFUNC(FUNC) FUNC##_

/* Level 1 routines */

void BLASFUNC(saxpy)(const int *, const float *, const float *, const int *, float *, const int *);
void BLASFUNC(daxpy)(const int *, const double *, const double *, const int *, double *, const int *);
void BLASFUNC(caxpy)(const int *, const float *, const float *, const int *, float *, const int *);
void BLASFUNC(zaxpy)(const int *, const double *, const double *, const int *, double *, const int *);

/* Level 2 routines */

void BLASFUNC(sgemv)(const char *, const int *, const int *, const float *, const float *, const int *, const float *,
                     const int *, const float *, float *, const int *);
void BLASFUNC(dgemv)(const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, const int *, const double *, double *, const int *);
void BLASFUNC(cgemv)(const char *, const int *, const int *, const float *, const float *, const int *, const float *,
                     const int *, const float *, float *, const int *);
void BLASFUNC(zgemv)(const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, const int *, const double *, double *, const int *);

void BLASFUNC(strmv)(const char *, const char *, const char *, const int *, const float *, const int *, float *,
                     const int *);
void BLASFUNC(dtrmv)(const char *, const char *, const char *, const int *, const double *, const int *, double *,
                     const int *);
void BLASFUNC(ctrmv)(const char *, const char *, const char *, const int *, const float *, const int *, float *,
                     const int *);
void BLASFUNC(ztrmv)(const char *, const char *, const char *, const int *, const double *, const int *, double *,
                     const int *);

void BLASFUNC(ssymv)(const char *, const int *, const float *, const float *, const int *, const float *, const int *,
                     const float *, float *, const int *);
void BLASFUNC(dsymv)(const char *, const int *, const double *, const double *, const int *, const double *,
                     const int *, const double *, double *, const int *);

void BLASFUNC(chemv)(const char *, const int *, const float *, const float *, const int *, const float *, const int *,
                     const float *, float *, const int *);
void BLASFUNC(zhemv)(const char *, const int *, const double *, const double *, const int *, const double *,
                     const int *, const double *, double *, const int *);

/* Level 3 routines */

void BLASFUNC(sgemm)(const char *, const char *, const int *, const int *, const int *, const float *, const float *,
                     const int *, const float *, const int *, const float *, float *, const int *);
void BLASFUNC(dgemm)(const char *, const char *, const int *, const int *, const int *, const double *, const double *,
                     const int *, const double *, const int *, const double *, double *, const int *);
void BLASFUNC(cgemm)(const char *, const char *, const int *, const int *, const int *, const float *, const float *,
                     const int *, const float *, const int *, const float *, float *, const int *);
void BLASFUNC(zgemm)(const char *, const char *, const int *, const int *, const int *, const double *, const double *,
                     const int *, const double *, const int *, const double *, double *, const int *);

void BLASFUNC(strsm)(const char *, const char *, const char *, const char *, const int *, const int *, const float *,
                     const float *, const int *, float *, const int *);
void BLASFUNC(dtrsm)(const char *, const char *, const char *, const char *, const int *, const int *, const double *,
                     const double *, const int *, double *, const int *);
void BLASFUNC(ctrsm)(const char *, const char *, const char *, const char *, const int *, const int *, const float *,
                     const float *, const int *, float *, const int *);
void BLASFUNC(ztrsm)(const char *, const char *, const char *, const char *, const int *, const int *, const double *,
                     const double *, const int *, double *, const int *);

void BLASFUNC(strmm)(const char *, const char *, const char *, const char *, const int *, const int *, const float *,
                     const float *, const int *, float *, const int *);
void BLASFUNC(dtrmm)(const char *, const char *, const char *, const char *, const int *, const int *, const double *,
                     const double *, const int *, double *, const int *);
void BLASFUNC(ctrmm)(const char *, const char *, const char *, const char *, const int *, const int *, const float *,
                     const float *, const int *, float *, const int *);
void BLASFUNC(ztrmm)(const char *, const char *, const char *, const char *, const int *, const int *, const double *,
                     const double *, const int *, double *, const int *);

void BLASFUNC(ssymm)(const char *, const char *, const int *, const int *, const float *, const float *, const int *,
                     const float *, const int *, const float *, float *, const int *);
void BLASFUNC(dsymm)(const char *, const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, const int *, const double *, double *, const int *);

void BLASFUNC(ssyrk)(const char *, const char *, const int *, const int *, const float *, const float *, const int *,
                     const float *, float *, const int *);
void BLASFUNC(dsyrk)(const char *, const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, double *, const int *);

void BLASFUNC(chemm)(const char *, const char *, const int *, const int *, const float *, const float *, const int *,
                     const float *, const int *, const float *, float *, const int *);
void BLASFUNC(zhemm)(const char *, const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, const int *, const double *, double *, const int *);

void BLASFUNC(cherk)(const char *, const char *, const int *, const int *, const float *, const float *, const int *,
                     const float *, float *, const int *);
void BLASFUNC(zherk)(const char *, const char *, const int *, const int *, const double *, const double *, const int *,
                     const double *, double *, const int *);

#undef BLASFUNC
}

#endif