monolish  0.14.2
MONOlithic LIner equation Solvers for Highly-parallel architecture
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"
7 
8 namespace monolish::blas {
9 
11  vector<double> &y) {
12  Dmatvec_core(A, x, y);
13 }
15  view1D<vector<double>, double> &y) {
16  Dmatvec_core(A, x, y);
17 }
19  view1D<matrix::Dense<double>, double> &y) {
20  Dmatvec_core(A, x, y);
21 }
23  const view1D<vector<double>, double> &x, vector<double> &y) {
24  Dmatvec_core(A, x, y);
25 }
27  const view1D<vector<double>, double> &x,
28  view1D<vector<double>, double> &y) {
29  Dmatvec_core(A, x, y);
30 }
32  const view1D<vector<double>, double> &x,
33  view1D<matrix::Dense<double>, double> &y) {
34  Dmatvec_core(A, x, y);
35 }
37  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
38  Dmatvec_core(A, x, y);
39 }
41  const view1D<matrix::Dense<double>, double> &x,
42  view1D<vector<double>, double> &y) {
43  Dmatvec_core(A, x, y);
44 }
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 }
63  const view1D<vector<float>, float> &x, vector<float> &y) {
64  Smatvec_core(A, x, y);
65 }
67  const view1D<vector<float>, float> &x,
68  view1D<vector<float>, float> &y) {
69  Smatvec_core(A, x, y);
70 }
72  const view1D<vector<float>, float> &x,
73  view1D<matrix::Dense<float>, float> &y) {
74  Smatvec_core(A, x, y);
75 }
77  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
78  Smatvec_core(A, x, y);
79 }
81  const view1D<matrix::Dense<float>, float> &x,
82  view1D<vector<float>, float> &y) {
83  Smatvec_core(A, x, y);
84 }
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 }
104  const view1D<vector<double>, double> &x, vector<double> &y) {
105  Dmatvec_core(A, x, y);
106 }
108  const view1D<vector<double>, double> &x,
109  view1D<vector<double>, double> &y) {
110  Dmatvec_core(A, x, y);
111 }
113  const view1D<vector<double>, double> &x,
114  view1D<matrix::Dense<double>, double> &y) {
115  Dmatvec_core(A, x, y);
116 }
118  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
119  Dmatvec_core(A, x, y);
120 }
122  const view1D<matrix::Dense<double>, double> &x,
123  view1D<vector<double>, double> &y) {
124  Dmatvec_core(A, x, y);
125 }
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 }
156  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
157  Smatvec_core(A, x, y);
158 }
160  const view1D<matrix::Dense<float>, float> &x,
161  view1D<vector<float>, float> &y) {
162  Smatvec_core(A, x, y);
163 }
165  const view1D<matrix::Dense<float>, float> &x,
166  view1D<matrix::Dense<float>, float> &y) {
167  Smatvec_core(A, x, y);
168 }
169 
171  vector<double> &y) {
172  matvec_core(A, x, y);
173 }
175  view1D<vector<double>, double> &y) {
176  matvec_core(A, x, y);
177 }
179  view1D<matrix::Dense<double>, double> &y) {
180  matvec_core(A, x, y);
181 }
183  const view1D<vector<double>, double> &x, vector<double> &y) {
184  matvec_core(A, x, y);
185 }
187  const view1D<vector<double>, double> &x,
188  view1D<vector<double>, double> &y) {
189  matvec_core(A, x, y);
190 }
192  const view1D<vector<double>, double> &x,
193  view1D<matrix::Dense<double>, double> &y) {
194  matvec_core(A, x, y);
195 }
197  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
198  matvec_core(A, x, y);
199 }
201  const view1D<matrix::Dense<double>, double> &x,
202  view1D<vector<double>, double> &y) {
203  matvec_core(A, x, y);
204 }
206  const view1D<matrix::Dense<double>, double> &x,
207  view1D<matrix::Dense<double>, double> &y) {
208  matvec_core(A, x, y);
209 }
211  vector<float> &y) {
212  matvec_core(A, x, y);
213 }
215  view1D<vector<float>, float> &y) {
216  matvec_core(A, x, y);
217 }
219  view1D<matrix::Dense<float>, float> &y) {
220  matvec_core(A, x, y);
221 }
223  const view1D<vector<float>, float> &x, vector<float> &y) {
224  matvec_core(A, x, y);
225 }
227  const view1D<vector<float>, float> &x,
228  view1D<vector<float>, float> &y) {
229  matvec_core(A, x, y);
230 }
232  const view1D<vector<float>, float> &x,
233  view1D<matrix::Dense<float>, float> &y) {
234  matvec_core(A, x, y);
235 }
237  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
238  matvec_core(A, x, y);
239 }
241  const view1D<matrix::Dense<float>, float> &x,
242  view1D<vector<float>, float> &y) {
243  matvec_core(A, x, y);
244 }
246  const view1D<matrix::Dense<float>, float> &x,
247  view1D<matrix::Dense<float>, float> &y) {
248  matvec_core(A, x, y);
249 }
251  vector<double> &y) {
252  rmatvec_core(A, x, y);
253 }
255  view1D<vector<double>, double> &y) {
256  rmatvec_core(A, x, y);
257 }
259  view1D<matrix::Dense<double>, double> &y) {
260  rmatvec_core(A, x, y);
261 }
263  const view1D<vector<double>, double> &x, vector<double> &y) {
264  rmatvec_core(A, x, y);
265 }
267  const view1D<vector<double>, double> &x,
268  view1D<vector<double>, double> &y) {
269  rmatvec_core(A, x, y);
270 }
272  const view1D<vector<double>, double> &x,
273  view1D<matrix::Dense<double>, double> &y) {
274  rmatvec_core(A, x, y);
275 }
277  const view1D<matrix::Dense<double>, double> &x,
278  vector<double> &y) {
279  rmatvec_core(A, x, y);
280 }
282  const view1D<matrix::Dense<double>, double> &x,
283  view1D<vector<double>, double> &y) {
284  rmatvec_core(A, x, y);
285 }
287  const view1D<matrix::Dense<double>, double> &x,
288  view1D<matrix::Dense<double>, double> &y) {
289  rmatvec_core(A, x, y);
290 }
292  vector<float> &y) {
293  rmatvec_core(A, x, y);
294 }
296  view1D<vector<float>, float> &y) {
297  rmatvec_core(A, x, y);
298 }
300  view1D<matrix::Dense<float>, float> &y) {
301  rmatvec_core(A, x, y);
302 }
304  const view1D<vector<float>, float> &x, vector<float> &y) {
305  rmatvec_core(A, x, y);
306 }
308  const view1D<vector<float>, float> &x,
309  view1D<vector<float>, float> &y) {
310  rmatvec_core(A, x, y);
311 }
313  const view1D<vector<float>, float> &x,
314  view1D<matrix::Dense<float>, float> &y) {
315  rmatvec_core(A, x, y);
316 }
318  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
319  rmatvec_core(A, x, y);
320 }
322  const view1D<matrix::Dense<float>, float> &x,
323  view1D<vector<float>, float> &y) {
324  rmatvec_core(A, x, y);
325 }
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