monolish  0.14.0
MONOlithic LIner equation Solvers for Highly-parallel architecture
vector_blas.cpp
Go to the documentation of this file.
1 // This code is generated by gen_vector_blas.sh
2 #include "../../../include/monolish_blas.hpp"
3 #include "../../internal/monolish_internal.hpp"
4 #include "asum.hpp"
5 #include "axpy.hpp"
6 #include "axpyz.hpp"
7 #include "copy.hpp"
8 #include "dot.hpp"
9 #include "nrm1.hpp"
10 #include "nrm2.hpp"
11 #include "scal.hpp"
12 #include "sum.hpp"
13 #include "vecadd.hpp"
14 #include "vecsub.hpp"
15 #include "xpay.hpp"
16 
17 namespace monolish {
18 namespace blas {
19 
20 void vecadd(const vector<double> &a, const vector<double> &b,
21  vector<double> &y) {
22  vecadd_core(a, b, y);
23 }
24 void vecadd(const vector<double> &a, const vector<double> &b,
25  view1D<vector<double>, double> &y) {
26  vecadd_core(a, b, y);
27 }
28 void vecadd(const vector<double> &a, const vector<double> &b,
29  view1D<matrix::Dense<double>, double> &y) {
30  vecadd_core(a, b, y);
31 }
32 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
33  vector<double> &y) {
34  vecadd_core(a, b, y);
35 }
36 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
37  view1D<vector<double>, double> &y) {
38  vecadd_core(a, b, y);
39 }
40 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
41  view1D<matrix::Dense<double>, double> &y) {
42  vecadd_core(a, b, y);
43 }
44 void vecadd(const vector<double> &a,
45  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
46  vecadd_core(a, b, y);
47 }
48 void vecadd(const vector<double> &a,
49  const view1D<matrix::Dense<double>, double> &b,
50  view1D<vector<double>, double> &y) {
51  vecadd_core(a, b, y);
52 }
53 void vecadd(const vector<double> &a,
54  const view1D<matrix::Dense<double>, double> &b,
55  view1D<matrix::Dense<double>, double> &y) {
56  vecadd_core(a, b, y);
57 }
58 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
59  vector<double> &y) {
60  vecadd_core(a, b, y);
61 }
62 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
63  view1D<vector<double>, double> &y) {
64  vecadd_core(a, b, y);
65 }
66 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
67  view1D<matrix::Dense<double>, double> &y) {
68  vecadd_core(a, b, y);
69 }
70 void vecadd(const view1D<vector<double>, double> &a,
71  const view1D<vector<double>, double> &b, vector<double> &y) {
72  vecadd_core(a, b, y);
73 }
74 void vecadd(const view1D<vector<double>, double> &a,
75  const view1D<vector<double>, double> &b,
76  view1D<vector<double>, double> &y) {
77  vecadd_core(a, b, y);
78 }
79 void vecadd(const view1D<vector<double>, double> &a,
80  const view1D<vector<double>, double> &b,
81  view1D<matrix::Dense<double>, double> &y) {
82  vecadd_core(a, b, y);
83 }
84 void vecadd(const view1D<vector<double>, double> &a,
85  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
86  vecadd_core(a, b, y);
87 }
88 void vecadd(const view1D<vector<double>, double> &a,
89  const view1D<matrix::Dense<double>, double> &b,
90  view1D<vector<double>, double> &y) {
91  vecadd_core(a, b, y);
92 }
93 void vecadd(const view1D<vector<double>, double> &a,
94  const view1D<matrix::Dense<double>, double> &b,
95  view1D<matrix::Dense<double>, double> &y) {
96  vecadd_core(a, b, y);
97 }
98 void vecadd(const view1D<matrix::Dense<double>, double> &a,
99  const vector<double> &b, vector<double> &y) {
100  vecadd_core(a, b, y);
101 }
102 void vecadd(const view1D<matrix::Dense<double>, double> &a,
103  const vector<double> &b, view1D<vector<double>, double> &y) {
104  vecadd_core(a, b, y);
105 }
106 void vecadd(const view1D<matrix::Dense<double>, double> &a,
107  const vector<double> &b, view1D<matrix::Dense<double>, double> &y) {
108  vecadd_core(a, b, y);
109 }
110 void vecadd(const view1D<matrix::Dense<double>, double> &a,
111  const view1D<vector<double>, double> &b, vector<double> &y) {
112  vecadd_core(a, b, y);
113 }
114 void vecadd(const view1D<matrix::Dense<double>, double> &a,
115  const view1D<vector<double>, double> &b,
116  view1D<vector<double>, double> &y) {
117  vecadd_core(a, b, y);
118 }
119 void vecadd(const view1D<matrix::Dense<double>, double> &a,
120  const view1D<vector<double>, double> &b,
121  view1D<matrix::Dense<double>, double> &y) {
122  vecadd_core(a, b, y);
123 }
124 void vecadd(const view1D<matrix::Dense<double>, double> &a,
125  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
126  vecadd_core(a, b, y);
127 }
128 void vecadd(const view1D<matrix::Dense<double>, double> &a,
129  const view1D<matrix::Dense<double>, double> &b,
130  view1D<vector<double>, double> &y) {
131  vecadd_core(a, b, y);
132 }
133 void vecadd(const view1D<matrix::Dense<double>, double> &a,
134  const view1D<matrix::Dense<double>, double> &b,
135  view1D<matrix::Dense<double>, double> &y) {
136  vecadd_core(a, b, y);
137 }
138 void vecadd(const vector<float> &a, const vector<float> &b, vector<float> &y) {
139  vecadd_core(a, b, y);
140 }
141 void vecadd(const vector<float> &a, const vector<float> &b,
142  view1D<vector<float>, float> &y) {
143  vecadd_core(a, b, y);
144 }
145 void vecadd(const vector<float> &a, const vector<float> &b,
146  view1D<matrix::Dense<float>, float> &y) {
147  vecadd_core(a, b, y);
148 }
149 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
150  vector<float> &y) {
151  vecadd_core(a, b, y);
152 }
153 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
154  view1D<vector<float>, float> &y) {
155  vecadd_core(a, b, y);
156 }
157 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
158  view1D<matrix::Dense<float>, float> &y) {
159  vecadd_core(a, b, y);
160 }
161 void vecadd(const vector<float> &a,
162  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
163  vecadd_core(a, b, y);
164 }
165 void vecadd(const vector<float> &a,
166  const view1D<matrix::Dense<float>, float> &b,
167  view1D<vector<float>, float> &y) {
168  vecadd_core(a, b, y);
169 }
170 void vecadd(const vector<float> &a,
171  const view1D<matrix::Dense<float>, float> &b,
172  view1D<matrix::Dense<float>, float> &y) {
173  vecadd_core(a, b, y);
174 }
175 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
176  vector<float> &y) {
177  vecadd_core(a, b, y);
178 }
179 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
180  view1D<vector<float>, float> &y) {
181  vecadd_core(a, b, y);
182 }
183 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
184  view1D<matrix::Dense<float>, float> &y) {
185  vecadd_core(a, b, y);
186 }
187 void vecadd(const view1D<vector<float>, float> &a,
188  const view1D<vector<float>, float> &b, vector<float> &y) {
189  vecadd_core(a, b, y);
190 }
191 void vecadd(const view1D<vector<float>, float> &a,
192  const view1D<vector<float>, float> &b,
193  view1D<vector<float>, float> &y) {
194  vecadd_core(a, b, y);
195 }
196 void vecadd(const view1D<vector<float>, float> &a,
197  const view1D<vector<float>, float> &b,
198  view1D<matrix::Dense<float>, float> &y) {
199  vecadd_core(a, b, y);
200 }
201 void vecadd(const view1D<vector<float>, float> &a,
202  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
203  vecadd_core(a, b, y);
204 }
205 void vecadd(const view1D<vector<float>, float> &a,
206  const view1D<matrix::Dense<float>, float> &b,
207  view1D<vector<float>, float> &y) {
208  vecadd_core(a, b, y);
209 }
210 void vecadd(const view1D<vector<float>, float> &a,
211  const view1D<matrix::Dense<float>, float> &b,
212  view1D<matrix::Dense<float>, float> &y) {
213  vecadd_core(a, b, y);
214 }
215 void vecadd(const view1D<matrix::Dense<float>, float> &a,
216  const vector<float> &b, vector<float> &y) {
217  vecadd_core(a, b, y);
218 }
219 void vecadd(const view1D<matrix::Dense<float>, float> &a,
220  const vector<float> &b, view1D<vector<float>, float> &y) {
221  vecadd_core(a, b, y);
222 }
223 void vecadd(const view1D<matrix::Dense<float>, float> &a,
224  const vector<float> &b, view1D<matrix::Dense<float>, float> &y) {
225  vecadd_core(a, b, y);
226 }
227 void vecadd(const view1D<matrix::Dense<float>, float> &a,
228  const view1D<vector<float>, float> &b, vector<float> &y) {
229  vecadd_core(a, b, y);
230 }
231 void vecadd(const view1D<matrix::Dense<float>, float> &a,
232  const view1D<vector<float>, float> &b,
233  view1D<vector<float>, float> &y) {
234  vecadd_core(a, b, y);
235 }
236 void vecadd(const view1D<matrix::Dense<float>, float> &a,
237  const view1D<vector<float>, float> &b,
238  view1D<matrix::Dense<float>, float> &y) {
239  vecadd_core(a, b, y);
240 }
241 void vecadd(const view1D<matrix::Dense<float>, float> &a,
242  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
243  vecadd_core(a, b, y);
244 }
245 void vecadd(const view1D<matrix::Dense<float>, float> &a,
246  const view1D<matrix::Dense<float>, float> &b,
247  view1D<vector<float>, float> &y) {
248  vecadd_core(a, b, y);
249 }
250 void vecadd(const view1D<matrix::Dense<float>, float> &a,
251  const view1D<matrix::Dense<float>, float> &b,
252  view1D<matrix::Dense<float>, float> &y) {
253  vecadd_core(a, b, y);
254 }
255 
256 void vecsub(const vector<double> &a, const vector<double> &b,
257  vector<double> &y) {
258  vecsub_core(a, b, y);
259 }
260 void vecsub(const vector<double> &a, const vector<double> &b,
261  view1D<vector<double>, double> &y) {
262  vecsub_core(a, b, y);
263 }
264 void vecsub(const vector<double> &a, const vector<double> &b,
265  view1D<matrix::Dense<double>, double> &y) {
266  vecsub_core(a, b, y);
267 }
268 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
269  vector<double> &y) {
270  vecsub_core(a, b, y);
271 }
272 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
273  view1D<vector<double>, double> &y) {
274  vecsub_core(a, b, y);
275 }
276 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
277  view1D<matrix::Dense<double>, double> &y) {
278  vecsub_core(a, b, y);
279 }
280 void vecsub(const vector<double> &a,
281  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
282  vecsub_core(a, b, y);
283 }
284 void vecsub(const vector<double> &a,
285  const view1D<matrix::Dense<double>, double> &b,
286  view1D<vector<double>, double> &y) {
287  vecsub_core(a, b, y);
288 }
289 void vecsub(const vector<double> &a,
290  const view1D<matrix::Dense<double>, double> &b,
291  view1D<matrix::Dense<double>, double> &y) {
292  vecsub_core(a, b, y);
293 }
294 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
295  vector<double> &y) {
296  vecsub_core(a, b, y);
297 }
298 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
299  view1D<vector<double>, double> &y) {
300  vecsub_core(a, b, y);
301 }
302 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
303  view1D<matrix::Dense<double>, double> &y) {
304  vecsub_core(a, b, y);
305 }
306 void vecsub(const view1D<vector<double>, double> &a,
307  const view1D<vector<double>, double> &b, vector<double> &y) {
308  vecsub_core(a, b, y);
309 }
310 void vecsub(const view1D<vector<double>, double> &a,
311  const view1D<vector<double>, double> &b,
312  view1D<vector<double>, double> &y) {
313  vecsub_core(a, b, y);
314 }
315 void vecsub(const view1D<vector<double>, double> &a,
316  const view1D<vector<double>, double> &b,
317  view1D<matrix::Dense<double>, double> &y) {
318  vecsub_core(a, b, y);
319 }
320 void vecsub(const view1D<vector<double>, double> &a,
321  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
322  vecsub_core(a, b, y);
323 }
324 void vecsub(const view1D<vector<double>, double> &a,
325  const view1D<matrix::Dense<double>, double> &b,
326  view1D<vector<double>, double> &y) {
327  vecsub_core(a, b, y);
328 }
329 void vecsub(const view1D<vector<double>, double> &a,
330  const view1D<matrix::Dense<double>, double> &b,
331  view1D<matrix::Dense<double>, double> &y) {
332  vecsub_core(a, b, y);
333 }
334 void vecsub(const view1D<matrix::Dense<double>, double> &a,
335  const vector<double> &b, vector<double> &y) {
336  vecsub_core(a, b, y);
337 }
338 void vecsub(const view1D<matrix::Dense<double>, double> &a,
339  const vector<double> &b, view1D<vector<double>, double> &y) {
340  vecsub_core(a, b, y);
341 }
342 void vecsub(const view1D<matrix::Dense<double>, double> &a,
343  const vector<double> &b, view1D<matrix::Dense<double>, double> &y) {
344  vecsub_core(a, b, y);
345 }
346 void vecsub(const view1D<matrix::Dense<double>, double> &a,
347  const view1D<vector<double>, double> &b, vector<double> &y) {
348  vecsub_core(a, b, y);
349 }
350 void vecsub(const view1D<matrix::Dense<double>, double> &a,
351  const view1D<vector<double>, double> &b,
352  view1D<vector<double>, double> &y) {
353  vecsub_core(a, b, y);
354 }
355 void vecsub(const view1D<matrix::Dense<double>, double> &a,
356  const view1D<vector<double>, double> &b,
357  view1D<matrix::Dense<double>, double> &y) {
358  vecsub_core(a, b, y);
359 }
360 void vecsub(const view1D<matrix::Dense<double>, double> &a,
361  const view1D<matrix::Dense<double>, double> &b, vector<double> &y) {
362  vecsub_core(a, b, y);
363 }
364 void vecsub(const view1D<matrix::Dense<double>, double> &a,
365  const view1D<matrix::Dense<double>, double> &b,
366  view1D<vector<double>, double> &y) {
367  vecsub_core(a, b, y);
368 }
369 void vecsub(const view1D<matrix::Dense<double>, double> &a,
370  const view1D<matrix::Dense<double>, double> &b,
371  view1D<matrix::Dense<double>, double> &y) {
372  vecsub_core(a, b, y);
373 }
374 void vecsub(const vector<float> &a, const vector<float> &b, vector<float> &y) {
375  vecsub_core(a, b, y);
376 }
377 void vecsub(const vector<float> &a, const vector<float> &b,
378  view1D<vector<float>, float> &y) {
379  vecsub_core(a, b, y);
380 }
381 void vecsub(const vector<float> &a, const vector<float> &b,
382  view1D<matrix::Dense<float>, float> &y) {
383  vecsub_core(a, b, y);
384 }
385 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
386  vector<float> &y) {
387  vecsub_core(a, b, y);
388 }
389 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
390  view1D<vector<float>, float> &y) {
391  vecsub_core(a, b, y);
392 }
393 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
394  view1D<matrix::Dense<float>, float> &y) {
395  vecsub_core(a, b, y);
396 }
397 void vecsub(const vector<float> &a,
398  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
399  vecsub_core(a, b, y);
400 }
401 void vecsub(const vector<float> &a,
402  const view1D<matrix::Dense<float>, float> &b,
403  view1D<vector<float>, float> &y) {
404  vecsub_core(a, b, y);
405 }
406 void vecsub(const vector<float> &a,
407  const view1D<matrix::Dense<float>, float> &b,
408  view1D<matrix::Dense<float>, float> &y) {
409  vecsub_core(a, b, y);
410 }
411 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
412  vector<float> &y) {
413  vecsub_core(a, b, y);
414 }
415 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
416  view1D<vector<float>, float> &y) {
417  vecsub_core(a, b, y);
418 }
419 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
420  view1D<matrix::Dense<float>, float> &y) {
421  vecsub_core(a, b, y);
422 }
423 void vecsub(const view1D<vector<float>, float> &a,
424  const view1D<vector<float>, float> &b, vector<float> &y) {
425  vecsub_core(a, b, y);
426 }
427 void vecsub(const view1D<vector<float>, float> &a,
428  const view1D<vector<float>, float> &b,
429  view1D<vector<float>, float> &y) {
430  vecsub_core(a, b, y);
431 }
432 void vecsub(const view1D<vector<float>, float> &a,
433  const view1D<vector<float>, float> &b,
434  view1D<matrix::Dense<float>, float> &y) {
435  vecsub_core(a, b, y);
436 }
437 void vecsub(const view1D<vector<float>, float> &a,
438  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
439  vecsub_core(a, b, y);
440 }
441 void vecsub(const view1D<vector<float>, float> &a,
442  const view1D<matrix::Dense<float>, float> &b,
443  view1D<vector<float>, float> &y) {
444  vecsub_core(a, b, y);
445 }
446 void vecsub(const view1D<vector<float>, float> &a,
447  const view1D<matrix::Dense<float>, float> &b,
448  view1D<matrix::Dense<float>, float> &y) {
449  vecsub_core(a, b, y);
450 }
451 void vecsub(const view1D<matrix::Dense<float>, float> &a,
452  const vector<float> &b, vector<float> &y) {
453  vecsub_core(a, b, y);
454 }
455 void vecsub(const view1D<matrix::Dense<float>, float> &a,
456  const vector<float> &b, view1D<vector<float>, float> &y) {
457  vecsub_core(a, b, y);
458 }
459 void vecsub(const view1D<matrix::Dense<float>, float> &a,
460  const vector<float> &b, view1D<matrix::Dense<float>, float> &y) {
461  vecsub_core(a, b, y);
462 }
463 void vecsub(const view1D<matrix::Dense<float>, float> &a,
464  const view1D<vector<float>, float> &b, vector<float> &y) {
465  vecsub_core(a, b, y);
466 }
467 void vecsub(const view1D<matrix::Dense<float>, float> &a,
468  const view1D<vector<float>, float> &b,
469  view1D<vector<float>, float> &y) {
470  vecsub_core(a, b, y);
471 }
472 void vecsub(const view1D<matrix::Dense<float>, float> &a,
473  const view1D<vector<float>, float> &b,
474  view1D<matrix::Dense<float>, float> &y) {
475  vecsub_core(a, b, y);
476 }
477 void vecsub(const view1D<matrix::Dense<float>, float> &a,
478  const view1D<matrix::Dense<float>, float> &b, vector<float> &y) {
479  vecsub_core(a, b, y);
480 }
481 void vecsub(const view1D<matrix::Dense<float>, float> &a,
482  const view1D<matrix::Dense<float>, float> &b,
483  view1D<vector<float>, float> &y) {
484  vecsub_core(a, b, y);
485 }
486 void vecsub(const view1D<matrix::Dense<float>, float> &a,
487  const view1D<matrix::Dense<float>, float> &b,
488  view1D<matrix::Dense<float>, float> &y) {
489  vecsub_core(a, b, y);
490 }
491 
492 void copy(const vector<double> &x, vector<double> &y) { copy_core(x, y); }
493 void copy(const vector<double> &x, view1D<vector<double>, double> &y) {
494  copy_core(x, y);
495 }
496 void copy(const vector<double> &x, view1D<matrix::Dense<double>, double> &y) {
497  copy_core(x, y);
498 }
499 void copy(const view1D<vector<double>, double> &x, vector<double> &y) {
500  copy_core(x, y);
501 }
502 void copy(const view1D<vector<double>, double> &x,
503  view1D<vector<double>, double> &y) {
504  copy_core(x, y);
505 }
506 void copy(const view1D<vector<double>, double> &x,
507  view1D<matrix::Dense<double>, double> &y) {
508  copy_core(x, y);
509 }
510 void copy(const view1D<matrix::Dense<double>, double> &x, vector<double> &y) {
511  copy_core(x, y);
512 }
513 void copy(const view1D<matrix::Dense<double>, double> &x,
514  view1D<vector<double>, double> &y) {
515  copy_core(x, y);
516 }
517 void copy(const view1D<matrix::Dense<double>, double> &x,
518  view1D<matrix::Dense<double>, double> &y) {
519  copy_core(x, y);
520 }
521 void copy(const vector<float> &x, vector<float> &y) { copy_core(x, y); }
522 void copy(const vector<float> &x, view1D<vector<float>, float> &y) {
523  copy_core(x, y);
524 }
525 void copy(const vector<float> &x, view1D<matrix::Dense<float>, float> &y) {
526  copy_core(x, y);
527 }
528 void copy(const view1D<vector<float>, float> &x, vector<float> &y) {
529  copy_core(x, y);
530 }
531 void copy(const view1D<vector<float>, float> &x,
532  view1D<vector<float>, float> &y) {
533  copy_core(x, y);
534 }
535 void copy(const view1D<vector<float>, float> &x,
536  view1D<matrix::Dense<float>, float> &y) {
537  copy_core(x, y);
538 }
539 void copy(const view1D<matrix::Dense<float>, float> &x, vector<float> &y) {
540  copy_core(x, y);
541 }
542 void copy(const view1D<matrix::Dense<float>, float> &x,
543  view1D<vector<float>, float> &y) {
544  copy_core(x, y);
545 }
546 void copy(const view1D<matrix::Dense<float>, float> &x,
547  view1D<matrix::Dense<float>, float> &y) {
548  copy_core(x, y);
549 }
550 
551 double asum(const vector<double> &x) { return Dasum_core(x); }
552 double asum(const view1D<vector<double>, double> &x) { return Dasum_core(x); }
553 double asum(const view1D<matrix::Dense<double>, double> &x) {
554  return Dasum_core(x);
555 }
556 float asum(const vector<float> &x) { return Sasum_core(x); }
557 float asum(const view1D<vector<float>, float> &x) { return Sasum_core(x); }
558 float asum(const view1D<matrix::Dense<float>, float> &x) {
559  return Sasum_core(x);
560 }
561 
562 void asum(const vector<double> &x, double &ans) { ans = asum(x); }
563 void asum(const view1D<vector<double>, double> &x, double &ans) {
564  ans = asum(x);
565 }
566 void asum(const view1D<matrix::Dense<double>, double> &x, double &ans) {
567  ans = asum(x);
568 }
569 void asum(const vector<float> &x, float &ans) { ans = asum(x); }
570 void asum(const view1D<vector<float>, float> &x, float &ans) { ans = asum(x); }
571 void asum(const view1D<matrix::Dense<float>, float> &x, float &ans) {
572  ans = asum(x);
573 }
574 
575 double sum(const vector<double> &x) { return Dsum_core(x); }
576 double sum(const view1D<vector<double>, double> &x) { return Dsum_core(x); }
577 double sum(const view1D<matrix::Dense<double>, double> &x) {
578  return Dsum_core(x);
579 }
580 float sum(const vector<float> &x) { return Ssum_core(x); }
581 float sum(const view1D<vector<float>, float> &x) { return Ssum_core(x); }
582 float sum(const view1D<matrix::Dense<float>, float> &x) { return Ssum_core(x); }
583 
584 void sum(const vector<double> &x, double &ans) { ans = sum(x); }
585 void sum(const view1D<vector<double>, double> &x, double &ans) { ans = sum(x); }
586 void sum(const view1D<matrix::Dense<double>, double> &x, double &ans) {
587  ans = sum(x);
588 }
589 void sum(const vector<float> &x, float &ans) { ans = sum(x); }
590 void sum(const view1D<vector<float>, float> &x, float &ans) { ans = sum(x); }
591 void sum(const view1D<matrix::Dense<float>, float> &x, float &ans) {
592  ans = sum(x);
593 }
594 
595 void axpy(const double alpha, const vector<double> &x, vector<double> &y) {
596  Daxpy_core(alpha, x, y);
597 }
598 void axpy(const double alpha, const vector<double> &x,
599  view1D<vector<double>, double> &y) {
600  Daxpy_core(alpha, x, y);
601 }
602 void axpy(const double alpha, const vector<double> &x,
603  view1D<matrix::Dense<double>, double> &y) {
604  Daxpy_core(alpha, x, y);
605 }
606 void axpy(const double alpha, const view1D<vector<double>, double> &x,
607  vector<double> &y) {
608  Daxpy_core(alpha, x, y);
609 }
610 void axpy(const double alpha, const view1D<vector<double>, double> &x,
611  view1D<vector<double>, double> &y) {
612  Daxpy_core(alpha, x, y);
613 }
614 void axpy(const double alpha, const view1D<vector<double>, double> &x,
615  view1D<matrix::Dense<double>, double> &y) {
616  Daxpy_core(alpha, x, y);
617 }
618 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
619  vector<double> &y) {
620  Daxpy_core(alpha, x, y);
621 }
622 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
623  view1D<vector<double>, double> &y) {
624  Daxpy_core(alpha, x, y);
625 }
626 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
627  view1D<matrix::Dense<double>, double> &y) {
628  Daxpy_core(alpha, x, y);
629 }
630 void axpy(const float alpha, const vector<float> &x, vector<float> &y) {
631  Saxpy_core(alpha, x, y);
632 }
633 void axpy(const float alpha, const vector<float> &x,
634  view1D<vector<float>, float> &y) {
635  Saxpy_core(alpha, x, y);
636 }
637 void axpy(const float alpha, const vector<float> &x,
638  view1D<matrix::Dense<float>, float> &y) {
639  Saxpy_core(alpha, x, y);
640 }
641 void axpy(const float alpha, const view1D<vector<float>, float> &x,
642  vector<float> &y) {
643  Saxpy_core(alpha, x, y);
644 }
645 void axpy(const float alpha, const view1D<vector<float>, float> &x,
646  view1D<vector<float>, float> &y) {
647  Saxpy_core(alpha, x, y);
648 }
649 void axpy(const float alpha, const view1D<vector<float>, float> &x,
650  view1D<matrix::Dense<float>, float> &y) {
651  Saxpy_core(alpha, x, y);
652 }
653 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
654  vector<float> &y) {
655  Saxpy_core(alpha, x, y);
656 }
657 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
658  view1D<vector<float>, float> &y) {
659  Saxpy_core(alpha, x, y);
660 }
661 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
662  view1D<matrix::Dense<float>, float> &y) {
663  Saxpy_core(alpha, x, y);
664 }
665 
666 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
667  vector<double> &z) {
668  Daxpyz_core(alpha, x, y, z);
669 }
670 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
671  view1D<vector<double>, double> &z) {
672  Daxpyz_core(alpha, x, y, z);
673 }
674 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
675  view1D<matrix::Dense<double>, double> &z) {
676  Daxpyz_core(alpha, x, y, z);
677 }
678 void axpyz(const double alpha, const vector<double> &x,
679  const view1D<vector<double>, double> &y, vector<double> &z) {
680  Daxpyz_core(alpha, x, y, z);
681 }
682 void axpyz(const double alpha, const vector<double> &x,
683  const view1D<vector<double>, double> &y,
684  view1D<vector<double>, double> &z) {
685  Daxpyz_core(alpha, x, y, z);
686 }
687 void axpyz(const double alpha, const vector<double> &x,
688  const view1D<vector<double>, double> &y,
689  view1D<matrix::Dense<double>, double> &z) {
690  Daxpyz_core(alpha, x, y, z);
691 }
692 void axpyz(const double alpha, const vector<double> &x,
693  const view1D<matrix::Dense<double>, double> &y, vector<double> &z) {
694  Daxpyz_core(alpha, x, y, z);
695 }
696 void axpyz(const double alpha, const vector<double> &x,
697  const view1D<matrix::Dense<double>, double> &y,
698  view1D<vector<double>, double> &z) {
699  Daxpyz_core(alpha, x, y, z);
700 }
701 void axpyz(const double alpha, const vector<double> &x,
702  const view1D<matrix::Dense<double>, double> &y,
703  view1D<matrix::Dense<double>, double> &z) {
704  Daxpyz_core(alpha, x, y, z);
705 }
706 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
707  const vector<double> &y, vector<double> &z) {
708  Daxpyz_core(alpha, x, y, z);
709 }
710 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
711  const vector<double> &y, view1D<vector<double>, double> &z) {
712  Daxpyz_core(alpha, x, y, z);
713 }
714 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
715  const vector<double> &y, view1D<matrix::Dense<double>, double> &z) {
716  Daxpyz_core(alpha, x, y, z);
717 }
718 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
719  const view1D<vector<double>, double> &y, vector<double> &z) {
720  Daxpyz_core(alpha, x, y, z);
721 }
722 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
723  const view1D<vector<double>, double> &y,
724  view1D<vector<double>, double> &z) {
725  Daxpyz_core(alpha, x, y, z);
726 }
727 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
728  const view1D<vector<double>, double> &y,
729  view1D<matrix::Dense<double>, double> &z) {
730  Daxpyz_core(alpha, x, y, z);
731 }
732 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
733  const view1D<matrix::Dense<double>, double> &y, vector<double> &z) {
734  Daxpyz_core(alpha, x, y, z);
735 }
736 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
737  const view1D<matrix::Dense<double>, double> &y,
738  view1D<vector<double>, double> &z) {
739  Daxpyz_core(alpha, x, y, z);
740 }
741 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
742  const view1D<matrix::Dense<double>, double> &y,
743  view1D<matrix::Dense<double>, double> &z) {
744  Daxpyz_core(alpha, x, y, z);
745 }
746 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
747  const vector<double> &y, vector<double> &z) {
748  Daxpyz_core(alpha, x, y, z);
749 }
750 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
751  const vector<double> &y, view1D<vector<double>, double> &z) {
752  Daxpyz_core(alpha, x, y, z);
753 }
754 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
755  const vector<double> &y, view1D<matrix::Dense<double>, double> &z) {
756  Daxpyz_core(alpha, x, y, z);
757 }
758 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
759  const view1D<vector<double>, double> &y, vector<double> &z) {
760  Daxpyz_core(alpha, x, y, z);
761 }
762 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
763  const view1D<vector<double>, double> &y,
764  view1D<vector<double>, double> &z) {
765  Daxpyz_core(alpha, x, y, z);
766 }
767 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
768  const view1D<vector<double>, double> &y,
769  view1D<matrix::Dense<double>, double> &z) {
770  Daxpyz_core(alpha, x, y, z);
771 }
772 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
773  const view1D<matrix::Dense<double>, double> &y, vector<double> &z) {
774  Daxpyz_core(alpha, x, y, z);
775 }
776 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
777  const view1D<matrix::Dense<double>, double> &y,
778  view1D<vector<double>, double> &z) {
779  Daxpyz_core(alpha, x, y, z);
780 }
781 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
782  const view1D<matrix::Dense<double>, double> &y,
783  view1D<matrix::Dense<double>, double> &z) {
784  Daxpyz_core(alpha, x, y, z);
785 }
786 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
787  vector<float> &z) {
788  Saxpyz_core(alpha, x, y, z);
789 }
790 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
791  view1D<vector<float>, float> &z) {
792  Saxpyz_core(alpha, x, y, z);
793 }
794 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
795  view1D<matrix::Dense<float>, float> &z) {
796  Saxpyz_core(alpha, x, y, z);
797 }
798 void axpyz(const float alpha, const vector<float> &x,
799  const view1D<vector<float>, float> &y, vector<float> &z) {
800  Saxpyz_core(alpha, x, y, z);
801 }
802 void axpyz(const float alpha, const vector<float> &x,
803  const view1D<vector<float>, float> &y,
804  view1D<vector<float>, float> &z) {
805  Saxpyz_core(alpha, x, y, z);
806 }
807 void axpyz(const float alpha, const vector<float> &x,
808  const view1D<vector<float>, float> &y,
809  view1D<matrix::Dense<float>, float> &z) {
810  Saxpyz_core(alpha, x, y, z);
811 }
812 void axpyz(const float alpha, const vector<float> &x,
813  const view1D<matrix::Dense<float>, float> &y, vector<float> &z) {
814  Saxpyz_core(alpha, x, y, z);
815 }
816 void axpyz(const float alpha, const vector<float> &x,
817  const view1D<matrix::Dense<float>, float> &y,
818  view1D<vector<float>, float> &z) {
819  Saxpyz_core(alpha, x, y, z);
820 }
821 void axpyz(const float alpha, const vector<float> &x,
822  const view1D<matrix::Dense<float>, float> &y,
823  view1D<matrix::Dense<float>, float> &z) {
824  Saxpyz_core(alpha, x, y, z);
825 }
826 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
827  const vector<float> &y, vector<float> &z) {
828  Saxpyz_core(alpha, x, y, z);
829 }
830 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
831  const vector<float> &y, view1D<vector<float>, float> &z) {
832  Saxpyz_core(alpha, x, y, z);
833 }
834 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
835  const vector<float> &y, view1D<matrix::Dense<float>, float> &z) {
836  Saxpyz_core(alpha, x, y, z);
837 }
838 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
839  const view1D<vector<float>, float> &y, vector<float> &z) {
840  Saxpyz_core(alpha, x, y, z);
841 }
842 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
843  const view1D<vector<float>, float> &y,
844  view1D<vector<float>, float> &z) {
845  Saxpyz_core(alpha, x, y, z);
846 }
847 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
848  const view1D<vector<float>, float> &y,
849  view1D<matrix::Dense<float>, float> &z) {
850  Saxpyz_core(alpha, x, y, z);
851 }
852 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
853  const view1D<matrix::Dense<float>, float> &y, vector<float> &z) {
854  Saxpyz_core(alpha, x, y, z);
855 }
856 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
857  const view1D<matrix::Dense<float>, float> &y,
858  view1D<vector<float>, float> &z) {
859  Saxpyz_core(alpha, x, y, z);
860 }
861 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
862  const view1D<matrix::Dense<float>, float> &y,
863  view1D<matrix::Dense<float>, float> &z) {
864  Saxpyz_core(alpha, x, y, z);
865 }
866 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
867  const vector<float> &y, vector<float> &z) {
868  Saxpyz_core(alpha, x, y, z);
869 }
870 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
871  const vector<float> &y, view1D<vector<float>, float> &z) {
872  Saxpyz_core(alpha, x, y, z);
873 }
874 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
875  const vector<float> &y, view1D<matrix::Dense<float>, float> &z) {
876  Saxpyz_core(alpha, x, y, z);
877 }
878 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
879  const view1D<vector<float>, float> &y, vector<float> &z) {
880  Saxpyz_core(alpha, x, y, z);
881 }
882 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
883  const view1D<vector<float>, float> &y,
884  view1D<vector<float>, float> &z) {
885  Saxpyz_core(alpha, x, y, z);
886 }
887 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
888  const view1D<vector<float>, float> &y,
889  view1D<matrix::Dense<float>, float> &z) {
890  Saxpyz_core(alpha, x, y, z);
891 }
892 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
893  const view1D<matrix::Dense<float>, float> &y, vector<float> &z) {
894  Saxpyz_core(alpha, x, y, z);
895 }
896 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
897  const view1D<matrix::Dense<float>, float> &y,
898  view1D<vector<float>, float> &z) {
899  Saxpyz_core(alpha, x, y, z);
900 }
901 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
902  const view1D<matrix::Dense<float>, float> &y,
903  view1D<matrix::Dense<float>, float> &z) {
904  Saxpyz_core(alpha, x, y, z);
905 }
906 
907 double dot(const vector<double> &x, const vector<double> &y) {
908  return Ddot_core(x, y);
909 }
910 double dot(const vector<double> &x, const view1D<vector<double>, double> &y) {
911  return Ddot_core(x, y);
912 }
913 double dot(const vector<double> &x,
914  const view1D<matrix::Dense<double>, double> &y) {
915  return Ddot_core(x, y);
916 }
917 double dot(const view1D<vector<double>, double> &x, const vector<double> &y) {
918  return Ddot_core(x, y);
919 }
920 double dot(const view1D<vector<double>, double> &x,
921  const view1D<vector<double>, double> &y) {
922  return Ddot_core(x, y);
923 }
924 double dot(const view1D<vector<double>, double> &x,
925  const view1D<matrix::Dense<double>, double> &y) {
926  return Ddot_core(x, y);
927 }
928 double dot(const view1D<matrix::Dense<double>, double> &x,
929  const vector<double> &y) {
930  return Ddot_core(x, y);
931 }
932 double dot(const view1D<matrix::Dense<double>, double> &x,
933  const view1D<vector<double>, double> &y) {
934  return Ddot_core(x, y);
935 }
936 double dot(const view1D<matrix::Dense<double>, double> &x,
937  const view1D<matrix::Dense<double>, double> &y) {
938  return Ddot_core(x, y);
939 }
940 float dot(const vector<float> &x, const vector<float> &y) {
941  return Sdot_core(x, y);
942 }
943 float dot(const vector<float> &x, const view1D<vector<float>, float> &y) {
944  return Sdot_core(x, y);
945 }
946 float dot(const vector<float> &x,
947  const view1D<matrix::Dense<float>, float> &y) {
948  return Sdot_core(x, y);
949 }
950 float dot(const view1D<vector<float>, float> &x, const vector<float> &y) {
951  return Sdot_core(x, y);
952 }
953 float dot(const view1D<vector<float>, float> &x,
954  const view1D<vector<float>, float> &y) {
955  return Sdot_core(x, y);
956 }
957 float dot(const view1D<vector<float>, float> &x,
958  const view1D<matrix::Dense<float>, float> &y) {
959  return Sdot_core(x, y);
960 }
961 float dot(const view1D<matrix::Dense<float>, float> &x,
962  const vector<float> &y) {
963  return Sdot_core(x, y);
964 }
965 float dot(const view1D<matrix::Dense<float>, float> &x,
966  const view1D<vector<float>, float> &y) {
967  return Sdot_core(x, y);
968 }
969 float dot(const view1D<matrix::Dense<float>, float> &x,
970  const view1D<matrix::Dense<float>, float> &y) {
971  return Sdot_core(x, y);
972 }
973 
974 void dot(const vector<double> &x, const vector<double> &y, double &ans) {
975  ans = dot(x, y);
976 }
977 void dot(const vector<double> &x, const view1D<vector<double>, double> &y,
978  double &ans) {
979  ans = dot(x, y);
980 }
981 void dot(const vector<double> &x,
982  const view1D<matrix::Dense<double>, double> &y, double &ans) {
983  ans = dot(x, y);
984 }
985 void dot(const view1D<vector<double>, double> &x, const vector<double> &y,
986  double &ans) {
987  ans = dot(x, y);
988 }
989 void dot(const view1D<vector<double>, double> &x,
990  const view1D<vector<double>, double> &y, double &ans) {
991  ans = dot(x, y);
992 }
993 void dot(const view1D<vector<double>, double> &x,
994  const view1D<matrix::Dense<double>, double> &y, double &ans) {
995  ans = dot(x, y);
996 }
997 void dot(const view1D<matrix::Dense<double>, double> &x,
998  const vector<double> &y, double &ans) {
999  ans = dot(x, y);
1000 }
1001 void dot(const view1D<matrix::Dense<double>, double> &x,
1002  const view1D<vector<double>, double> &y, double &ans) {
1003  ans = dot(x, y);
1004 }
1005 void dot(const view1D<matrix::Dense<double>, double> &x,
1006  const view1D<matrix::Dense<double>, double> &y, double &ans) {
1007  ans = dot(x, y);
1008 }
1009 void dot(const vector<float> &x, const vector<float> &y, float &ans) {
1010  ans = dot(x, y);
1011 }
1012 void dot(const vector<float> &x, const view1D<vector<float>, float> &y,
1013  float &ans) {
1014  ans = dot(x, y);
1015 }
1016 void dot(const vector<float> &x, const view1D<matrix::Dense<float>, float> &y,
1017  float &ans) {
1018  ans = dot(x, y);
1019 }
1020 void dot(const view1D<vector<float>, float> &x, const vector<float> &y,
1021  float &ans) {
1022  ans = dot(x, y);
1023 }
1024 void dot(const view1D<vector<float>, float> &x,
1025  const view1D<vector<float>, float> &y, float &ans) {
1026  ans = dot(x, y);
1027 }
1028 void dot(const view1D<vector<float>, float> &x,
1029  const view1D<matrix::Dense<float>, float> &y, float &ans) {
1030  ans = dot(x, y);
1031 }
1032 void dot(const view1D<matrix::Dense<float>, float> &x, const vector<float> &y,
1033  float &ans) {
1034  ans = dot(x, y);
1035 }
1036 void dot(const view1D<matrix::Dense<float>, float> &x,
1037  const view1D<vector<float>, float> &y, float &ans) {
1038  ans = dot(x, y);
1039 }
1040 void dot(const view1D<matrix::Dense<float>, float> &x,
1041  const view1D<matrix::Dense<float>, float> &y, float &ans) {
1042  ans = dot(x, y);
1043 }
1044 
1045 double nrm1(const vector<double> &x) { return Dnrm1_core(x); }
1046 double nrm1(const view1D<vector<double>, double> &x) { return Dnrm1_core(x); }
1047 double nrm1(const view1D<matrix::Dense<double>, double> &x) {
1048  return Dnrm1_core(x);
1049 }
1050 float nrm1(const vector<float> &x) { return Snrm1_core(x); }
1051 float nrm1(const view1D<vector<float>, float> &x) { return Snrm1_core(x); }
1052 float nrm1(const view1D<matrix::Dense<float>, float> &x) {
1053  return Snrm1_core(x);
1054 }
1055 
1056 void nrm1(const vector<double> &x, double &ans) { ans = nrm1(x); }
1057 void nrm1(const view1D<vector<double>, double> &x, double &ans) {
1058  ans = nrm1(x);
1059 }
1060 void nrm1(const view1D<matrix::Dense<double>, double> &x, double &ans) {
1061  ans = nrm1(x);
1062 }
1063 void nrm1(const vector<float> &x, float &ans) { ans = nrm1(x); }
1064 void nrm1(const view1D<vector<float>, float> &x, float &ans) { ans = nrm1(x); }
1065 void nrm1(const view1D<matrix::Dense<float>, float> &x, float &ans) {
1066  ans = nrm1(x);
1067 }
1068 
1069 double nrm2(const vector<double> &x) { return Dnrm2_core(x); }
1070 double nrm2(const view1D<vector<double>, double> &x) { return Dnrm2_core(x); }
1071 double nrm2(const view1D<matrix::Dense<double>, double> &x) {
1072  return Dnrm2_core(x);
1073 }
1074 float nrm2(const vector<float> &x) { return Snrm2_core(x); }
1075 float nrm2(const view1D<vector<float>, float> &x) { return Snrm2_core(x); }
1076 float nrm2(const view1D<matrix::Dense<float>, float> &x) {
1077  return Snrm2_core(x);
1078 }
1079 
1080 void nrm2(const vector<double> &x, double &ans) { ans = nrm2(x); }
1081 void nrm2(const view1D<vector<double>, double> &x, double &ans) {
1082  ans = nrm2(x);
1083 }
1084 void nrm2(const view1D<matrix::Dense<double>, double> &x, double &ans) {
1085  ans = nrm2(x);
1086 }
1087 void nrm2(const vector<float> &x, float &ans) { ans = nrm2(x); }
1088 void nrm2(const view1D<vector<float>, float> &x, float &ans) { ans = nrm2(x); }
1089 void nrm2(const view1D<matrix::Dense<float>, float> &x, float &ans) {
1090  ans = nrm2(x);
1091 }
1092 
1093 void scal(const double alpha, vector<double> &x) { Dscal_core(alpha, x); }
1094 void scal(const double alpha, view1D<vector<double>, double> &x) {
1095  Dscal_core(alpha, x);
1096 }
1097 void scal(const double alpha, view1D<matrix::Dense<double>, double> &x) {
1098  Dscal_core(alpha, x);
1099 }
1100 void scal(const float alpha, vector<float> &x) { Sscal_core(alpha, x); }
1101 void scal(const float alpha, view1D<vector<float>, float> &x) {
1102  Sscal_core(alpha, x);
1103 }
1104 void scal(const float alpha, view1D<matrix::Dense<float>, float> &x) {
1105  Sscal_core(alpha, x);
1106 }
1107 
1108 void xpay(const double alpha, const vector<double> &x, vector<double> &y) {
1109  Dxpay_core(alpha, x, y);
1110 }
1111 void xpay(const double alpha, const vector<double> &x,
1112  view1D<vector<double>, double> &y) {
1113  Dxpay_core(alpha, x, y);
1114 }
1115 void xpay(const double alpha, const vector<double> &x,
1116  view1D<matrix::Dense<double>, double> &y) {
1117  Dxpay_core(alpha, x, y);
1118 }
1119 void xpay(const double alpha, const view1D<vector<double>, double> &x,
1120  vector<double> &y) {
1121  Dxpay_core(alpha, x, y);
1122 }
1123 void xpay(const double alpha, const view1D<vector<double>, double> &x,
1124  view1D<vector<double>, double> &y) {
1125  Dxpay_core(alpha, x, y);
1126 }
1127 void xpay(const double alpha, const view1D<vector<double>, double> &x,
1128  view1D<matrix::Dense<double>, double> &y) {
1129  Dxpay_core(alpha, x, y);
1130 }
1131 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1132  vector<double> &y) {
1133  Dxpay_core(alpha, x, y);
1134 }
1135 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1136  view1D<vector<double>, double> &y) {
1137  Dxpay_core(alpha, x, y);
1138 }
1139 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1140  view1D<matrix::Dense<double>, double> &y) {
1141  Dxpay_core(alpha, x, y);
1142 }
1143 void xpay(const float alpha, const vector<float> &x, vector<float> &y) {
1144  Sxpay_core(alpha, x, y);
1145 }
1146 void xpay(const float alpha, const vector<float> &x,
1147  view1D<vector<float>, float> &y) {
1148  Sxpay_core(alpha, x, y);
1149 }
1150 void xpay(const float alpha, const vector<float> &x,
1151  view1D<matrix::Dense<float>, float> &y) {
1152  Sxpay_core(alpha, x, y);
1153 }
1154 void xpay(const float alpha, const view1D<vector<float>, float> &x,
1155  vector<float> &y) {
1156  Sxpay_core(alpha, x, y);
1157 }
1158 void xpay(const float alpha, const view1D<vector<float>, float> &x,
1159  view1D<vector<float>, float> &y) {
1160  Sxpay_core(alpha, x, y);
1161 }
1162 void xpay(const float alpha, const view1D<vector<float>, float> &x,
1163  view1D<matrix::Dense<float>, float> &y) {
1164  Sxpay_core(alpha, x, y);
1165 }
1166 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1167  vector<float> &y) {
1168  Sxpay_core(alpha, x, y);
1169 }
1170 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1171  view1D<vector<float>, float> &y) {
1172  Sxpay_core(alpha, x, y);
1173 }
1174 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1175  view1D<matrix::Dense<float>, float> &y) {
1176  Sxpay_core(alpha, x, y);
1177 }
1178 
1179 } // namespace blas
1180 } // namespace monolish
copy.hpp
monolish::blas::vecadd
void vecadd(const vector< double > &a, const vector< double > &b, vector< double > &y)
element by element addition of vector a and vector b.
Definition: vector_blas.cpp:20
monolish::blas::nrm1
void nrm1(const vector< double > &x, double &ans)
nrm1: sum(abs(x[0:N]))
Definition: vector_blas.cpp:1056
monolish::blas::nrm2
void nrm2(const vector< double > &x, double &ans)
nrm2: ||x||_2
Definition: vector_blas.cpp:1080
monolish::blas::axpy
void axpy(const double alpha, const vector< double > &x, vector< double > &y)
axpy: y = ax + y
Definition: vector_blas.cpp:595
monolish::matrix::Dense
Dense format Matrix.
Definition: monolish_coo.hpp:28
vecadd.hpp
nrm1.hpp
scal.hpp
vecsub.hpp
dot.hpp
nrm2.hpp
monolish::blas::sum
void sum(const vector< double > &x, double &ans)
vector<float> sum
Definition: vector_blas.cpp:584
monolish::blas::copy
void copy(const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix copy (C=A)
Definition: dense_copy.cpp:25
monolish::blas::asum
void asum(const vector< double > &x, double &ans)
vector<float> asum (absolute sum)
Definition: vector_blas.cpp:562
monolish
Definition: monolish_matrix_blas.hpp:9
axpyz.hpp
monolish::blas::dot
void dot(const vector< double > &x, const vector< double > &y, double &ans)
inner product (dot)
Definition: vector_blas.cpp:974
monolish::blas::xpay
void xpay(const double alpha, const vector< double > &x, vector< double > &y)
xpay: y = x + ay
Definition: vector_blas.cpp:1108
sum.hpp
monolish::view1D
1D view class
Definition: monolish_coo.hpp:26
monolish::blas::scal
void scal(const double alpha, vector< double > &x)
scal: x = alpha * x
Definition: vector_blas.cpp:1093
monolish::blas::axpyz
void axpyz(const double alpha, const vector< double > &x, const vector< double > &y, vector< double > &z)
axpyz: z = ax + y
Definition: vector_blas.cpp:666
monolish::vector
vector class
Definition: monolish_coo.hpp:25
monolish::blas::vecsub
void vecsub(const vector< double > &a, const vector< double > &b, vector< double > &y)
element by element subtract of vector a and vector b.
Definition: vector_blas.cpp:256
axpy.hpp
xpay.hpp
asum.hpp