3 #include "../common/monolish_common.hpp"
28 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
30 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
31 view1D<vector<double>,
double> &y);
32 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
33 view1D<matrix::Dense<double>,
double> &y);
34 void matvec(
const matrix::Dense<double> &A,
35 const view1D<vector<double>,
double> &x, vector<double> &y);
36 void matvec(
const matrix::Dense<double> &A,
37 const view1D<vector<double>,
double> &x,
38 view1D<vector<double>,
double> &y);
39 void matvec(
const matrix::Dense<double> &A,
40 const view1D<vector<double>,
double> &x,
41 view1D<matrix::Dense<double>,
double> &y);
42 void matvec(
const matrix::Dense<double> &A,
43 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
44 void matvec(
const matrix::Dense<double> &A,
45 const view1D<matrix::Dense<double>,
double> &x,
46 view1D<vector<double>,
double> &y);
47 void matvec(
const matrix::Dense<double> &A,
48 const view1D<matrix::Dense<double>,
double> &x,
49 view1D<matrix::Dense<double>,
double> &y);
50 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
52 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
53 view1D<vector<float>,
float> &y);
54 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
55 view1D<matrix::Dense<float>,
float> &y);
56 void matvec(
const matrix::Dense<float> &A,
57 const view1D<vector<float>,
float> &x, vector<float> &y);
58 void matvec(
const matrix::Dense<float> &A,
59 const view1D<vector<float>,
float> &x,
60 view1D<vector<float>,
float> &y);
61 void matvec(
const matrix::Dense<float> &A,
62 const view1D<vector<float>,
float> &x,
63 view1D<matrix::Dense<float>,
float> &y);
64 void matvec(
const matrix::Dense<float> &A,
65 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
66 void matvec(
const matrix::Dense<float> &A,
67 const view1D<matrix::Dense<float>,
float> &x,
68 view1D<vector<float>,
float> &y);
69 void matvec(
const matrix::Dense<float> &A,
70 const view1D<matrix::Dense<float>,
float> &x,
71 view1D<matrix::Dense<float>,
float> &y);
84 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
86 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
87 view1D<vector<double>,
double> &y);
88 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
89 view1D<matrix::Dense<double>,
double> &y);
90 void matvec(
const matrix::CRS<double> &A,
91 const view1D<vector<double>,
double> &x, vector<double> &y);
92 void matvec(
const matrix::CRS<double> &A,
93 const view1D<vector<double>,
double> &x,
94 view1D<vector<double>,
double> &y);
95 void matvec(
const matrix::CRS<double> &A,
96 const view1D<vector<double>,
double> &x,
97 view1D<matrix::Dense<double>,
double> &y);
98 void matvec(
const matrix::CRS<double> &A,
99 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
100 void matvec(
const matrix::CRS<double> &A,
101 const view1D<matrix::Dense<double>,
double> &x,
102 view1D<vector<double>,
double> &y);
103 void matvec(
const matrix::CRS<double> &A,
104 const view1D<matrix::Dense<double>,
double> &x,
105 view1D<matrix::Dense<double>,
double> &y);
106 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
108 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
109 view1D<vector<float>,
float> &y);
110 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
111 view1D<matrix::Dense<float>,
float> &y);
112 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
114 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
115 view1D<vector<float>,
float> &y);
116 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
117 view1D<matrix::Dense<float>,
float> &y);
118 void matvec(
const matrix::CRS<float> &A,
119 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
120 void matvec(
const matrix::CRS<float> &A,
121 const view1D<matrix::Dense<float>,
float> &x,
122 view1D<vector<float>,
float> &y);
123 void matvec(
const matrix::CRS<float> &A,
124 const view1D<matrix::Dense<float>,
float> &x,
125 view1D<matrix::Dense<float>,
float> &y);
137 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
139 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
140 view1D<vector<double>,
double> &y);
141 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
142 view1D<matrix::Dense<double>,
double> &y);
143 void matvec(
const matrix::LinearOperator<double> &A,
144 const view1D<vector<double>,
double> &x, vector<double> &y);
145 void matvec(
const matrix::LinearOperator<double> &A,
146 const view1D<vector<double>,
double> &x,
147 view1D<vector<double>,
double> &y);
148 void matvec(
const matrix::LinearOperator<double> &A,
149 const view1D<vector<double>,
double> &x,
150 view1D<matrix::Dense<double>,
double> &y);
151 void matvec(
const matrix::LinearOperator<double> &A,
152 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
153 void matvec(
const matrix::LinearOperator<double> &A,
154 const view1D<matrix::Dense<double>,
double> &x,
155 view1D<vector<double>,
double> &y);
156 void matvec(
const matrix::LinearOperator<double> &A,
157 const view1D<matrix::Dense<double>,
double> &x,
158 view1D<matrix::Dense<double>,
double> &y);
159 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
161 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
162 view1D<vector<float>,
float> &y);
163 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
164 view1D<matrix::Dense<float>,
float> &y);
165 void matvec(
const matrix::LinearOperator<float> &A,
166 const view1D<vector<float>,
float> &x, vector<float> &y);
167 void matvec(
const matrix::LinearOperator<float> &A,
168 const view1D<vector<float>,
float> &x,
169 view1D<vector<float>,
float> &y);
170 void matvec(
const matrix::LinearOperator<float> &A,
171 const view1D<vector<float>,
float> &x,
172 view1D<matrix::Dense<float>,
float> &y);
173 void matvec(
const matrix::LinearOperator<float> &A,
174 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
175 void matvec(
const matrix::LinearOperator<float> &A,
176 const view1D<matrix::Dense<float>,
float> &x,
177 view1D<vector<float>,
float> &y);
178 void matvec(
const matrix::LinearOperator<float> &A,
179 const view1D<matrix::Dense<float>,
float> &x,
180 view1D<matrix::Dense<float>,
float> &y);
192 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
194 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
195 view1D<vector<double>,
double> &y);
196 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
197 view1D<matrix::Dense<double>,
double> &y);
198 void rmatvec(
const matrix::LinearOperator<double> &A,
199 const view1D<vector<double>,
double> &x, vector<double> &y);
200 void rmatvec(
const matrix::LinearOperator<double> &A,
201 const view1D<vector<double>,
double> &x,
202 view1D<vector<double>,
double> &y);
203 void rmatvec(
const matrix::LinearOperator<double> &A,
204 const view1D<vector<double>,
double> &x,
205 view1D<matrix::Dense<double>,
double> &y);
206 void rmatvec(
const matrix::LinearOperator<double> &A,
207 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
208 void rmatvec(
const matrix::LinearOperator<double> &A,
209 const view1D<matrix::Dense<double>,
double> &x,
210 view1D<vector<double>,
double> &y);
211 void rmatvec(
const matrix::LinearOperator<double> &A,
212 const view1D<matrix::Dense<double>,
double> &x,
213 view1D<matrix::Dense<double>,
double> &y);
214 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
216 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
217 view1D<vector<float>,
float> &y);
218 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
219 view1D<matrix::Dense<float>,
float> &y);
220 void rmatvec(
const matrix::LinearOperator<float> &A,
221 const view1D<vector<float>,
float> &x, vector<float> &y);
222 void rmatvec(
const matrix::LinearOperator<float> &A,
223 const view1D<vector<float>,
float> &x,
224 view1D<vector<float>,
float> &y);
225 void rmatvec(
const matrix::LinearOperator<float> &A,
226 const view1D<vector<float>,
float> &x,
227 view1D<matrix::Dense<float>,
float> &y);
228 void rmatvec(
const matrix::LinearOperator<float> &A,
229 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
230 void rmatvec(
const matrix::LinearOperator<float> &A,
231 const view1D<matrix::Dense<float>,
float> &x,
232 view1D<vector<float>,
float> &y);
233 void rmatvec(
const matrix::LinearOperator<float> &A,
234 const view1D<matrix::Dense<float>,
float> &x,
235 view1D<matrix::Dense<float>,
float> &y);