3 #include "../common/monolish_common.hpp"
23 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
25 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
26 view1D<vector<double>,
double> &y);
27 void matvec(
const matrix::Dense<double> &A,
const vector<double> &x,
28 view1D<matrix::Dense<double>,
double> &y);
29 void matvec(
const matrix::Dense<double> &A,
30 const view1D<vector<double>,
double> &x, vector<double> &y);
31 void matvec(
const matrix::Dense<double> &A,
32 const view1D<vector<double>,
double> &x,
33 view1D<vector<double>,
double> &y);
34 void matvec(
const matrix::Dense<double> &A,
35 const view1D<vector<double>,
double> &x,
36 view1D<matrix::Dense<double>,
double> &y);
37 void matvec(
const matrix::Dense<double> &A,
38 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
39 void matvec(
const matrix::Dense<double> &A,
40 const view1D<matrix::Dense<double>,
double> &x,
41 view1D<vector<double>,
double> &y);
42 void matvec(
const matrix::Dense<double> &A,
43 const view1D<matrix::Dense<double>,
double> &x,
44 view1D<matrix::Dense<double>,
double> &y);
45 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
47 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
48 view1D<vector<float>,
float> &y);
49 void matvec(
const matrix::Dense<float> &A,
const vector<float> &x,
50 view1D<matrix::Dense<float>,
float> &y);
51 void matvec(
const matrix::Dense<float> &A,
52 const view1D<vector<float>,
float> &x, vector<float> &y);
53 void matvec(
const matrix::Dense<float> &A,
54 const view1D<vector<float>,
float> &x,
55 view1D<vector<float>,
float> &y);
56 void matvec(
const matrix::Dense<float> &A,
57 const view1D<vector<float>,
float> &x,
58 view1D<matrix::Dense<float>,
float> &y);
59 void matvec(
const matrix::Dense<float> &A,
60 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
61 void matvec(
const matrix::Dense<float> &A,
62 const view1D<matrix::Dense<float>,
float> &x,
63 view1D<vector<float>,
float> &y);
64 void matvec(
const matrix::Dense<float> &A,
65 const view1D<matrix::Dense<float>,
float> &x,
66 view1D<matrix::Dense<float>,
float> &y);
79 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
81 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
82 view1D<vector<double>,
double> &y);
83 void matvec(
const matrix::CRS<double> &A,
const vector<double> &x,
84 view1D<matrix::Dense<double>,
double> &y);
85 void matvec(
const matrix::CRS<double> &A,
86 const view1D<vector<double>,
double> &x, vector<double> &y);
87 void matvec(
const matrix::CRS<double> &A,
88 const view1D<vector<double>,
double> &x,
89 view1D<vector<double>,
double> &y);
90 void matvec(
const matrix::CRS<double> &A,
91 const view1D<vector<double>,
double> &x,
92 view1D<matrix::Dense<double>,
double> &y);
93 void matvec(
const matrix::CRS<double> &A,
94 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
95 void matvec(
const matrix::CRS<double> &A,
96 const view1D<matrix::Dense<double>,
double> &x,
97 view1D<vector<double>,
double> &y);
98 void matvec(
const matrix::CRS<double> &A,
99 const view1D<matrix::Dense<double>,
double> &x,
100 view1D<matrix::Dense<double>,
double> &y);
101 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
103 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
104 view1D<vector<float>,
float> &y);
105 void matvec(
const matrix::CRS<float> &A,
const vector<float> &x,
106 view1D<matrix::Dense<float>,
float> &y);
107 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
109 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
110 view1D<vector<float>,
float> &y);
111 void matvec(
const matrix::CRS<float> &A,
const view1D<vector<float>,
float> &x,
112 view1D<matrix::Dense<float>,
float> &y);
113 void matvec(
const matrix::CRS<float> &A,
114 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
115 void matvec(
const matrix::CRS<float> &A,
116 const view1D<matrix::Dense<float>,
float> &x,
117 view1D<vector<float>,
float> &y);
118 void matvec(
const matrix::CRS<float> &A,
119 const view1D<matrix::Dense<float>,
float> &x,
120 view1D<matrix::Dense<float>,
float> &y);
132 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
134 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
135 view1D<vector<double>,
double> &y);
136 void matvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
137 view1D<matrix::Dense<double>,
double> &y);
138 void matvec(
const matrix::LinearOperator<double> &A,
139 const view1D<vector<double>,
double> &x, vector<double> &y);
140 void matvec(
const matrix::LinearOperator<double> &A,
141 const view1D<vector<double>,
double> &x,
142 view1D<vector<double>,
double> &y);
143 void matvec(
const matrix::LinearOperator<double> &A,
144 const view1D<vector<double>,
double> &x,
145 view1D<matrix::Dense<double>,
double> &y);
146 void matvec(
const matrix::LinearOperator<double> &A,
147 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
148 void matvec(
const matrix::LinearOperator<double> &A,
149 const view1D<matrix::Dense<double>,
double> &x,
150 view1D<vector<double>,
double> &y);
151 void matvec(
const matrix::LinearOperator<double> &A,
152 const view1D<matrix::Dense<double>,
double> &x,
153 view1D<matrix::Dense<double>,
double> &y);
154 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
156 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
157 view1D<vector<float>,
float> &y);
158 void matvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
159 view1D<matrix::Dense<float>,
float> &y);
160 void matvec(
const matrix::LinearOperator<float> &A,
161 const view1D<vector<float>,
float> &x, vector<float> &y);
162 void matvec(
const matrix::LinearOperator<float> &A,
163 const view1D<vector<float>,
float> &x,
164 view1D<vector<float>,
float> &y);
165 void matvec(
const matrix::LinearOperator<float> &A,
166 const view1D<vector<float>,
float> &x,
167 view1D<matrix::Dense<float>,
float> &y);
168 void matvec(
const matrix::LinearOperator<float> &A,
169 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
170 void matvec(
const matrix::LinearOperator<float> &A,
171 const view1D<matrix::Dense<float>,
float> &x,
172 view1D<vector<float>,
float> &y);
173 void matvec(
const matrix::LinearOperator<float> &A,
174 const view1D<matrix::Dense<float>,
float> &x,
175 view1D<matrix::Dense<float>,
float> &y);
187 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
189 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
190 view1D<vector<double>,
double> &y);
191 void rmatvec(
const matrix::LinearOperator<double> &A,
const vector<double> &x,
192 view1D<matrix::Dense<double>,
double> &y);
193 void rmatvec(
const matrix::LinearOperator<double> &A,
194 const view1D<vector<double>,
double> &x, vector<double> &y);
195 void rmatvec(
const matrix::LinearOperator<double> &A,
196 const view1D<vector<double>,
double> &x,
197 view1D<vector<double>,
double> &y);
198 void rmatvec(
const matrix::LinearOperator<double> &A,
199 const view1D<vector<double>,
double> &x,
200 view1D<matrix::Dense<double>,
double> &y);
201 void rmatvec(
const matrix::LinearOperator<double> &A,
202 const view1D<matrix::Dense<double>,
double> &x, vector<double> &y);
203 void rmatvec(
const matrix::LinearOperator<double> &A,
204 const view1D<matrix::Dense<double>,
double> &x,
205 view1D<vector<double>,
double> &y);
206 void rmatvec(
const matrix::LinearOperator<double> &A,
207 const view1D<matrix::Dense<double>,
double> &x,
208 view1D<matrix::Dense<double>,
double> &y);
209 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
211 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
212 view1D<vector<float>,
float> &y);
213 void rmatvec(
const matrix::LinearOperator<float> &A,
const vector<float> &x,
214 view1D<matrix::Dense<float>,
float> &y);
215 void rmatvec(
const matrix::LinearOperator<float> &A,
216 const view1D<vector<float>,
float> &x, vector<float> &y);
217 void rmatvec(
const matrix::LinearOperator<float> &A,
218 const view1D<vector<float>,
float> &x,
219 view1D<vector<float>,
float> &y);
220 void rmatvec(
const matrix::LinearOperator<float> &A,
221 const view1D<vector<float>,
float> &x,
222 view1D<matrix::Dense<float>,
float> &y);
223 void rmatvec(
const matrix::LinearOperator<float> &A,
224 const view1D<matrix::Dense<float>,
float> &x, vector<float> &y);
225 void rmatvec(
const matrix::LinearOperator<float> &A,
226 const view1D<matrix::Dense<float>,
float> &x,
227 view1D<vector<float>,
float> &y);
228 void rmatvec(
const matrix::LinearOperator<float> &A,
229 const view1D<matrix::Dense<float>,
float> &x,
230 view1D<matrix::Dense<float>,
float> &y);