monolish  0.14.0
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 {
9 namespace blas {
10 
12  vector<double> &y) {
13  Dmatvec_core(A, x, y);
14 }
16  view1D<vector<double>, double> &y) {
17  Dmatvec_core(A, x, y);
18 }
20  view1D<matrix::Dense<double>, double> &y) {
21  Dmatvec_core(A, x, y);
22 }
24  const view1D<vector<double>, double> &x, vector<double> &y) {
25  Dmatvec_core(A, x, y);
26 }
28  const view1D<vector<double>, double> &x,
29  view1D<vector<double>, double> &y) {
30  Dmatvec_core(A, x, y);
31 }
33  const view1D<vector<double>, double> &x,
34  view1D<matrix::Dense<double>, double> &y) {
35  Dmatvec_core(A, x, y);
36 }
38  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
39  Dmatvec_core(A, x, y);
40 }
42  const view1D<matrix::Dense<double>, double> &x,
43  view1D<vector<double>, double> &y) {
44  Dmatvec_core(A, x, y);
45 }
47  const view1D<matrix::Dense<double>, double> &x,
48  view1D<matrix::Dense<double>, double> &y) {
49  Dmatvec_core(A, x, y);
50 }
51 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
52  vector<float> &y) {
53  Smatvec_core(A, x, y);
54 }
55 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
56  view1D<vector<float>, float> &y) {
57  Smatvec_core(A, x, y);
58 }
59 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
60  view1D<matrix::Dense<float>, float> &y) {
61  Smatvec_core(A, x, y);
62 }
64  const view1D<vector<float>, float> &x, vector<float> &y) {
65  Smatvec_core(A, x, y);
66 }
68  const view1D<vector<float>, float> &x,
69  view1D<vector<float>, float> &y) {
70  Smatvec_core(A, x, y);
71 }
73  const view1D<vector<float>, float> &x,
74  view1D<matrix::Dense<float>, float> &y) {
75  Smatvec_core(A, x, y);
76 }
78  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
79  Smatvec_core(A, x, y);
80 }
82  const view1D<matrix::Dense<float>, float> &x,
83  view1D<vector<float>, float> &y) {
84  Smatvec_core(A, x, y);
85 }
87  const view1D<matrix::Dense<float>, float> &x,
88  view1D<matrix::Dense<float>, float> &y) {
89  Smatvec_core(A, x, y);
90 }
91 
92 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
93  vector<double> &y) {
94  Dmatvec_core(A, x, y);
95 }
96 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
97  view1D<vector<double>, double> &y) {
98  Dmatvec_core(A, x, y);
99 }
100 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
101  view1D<matrix::Dense<double>, double> &y) {
102  Dmatvec_core(A, x, y);
103 }
105  const view1D<vector<double>, double> &x, vector<double> &y) {
106  Dmatvec_core(A, x, y);
107 }
109  const view1D<vector<double>, double> &x,
110  view1D<vector<double>, double> &y) {
111  Dmatvec_core(A, x, y);
112 }
114  const view1D<vector<double>, double> &x,
115  view1D<matrix::Dense<double>, double> &y) {
116  Dmatvec_core(A, x, y);
117 }
119  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
120  Dmatvec_core(A, x, y);
121 }
123  const view1D<matrix::Dense<double>, double> &x,
124  view1D<vector<double>, double> &y) {
125  Dmatvec_core(A, x, y);
126 }
128  const view1D<matrix::Dense<double>, double> &x,
129  view1D<matrix::Dense<double>, double> &y) {
130  Dmatvec_core(A, x, y);
131 }
132 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
133  vector<float> &y) {
134  Smatvec_core(A, x, y);
135 }
136 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
137  view1D<vector<float>, float> &y) {
138  Smatvec_core(A, x, y);
139 }
140 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
141  view1D<matrix::Dense<float>, float> &y) {
142  Smatvec_core(A, x, y);
143 }
144 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
145  vector<float> &y) {
146  Smatvec_core(A, x, y);
147 }
148 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
149  view1D<vector<float>, float> &y) {
150  Smatvec_core(A, x, y);
151 }
152 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
153  view1D<matrix::Dense<float>, float> &y) {
154  Smatvec_core(A, x, y);
155 }
157  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
158  Smatvec_core(A, x, y);
159 }
161  const view1D<matrix::Dense<float>, float> &x,
162  view1D<vector<float>, float> &y) {
163  Smatvec_core(A, x, y);
164 }
166  const view1D<matrix::Dense<float>, float> &x,
167  view1D<matrix::Dense<float>, float> &y) {
168  Smatvec_core(A, x, y);
169 }
170 
172  vector<double> &y) {
173  matvec_core(A, x, y);
174 }
176  view1D<vector<double>, double> &y) {
177  matvec_core(A, x, y);
178 }
180  view1D<matrix::Dense<double>, double> &y) {
181  matvec_core(A, x, y);
182 }
184  const view1D<vector<double>, double> &x, vector<double> &y) {
185  matvec_core(A, x, y);
186 }
188  const view1D<vector<double>, double> &x,
189  view1D<vector<double>, double> &y) {
190  matvec_core(A, x, y);
191 }
193  const view1D<vector<double>, double> &x,
194  view1D<matrix::Dense<double>, double> &y) {
195  matvec_core(A, x, y);
196 }
198  const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
199  matvec_core(A, x, y);
200 }
202  const view1D<matrix::Dense<double>, double> &x,
203  view1D<vector<double>, double> &y) {
204  matvec_core(A, x, y);
205 }
207  const view1D<matrix::Dense<double>, double> &x,
208  view1D<matrix::Dense<double>, double> &y) {
209  matvec_core(A, x, y);
210 }
212  vector<float> &y) {
213  matvec_core(A, x, y);
214 }
216  view1D<vector<float>, float> &y) {
217  matvec_core(A, x, y);
218 }
220  view1D<matrix::Dense<float>, float> &y) {
221  matvec_core(A, x, y);
222 }
224  const view1D<vector<float>, float> &x, vector<float> &y) {
225  matvec_core(A, x, y);
226 }
228  const view1D<vector<float>, float> &x,
229  view1D<vector<float>, float> &y) {
230  matvec_core(A, x, y);
231 }
233  const view1D<vector<float>, float> &x,
234  view1D<matrix::Dense<float>, float> &y) {
235  matvec_core(A, x, y);
236 }
238  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
239  matvec_core(A, x, y);
240 }
242  const view1D<matrix::Dense<float>, float> &x,
243  view1D<vector<float>, float> &y) {
244  matvec_core(A, x, y);
245 }
247  const view1D<matrix::Dense<float>, float> &x,
248  view1D<matrix::Dense<float>, float> &y) {
249  matvec_core(A, x, y);
250 }
252  vector<double> &y) {
253  rmatvec_core(A, x, y);
254 }
256  view1D<vector<double>, double> &y) {
257  rmatvec_core(A, x, y);
258 }
260  view1D<matrix::Dense<double>, double> &y) {
261  rmatvec_core(A, x, y);
262 }
264  const view1D<vector<double>, double> &x, vector<double> &y) {
265  rmatvec_core(A, x, y);
266 }
268  const view1D<vector<double>, double> &x,
269  view1D<vector<double>, double> &y) {
270  rmatvec_core(A, x, y);
271 }
273  const view1D<vector<double>, double> &x,
274  view1D<matrix::Dense<double>, double> &y) {
275  rmatvec_core(A, x, y);
276 }
278  const view1D<matrix::Dense<double>, double> &x,
279  vector<double> &y) {
280  rmatvec_core(A, x, y);
281 }
283  const view1D<matrix::Dense<double>, double> &x,
284  view1D<vector<double>, double> &y) {
285  rmatvec_core(A, x, y);
286 }
288  const view1D<matrix::Dense<double>, double> &x,
289  view1D<matrix::Dense<double>, double> &y) {
290  rmatvec_core(A, x, y);
291 }
293  vector<float> &y) {
294  rmatvec_core(A, x, y);
295 }
297  view1D<vector<float>, float> &y) {
298  rmatvec_core(A, x, y);
299 }
301  view1D<matrix::Dense<float>, float> &y) {
302  rmatvec_core(A, x, y);
303 }
305  const view1D<vector<float>, float> &x, vector<float> &y) {
306  rmatvec_core(A, x, y);
307 }
309  const view1D<vector<float>, float> &x,
310  view1D<vector<float>, float> &y) {
311  rmatvec_core(A, x, y);
312 }
314  const view1D<vector<float>, float> &x,
315  view1D<matrix::Dense<float>, float> &y) {
316  rmatvec_core(A, x, y);
317 }
319  const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
320  rmatvec_core(A, x, y);
321 }
323  const view1D<matrix::Dense<float>, float> &x,
324  view1D<vector<float>, float> &y) {
325  rmatvec_core(A, x, y);
326 }
328  const view1D<matrix::Dense<float>, float> &x,
329  view1D<matrix::Dense<float>, float> &y) {
330  rmatvec_core(A, x, y);
331 }
332 
333 } // namespace blas
334 } // namespace monolish
monolish::matrix::LinearOperator
Linear Operator imitating Matrix.
Definition: monolish_coo.hpp:30
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:251
monolish::matrix::Dense
Dense format Matrix.
Definition: monolish_coo.hpp:28
linearoperator_matvec.hpp
dense_matvec.hpp
monolish
Definition: monolish_matrix_blas.hpp:9
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:11
monolish::view1D
1D view class
Definition: monolish_coo.hpp:26
monolish::vector
vector class
Definition: monolish_coo.hpp:25
crs_matvec.hpp
monolish::matrix::CRS
Compressed Row Storage (CRS) format Matrix.
Definition: monolish_coo.hpp:29