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