fml
0.1-0
Fused Matrix Library
lapack_prototypes.h
1
// This file is part of fml which is released under the Boost Software
2
// License, Version 1.0. See accompanying file LICENSE or copy at
3
// https://www.boost.org/LICENSE_1_0.txt
4
5
#ifndef FML_CPU_INTERNALS_INTERNALS_LAPACK_PROTOTYPES_H
6
#define FML_CPU_INTERNALS_INTERNALS_LAPACK_PROTOTYPES_H
7
#pragma once
8
9
10
#ifndef restrict
11
#define restrict __restrict__
12
#endif
13
14
#ifdef __cplusplus
15
extern
"C"
{
16
#endif
17
18
19
extern
void
sgetrf_(
const
int
*
const
restrict m,
const
int
*
const
restrict n,
20
float
*
const
restrict a,
const
int
*
const
lda,
21
int
*
const
restrict ipiv,
int
*
const
restrict info);
22
23
extern
void
dgetrf_(
const
int
*
const
restrict m,
const
int
*
const
restrict n,
24
double
*
const
restrict a,
const
int
*
const
lda,
25
int
*
const
restrict ipiv,
int
*
const
restrict info);
26
27
28
29
extern
void
sgesdd_(
const
char
*
const
restrict jobz,
const
int
*
const
restrict m,
30
const
int
*
const
restrict n,
float
*
const
restrict a,
31
const
int
*
const
restrict lda,
float
*
const
restrict s,
32
float
*
const
restrict u,
const
int
*
const
restrict ldu,
33
float
*
const
restrict vt,
const
int
*
const
restrict ldvt,
34
float
*
const
restrict work,
const
int
*
const
restrict lwork,
35
int
*
const
restrict iwork,
int
*
const
restrict info);
36
37
extern
void
dgesdd_(
const
char
*
const
restrict jobz,
const
int
*
const
restrict m,
38
const
int
*
const
restrict n,
double
*
const
restrict a,
39
const
int
*
const
restrict lda,
double
*
const
restrict s,
40
double
*
const
restrict u,
const
int
*
const
restrict ldu,
41
double
*
const
restrict vt,
const
int
*
const
restrict ldvt,
42
double
*
const
restrict work,
const
int
*
const
restrict lwork,
43
int
*
const
restrict iwork,
int
*
const
restrict info);
44
45
46
47
extern
void
ssyevr_(
const
char
*restrict jobz,
const
char
*restrict range,
48
const
char
*restrict uplo,
const
int
*restrict n,
float
*restrict a,
49
const
int
*restrict lda,
const
float
*restrict vl,
const
float
*restrict vu,
50
const
int
*restrict il,
const
int
*restrict iu,
const
float
*restrict abstol,
51
const
int
*restrict m,
float
*w,
float
*z,
const
int
*restrict ldz,
52
int
*isuppz,
float
*work,
const
int
*lwork,
int
*iwork,
const
int
*liwork,
53
int
*info);
54
55
extern
void
dsyevr_(
const
char
*restrict jobz,
const
char
*restrict range,
56
const
char
*restrict uplo,
const
int
*restrict n,
double
*restrict a,
57
const
int
*restrict lda,
const
double
*restrict vl,
const
double
*restrict vu,
58
const
int
*restrict il,
const
int
*restrict iu,
const
double
*restrict abstol,
59
const
int
*restrict m,
double
*w,
double
*z,
const
int
*restrict ldz,
60
int
*isuppz,
double
*work,
const
int
*lwork,
int
*iwork,
const
int
*liwork,
61
int
*info);
62
63
64
65
extern
void
sgeev_(
const
char
*restrict jobvl,
const
char
*restrict jobvr,
66
const
int
*n,
float
*restrict a,
const
int
*lda,
float
*restrict wr,
67
float
*restrict wi,
float
*restrict vl,
const
int
*ldvl,
68
float
*restrict vr,
const
int
*ldvr,
float
*restrict work,
69
const
int
*restrict lwork,
int
*restrict info);
70
71
extern
void
dgeev_(
const
char
*restrict jobvl,
const
char
*restrict jobvr,
72
const
int
*n,
double
*restrict a,
const
int
*lda,
double
*restrict wr,
73
double
*restrict wi,
double
*restrict vl,
const
int
*ldvl,
74
double
*restrict vr,
const
int
*ldvr,
double
*restrict work,
75
const
int
*restrict lwork,
int
*restrict info);
76
77
78
79
extern
void
sgetri_(
const
int
*n,
float
*restrict a,
const
int
*lda,
80
int
*restrict ipiv,
float
*restrict work,
const
int
*restrict lwork,
81
int
*info);
82
83
extern
void
dgetri_(
const
int
*n,
double
*restrict a,
const
int
*lda,
84
int
*restrict ipiv,
double
*restrict work,
const
int
*restrict lwork,
85
int
*info);
86
87
88
89
extern
void
sgesv_(
const
int
*n,
const
int
*restrict nrhs,
float
*restrict a,
90
const
int
*lda,
int
*restrict ipiv,
float
*restrict b,
const
int
*ldb,
91
int
*restrict info);
92
93
extern
void
dgesv_(
const
int
*n,
const
int
*restrict nrhs,
double
*restrict a,
94
const
int
*lda,
int
*restrict ipiv,
double
*restrict b,
const
int
*ldb,
95
int
*restrict info);
96
97
98
99
extern
void
slacpy_(
const
char
*uplo,
const
int
*m,
const
int
*n,
100
const
float
*restrict a,
const
int
*lda,
float
*restrict b,
const
int
*ldb);
101
102
extern
void
dlacpy_(
const
char
*uplo,
const
int
*m,
const
int
*n,
103
const
double
*restrict a,
const
int
*lda,
double
*restrict b,
const
int
*ldb);
104
105
106
107
extern
void
sgeqp3_(
const
int
*
const
m,
const
int
*
const
n,
108
float
*
const
restrict A,
const
int
*
const
lda,
int
*
const
restrict jpvt,
109
float
*
const
restrict tau,
float
*
const
restrict work,
110
const
int
*
const
restrict lwork,
int
*
const
restrict info);
111
112
extern
void
dgeqp3_(
const
int
*
const
m,
const
int
*
const
n,
113
double
*
const
restrict A,
const
int
*
const
lda,
int
*
const
restrict jpvt,
114
double
*
const
restrict tau,
double
*
const
restrict work,
115
const
int
*
const
restrict lwork,
int
*
const
restrict info);
116
117
118
119
extern
void
sgeqrf_(
const
int
*
const
m,
const
int
*
const
n,
120
float
*
const
restrict A,
const
int
*
const
lda,
float
*
const
restrict tau,
121
float
*
const
restrict work,
const
int
*
const
restrict lwork,
122
int
*
const
restrict info);
123
124
extern
void
dgeqrf_(
const
int
*
const
m,
const
int
*
const
n,
125
double
*
const
restrict A,
const
int
*
const
lda,
double
*
const
restrict tau,
126
double
*
const
restrict work,
const
int
*
const
restrict lwork,
127
int
*
const
restrict info);
128
129
130
131
extern
void
sormqr_(
const
char
*side,
const
char
*trans,
const
int
*m,
132
const
int
*n,
const
int
*k,
const
float
*
const
restrict A,
const
int
*lda,
133
const
float
*
const
restrict tau,
float
*
const
restrict c,
const
int
*ldc,
134
float
*
const
restrict work,
const
int
*lwork,
int
*
const
restrict info);
135
136
extern
void
dormqr_(
const
char
*side,
const
char
*trans,
const
int
*m,
137
const
int
*n,
const
int
*k,
const
double
*
const
restrict A,
const
int
*lda,
138
const
double
*
const
restrict tau,
double
*
const
restrict c,
const
int
*ldc,
139
double
*
const
restrict work,
const
int
*lwork,
int
*
const
restrict info);
140
141
142
143
extern
void
sorgqr_(
const
int
*m,
const
int
*n,
const
int
*k,
float
*A,
144
const
int
*lda,
const
float
*tau,
float
*work,
const
int
*ldwork,
int
*info);
145
146
extern
void
dorgqr_(
const
int
*m,
const
int
*n,
const
int
*k,
double
*A,
147
const
int
*lda,
const
double
*tau,
double
*work,
const
int
*ldwork,
int
*info);
148
149
150
151
extern
void
sorglq_(
const
int
*m,
const
int
*n,
const
int
*k,
float
*A,
152
const
int
*lda,
const
float
*tau,
float
*work,
const
int
*ldwork,
int
*info);
153
154
extern
void
dorglq_(
const
int
*m,
const
int
*n,
const
int
*k,
double
*A,
155
const
int
*lda,
const
double
*tau,
double
*work,
const
int
*ldwork,
int
*info);
156
157
158
159
extern
void
sgelqf_(
const
int
*
const
m,
const
int
*
const
n,
160
float
*
const
restrict A,
const
int
*
const
lda,
float
*
const
restrict tau,
161
float
*
const
restrict work,
const
int
*
const
restrict lwork,
162
int
*
const
restrict info);
163
164
extern
void
dgelqf_(
const
int
*
const
m,
const
int
*
const
n,
165
double
*
const
restrict A,
const
int
*
const
lda,
double
*
const
restrict tau,
166
double
*
const
restrict work,
const
int
*
const
restrict lwork,
167
int
*
const
restrict info);
168
169
170
171
extern
void
sormlq_(
const
char
*side,
const
char
*trans,
const
int
*m,
172
const
int
*n,
const
int
*k,
const
float
*
const
restrict A,
const
int
*lda,
173
const
float
*
const
restrict tau,
float
*
const
restrict c,
const
int
*ldc,
174
float
*
const
restrict work,
const
int
*lwork,
int
*
const
restrict info);
175
176
extern
void
dormlq_(
const
char
*side,
const
char
*trans,
const
int
*m,
177
const
int
*n,
const
int
*k,
const
double
*
const
restrict A,
const
int
*lda,
178
const
double
*
const
restrict tau,
double
*
const
restrict c,
const
int
*ldc,
179
double
*
const
restrict work,
const
int
*lwork,
int
*
const
restrict info);
180
181
182
183
extern
void
spotrf_(
const
char
*uplo,
const
int
*n,
float
*
const
restrict A,
184
const
int
*lda,
int
*info);
185
186
extern
void
dpotrf_(
const
char
*uplo,
const
int
*n,
double
*
const
restrict A,
187
const
int
*lda,
int
*info);
188
189
190
191
extern
void
slassq_(
const
int
*n,
const
float
*restrict x,
const
int
*incx,
192
float
*scale,
float
*sumsq);
193
194
extern
void
dlassq_(
const
int
*n,
const
double
*restrict x,
const
int
*incx,
195
double
*scale,
double
*sumsq);
196
197
198
199
extern
void
sgecon_(
const
char
*norm,
const
int
*n,
200
const
float
*
const
restrict A,
const
int
*lda,
const
float
*anorm,
201
float
*rcond,
float
*work,
float
*work2,
int
*info);
202
203
extern
void
dgecon_(
const
char
*norm,
const
int
*n,
204
const
double
*
const
restrict A,
const
int
*lda,
const
double
*anorm,
205
double
*rcond,
double
*work,
double
*work2,
int
*info);
206
207
208
209
extern
void
strcon_(
const
char
*norm,
const
char
*uplo,
const
char
*diag,
210
const
int
*n,
const
float
*
const
restrict A,
const
int
*lda,
float
*rcond,
211
float
*work,
float
*work2,
int
*info);
212
213
extern
void
dtrcon_(
const
char
*norm,
const
char
*uplo,
const
char
*diag,
214
const
int
*n,
const
double
*
const
restrict A,
const
int
*lda,
double
*rcond,
215
double
*work,
double
*work2,
int
*info);
216
217
218
219
extern
void
strtri_(
const
char
*uplo,
const
char
*diag,
const
int
*n,
220
float
*A,
const
int
*lda,
int
*info);
221
222
extern
void
dtrtri_(
const
char
*uplo,
const
char
*diag,
const
int
*n,
223
double
*A,
const
int
*lda,
int
*info);
224
225
226
#ifdef __cplusplus
227
}
228
#endif
229
230
231
#endif
fml
src
fml
cpu
linalg
internals
lapack_prototypes.h
Generated by
1.8.17