monolish
0.14.2
MONOlithic LIner equation Solvers for Highly-parallel architecture
src
blas
matrix
matvec
matvec_blas.cpp
Go to the documentation of this file.
1
// this code is generated by gen_matvec_blas.sh
2
#include "../../../../include/monolish_blas.hpp"
3
#include "../../../internal/monolish_internal.hpp"
4
#include "
crs_matvec.hpp
"
5
#include "
dense_matvec.hpp
"
6
#include "
linearoperator_matvec.hpp
"
7
8
namespace
monolish::blas
{
9
10
void
matvec
(
const
matrix::Dense<double>
&A,
const
vector<double>
&x,
11
vector<double>
&y) {
12
Dmatvec_core(A, x, y);
13
}
14
void
matvec
(
const
matrix::Dense<double>
&A,
const
vector<double>
&x,
15
view1D
<
vector<double>
,
double
> &y) {
16
Dmatvec_core(A, x, y);
17
}
18
void
matvec
(
const
matrix::Dense<double>
&A,
const
vector<double>
&x,
19
view1D
<
matrix::Dense<double>
,
double
> &y) {
20
Dmatvec_core(A, x, y);
21
}
22
void
matvec
(
const
matrix::Dense<double>
&A,
23
const
view1D
<
vector<double>
,
double
> &x,
vector<double>
&y) {
24
Dmatvec_core(A, x, y);
25
}
26
void
matvec
(
const
matrix::Dense<double>
&A,
27
const
view1D
<
vector<double>
,
double
> &x,
28
view1D
<
vector<double>
,
double
> &y) {
29
Dmatvec_core(A, x, y);
30
}
31
void
matvec
(
const
matrix::Dense<double>
&A,
32
const
view1D
<
vector<double>
,
double
> &x,
33
view1D
<
matrix::Dense<double>
,
double
> &y) {
34
Dmatvec_core(A, x, y);
35
}
36
void
matvec
(
const
matrix::Dense<double>
&A,
37
const
view1D
<
matrix::Dense<double>
,
double
> &x,
vector<double>
&y) {
38
Dmatvec_core(A, x, y);
39
}
40
void
matvec
(
const
matrix::Dense<double>
&A,
41
const
view1D
<
matrix::Dense<double>
,
double
> &x,
42
view1D
<
vector<double>
,
double
> &y) {
43
Dmatvec_core(A, x, y);
44
}
45
void
matvec
(
const
matrix::Dense<double>
&A,
46
const
view1D
<
matrix::Dense<double>
,
double
> &x,
47
view1D
<
matrix::Dense<double>
,
double
> &y) {
48
Dmatvec_core(A, x, y);
49
}
50
void
matvec
(
const
matrix::Dense<float>
&A,
const
vector<float>
&x,
51
vector<float>
&y) {
52
Smatvec_core(A, x, y);
53
}
54
void
matvec
(
const
matrix::Dense<float>
&A,
const
vector<float>
&x,
55
view1D
<
vector<float>
,
float
> &y) {
56
Smatvec_core(A, x, y);
57
}
58
void
matvec
(
const
matrix::Dense<float>
&A,
const
vector<float>
&x,
59
view1D
<
matrix::Dense<float>
,
float
> &y) {
60
Smatvec_core(A, x, y);
61
}
62
void
matvec
(
const
matrix::Dense<float>
&A,
63
const
view1D
<
vector<float>
,
float
> &x,
vector<float>
&y) {
64
Smatvec_core(A, x, y);
65
}
66
void
matvec
(
const
matrix::Dense<float>
&A,
67
const
view1D
<
vector<float>
,
float
> &x,
68
view1D
<
vector<float>
,
float
> &y) {
69
Smatvec_core(A, x, y);
70
}
71
void
matvec
(
const
matrix::Dense<float>
&A,
72
const
view1D
<
vector<float>
,
float
> &x,
73
view1D
<
matrix::Dense<float>
,
float
> &y) {
74
Smatvec_core(A, x, y);
75
}
76
void
matvec
(
const
matrix::Dense<float>
&A,
77
const
view1D
<
matrix::Dense<float>
,
float
> &x,
vector<float>
&y) {
78
Smatvec_core(A, x, y);
79
}
80
void
matvec
(
const
matrix::Dense<float>
&A,
81
const
view1D
<
matrix::Dense<float>
,
float
> &x,
82
view1D
<
vector<float>
,
float
> &y) {
83
Smatvec_core(A, x, y);
84
}
85
void
matvec
(
const
matrix::Dense<float>
&A,
86
const
view1D
<
matrix::Dense<float>
,
float
> &x,
87
view1D
<
matrix::Dense<float>
,
float
> &y) {
88
Smatvec_core(A, x, y);
89
}
90
91
void
matvec
(
const
matrix::CRS<double>
&A,
const
vector<double>
&x,
92
vector<double>
&y) {
93
Dmatvec_core(A, x, y);
94
}
95
void
matvec
(
const
matrix::CRS<double>
&A,
const
vector<double>
&x,
96
view1D
<
vector<double>
,
double
> &y) {
97
Dmatvec_core(A, x, y);
98
}
99
void
matvec
(
const
matrix::CRS<double>
&A,
const
vector<double>
&x,
100
view1D
<
matrix::Dense<double>
,
double
> &y) {
101
Dmatvec_core(A, x, y);
102
}
103
void
matvec
(
const
matrix::CRS<double>
&A,
104
const
view1D
<
vector<double>
,
double
> &x,
vector<double>
&y) {
105
Dmatvec_core(A, x, y);
106
}
107
void
matvec
(
const
matrix::CRS<double>
&A,
108
const
view1D
<
vector<double>
,
double
> &x,
109
view1D
<
vector<double>
,
double
> &y) {
110
Dmatvec_core(A, x, y);
111
}
112
void
matvec
(
const
matrix::CRS<double>
&A,
113
const
view1D
<
vector<double>
,
double
> &x,
114
view1D
<
matrix::Dense<double>
,
double
> &y) {
115
Dmatvec_core(A, x, y);
116
}
117
void
matvec
(
const
matrix::CRS<double>
&A,
118
const
view1D
<
matrix::Dense<double>
,
double
> &x,
vector<double>
&y) {
119
Dmatvec_core(A, x, y);
120
}
121
void
matvec
(
const
matrix::CRS<double>
&A,
122
const
view1D
<
matrix::Dense<double>
,
double
> &x,
123
view1D
<
vector<double>
,
double
> &y) {
124
Dmatvec_core(A, x, y);
125
}
126
void
matvec
(
const
matrix::CRS<double>
&A,
127
const
view1D
<
matrix::Dense<double>
,
double
> &x,
128
view1D
<
matrix::Dense<double>
,
double
> &y) {
129
Dmatvec_core(A, x, y);
130
}
131
void
matvec
(
const
matrix::CRS<float>
&A,
const
vector<float>
&x,
132
vector<float>
&y) {
133
Smatvec_core(A, x, y);
134
}
135
void
matvec
(
const
matrix::CRS<float>
&A,
const
vector<float>
&x,
136
view1D
<
vector<float>
,
float
> &y) {
137
Smatvec_core(A, x, y);
138
}
139
void
matvec
(
const
matrix::CRS<float>
&A,
const
vector<float>
&x,
140
view1D
<
matrix::Dense<float>
,
float
> &y) {
141
Smatvec_core(A, x, y);
142
}
143
void
matvec
(
const
matrix::CRS<float>
&A,
const
view1D
<
vector<float>
,
float
> &x,
144
vector<float>
&y) {
145
Smatvec_core(A, x, y);
146
}
147
void
matvec
(
const
matrix::CRS<float>
&A,
const
view1D
<
vector<float>
,
float
> &x,
148
view1D
<
vector<float>
,
float
> &y) {
149
Smatvec_core(A, x, y);
150
}
151
void
matvec
(
const
matrix::CRS<float>
&A,
const
view1D
<
vector<float>
,
float
> &x,
152
view1D
<
matrix::Dense<float>
,
float
> &y) {
153
Smatvec_core(A, x, y);
154
}
155
void
matvec
(
const
matrix::CRS<float>
&A,
156
const
view1D
<
matrix::Dense<float>
,
float
> &x,
vector<float>
&y) {
157
Smatvec_core(A, x, y);
158
}
159
void
matvec
(
const
matrix::CRS<float>
&A,
160
const
view1D
<
matrix::Dense<float>
,
float
> &x,
161
view1D
<
vector<float>
,
float
> &y) {
162
Smatvec_core(A, x, y);
163
}
164
void
matvec
(
const
matrix::CRS<float>
&A,
165
const
view1D
<
matrix::Dense<float>
,
float
> &x,
166
view1D
<
matrix::Dense<float>
,
float
> &y) {
167
Smatvec_core(A, x, y);
168
}
169
170
void
matvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
171
vector<double>
&y) {
172
matvec_core(A, x, y);
173
}
174
void
matvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
175
view1D
<
vector<double>
,
double
> &y) {
176
matvec_core(A, x, y);
177
}
178
void
matvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
179
view1D
<
matrix::Dense<double>
,
double
> &y) {
180
matvec_core(A, x, y);
181
}
182
void
matvec
(
const
matrix::LinearOperator<double>
&A,
183
const
view1D
<
vector<double>
,
double
> &x,
vector<double>
&y) {
184
matvec_core(A, x, y);
185
}
186
void
matvec
(
const
matrix::LinearOperator<double>
&A,
187
const
view1D
<
vector<double>
,
double
> &x,
188
view1D
<
vector<double>
,
double
> &y) {
189
matvec_core(A, x, y);
190
}
191
void
matvec
(
const
matrix::LinearOperator<double>
&A,
192
const
view1D
<
vector<double>
,
double
> &x,
193
view1D
<
matrix::Dense<double>
,
double
> &y) {
194
matvec_core(A, x, y);
195
}
196
void
matvec
(
const
matrix::LinearOperator<double>
&A,
197
const
view1D
<
matrix::Dense<double>
,
double
> &x,
vector<double>
&y) {
198
matvec_core(A, x, y);
199
}
200
void
matvec
(
const
matrix::LinearOperator<double>
&A,
201
const
view1D
<
matrix::Dense<double>
,
double
> &x,
202
view1D
<
vector<double>
,
double
> &y) {
203
matvec_core(A, x, y);
204
}
205
void
matvec
(
const
matrix::LinearOperator<double>
&A,
206
const
view1D
<
matrix::Dense<double>
,
double
> &x,
207
view1D
<
matrix::Dense<double>
,
double
> &y) {
208
matvec_core(A, x, y);
209
}
210
void
matvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
211
vector<float>
&y) {
212
matvec_core(A, x, y);
213
}
214
void
matvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
215
view1D
<
vector<float>
,
float
> &y) {
216
matvec_core(A, x, y);
217
}
218
void
matvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
219
view1D
<
matrix::Dense<float>
,
float
> &y) {
220
matvec_core(A, x, y);
221
}
222
void
matvec
(
const
matrix::LinearOperator<float>
&A,
223
const
view1D
<
vector<float>
,
float
> &x,
vector<float>
&y) {
224
matvec_core(A, x, y);
225
}
226
void
matvec
(
const
matrix::LinearOperator<float>
&A,
227
const
view1D
<
vector<float>
,
float
> &x,
228
view1D
<
vector<float>
,
float
> &y) {
229
matvec_core(A, x, y);
230
}
231
void
matvec
(
const
matrix::LinearOperator<float>
&A,
232
const
view1D
<
vector<float>
,
float
> &x,
233
view1D
<
matrix::Dense<float>
,
float
> &y) {
234
matvec_core(A, x, y);
235
}
236
void
matvec
(
const
matrix::LinearOperator<float>
&A,
237
const
view1D
<
matrix::Dense<float>
,
float
> &x,
vector<float>
&y) {
238
matvec_core(A, x, y);
239
}
240
void
matvec
(
const
matrix::LinearOperator<float>
&A,
241
const
view1D
<
matrix::Dense<float>
,
float
> &x,
242
view1D
<
vector<float>
,
float
> &y) {
243
matvec_core(A, x, y);
244
}
245
void
matvec
(
const
matrix::LinearOperator<float>
&A,
246
const
view1D
<
matrix::Dense<float>
,
float
> &x,
247
view1D
<
matrix::Dense<float>
,
float
> &y) {
248
matvec_core(A, x, y);
249
}
250
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
251
vector<double>
&y) {
252
rmatvec_core(A, x, y);
253
}
254
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
255
view1D
<
vector<double>
,
double
> &y) {
256
rmatvec_core(A, x, y);
257
}
258
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
const
vector<double>
&x,
259
view1D
<
matrix::Dense<double>
,
double
> &y) {
260
rmatvec_core(A, x, y);
261
}
262
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
263
const
view1D
<
vector<double>
,
double
> &x,
vector<double>
&y) {
264
rmatvec_core(A, x, y);
265
}
266
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
267
const
view1D
<
vector<double>
,
double
> &x,
268
view1D
<
vector<double>
,
double
> &y) {
269
rmatvec_core(A, x, y);
270
}
271
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
272
const
view1D
<
vector<double>
,
double
> &x,
273
view1D
<
matrix::Dense<double>
,
double
> &y) {
274
rmatvec_core(A, x, y);
275
}
276
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
277
const
view1D
<
matrix::Dense<double>
,
double
> &x,
278
vector<double>
&y) {
279
rmatvec_core(A, x, y);
280
}
281
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
282
const
view1D
<
matrix::Dense<double>
,
double
> &x,
283
view1D
<
vector<double>
,
double
> &y) {
284
rmatvec_core(A, x, y);
285
}
286
void
rmatvec
(
const
matrix::LinearOperator<double>
&A,
287
const
view1D
<
matrix::Dense<double>
,
double
> &x,
288
view1D
<
matrix::Dense<double>
,
double
> &y) {
289
rmatvec_core(A, x, y);
290
}
291
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
292
vector<float>
&y) {
293
rmatvec_core(A, x, y);
294
}
295
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
296
view1D
<
vector<float>
,
float
> &y) {
297
rmatvec_core(A, x, y);
298
}
299
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
const
vector<float>
&x,
300
view1D
<
matrix::Dense<float>
,
float
> &y) {
301
rmatvec_core(A, x, y);
302
}
303
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
304
const
view1D
<
vector<float>
,
float
> &x,
vector<float>
&y) {
305
rmatvec_core(A, x, y);
306
}
307
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
308
const
view1D
<
vector<float>
,
float
> &x,
309
view1D
<
vector<float>
,
float
> &y) {
310
rmatvec_core(A, x, y);
311
}
312
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
313
const
view1D
<
vector<float>
,
float
> &x,
314
view1D
<
matrix::Dense<float>
,
float
> &y) {
315
rmatvec_core(A, x, y);
316
}
317
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
318
const
view1D
<
matrix::Dense<float>
,
float
> &x,
vector<float>
&y) {
319
rmatvec_core(A, x, y);
320
}
321
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
322
const
view1D
<
matrix::Dense<float>
,
float
> &x,
323
view1D
<
vector<float>
,
float
> &y) {
324
rmatvec_core(A, x, y);
325
}
326
void
rmatvec
(
const
matrix::LinearOperator<float>
&A,
327
const
view1D
<
matrix::Dense<float>
,
float
> &x,
328
view1D
<
matrix::Dense<float>
,
float
> &y) {
329
rmatvec_core(A, x, y);
330
}
331
}
// namespace monolish::blas
monolish::matrix::LinearOperator
Linear Operator imitating Matrix.
Definition:
monolish_coo.hpp:37
monolish::blas::rmatvec
void rmatvec(const matrix::LinearOperator< double > &A, const vector< double > &x, vector< double > &y)
matrix (LinearOperator) and vector multiplication: y = Ax
Definition:
matvec_blas.cpp:250
monolish::matrix::Dense
Dense format Matrix.
Definition:
monolish_coo.hpp:35
linearoperator_matvec.hpp
dense_matvec.hpp
monolish::blas::matvec
void matvec(const matrix::Dense< double > &A, const vector< double > &x, vector< double > &y)
Dense matrix and vector multiplication: y = Ax.
Definition:
matvec_blas.cpp:10
monolish::view1D
1D view class
Definition:
monolish_coo.hpp:33
monolish::vector
vector class
Definition:
monolish_coo.hpp:32
crs_matvec.hpp
monolish::blas
Basic Linear Algebra Subprograms for Dense Matrix, Sparse Matrix, Vector and Scalar.
Definition:
monolish_matrix_blas.hpp:10
monolish::matrix::CRS
Compressed Row Storage (CRS) format Matrix.
Definition:
monolish_coo.hpp:36
Generated by
1.8.17