monolish  0.17.3-dev.16
MONOlithic LInear equation Solvers for Highly-parallel architecture
monolish_vector_blas.hpp
Go to the documentation of this file.
1 // this code is generated by gen_vector_blas.sh
2 #pragma once
3 #include "../common/monolish_common.hpp"
4 
5 namespace monolish {
11 namespace blas {
12 
33 void copy(const vector<double> &x, vector<double> &y);
34 void copy(const vector<double> &x, view1D<vector<double>, double> &y);
35 void copy(const vector<double> &x, view1D<matrix::Dense<double>, double> &y);
36 void copy(const vector<double> &x,
38 void copy(const view1D<vector<double>, double> &x, vector<double> &y);
39 void copy(const view1D<vector<double>, double> &x,
40  view1D<vector<double>, double> &y);
41 void copy(const view1D<vector<double>, double> &x,
42  view1D<matrix::Dense<double>, double> &y);
43 void copy(const view1D<vector<double>, double> &x,
45 void copy(const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
46 void copy(const view1D<matrix::Dense<double>, double> &x,
47  view1D<vector<double>, double> &y);
48 void copy(const view1D<matrix::Dense<double>, double> &x,
49  view1D<matrix::Dense<double>, double> &y);
50 void copy(const view1D<matrix::Dense<double>, double> &x,
52 void copy(const view1D<tensor::tensor_Dense<double>, double> &x,
53  vector<double> &y);
54 void copy(const view1D<tensor::tensor_Dense<double>, double> &x,
55  view1D<vector<double>, double> &y);
56 void copy(const view1D<tensor::tensor_Dense<double>, double> &x,
57  view1D<matrix::Dense<double>, double> &y);
58 void copy(const view1D<tensor::tensor_Dense<double>, double> &x,
60 void copy(const vector<float> &x, vector<float> &y);
61 void copy(const vector<float> &x, view1D<vector<float>, float> &y);
62 void copy(const vector<float> &x, view1D<matrix::Dense<float>, float> &y);
63 void copy(const vector<float> &x,
65 void copy(const view1D<vector<float>, float> &x, vector<float> &y);
66 void copy(const view1D<vector<float>, float> &x,
67  view1D<vector<float>, float> &y);
68 void copy(const view1D<vector<float>, float> &x,
69  view1D<matrix::Dense<float>, float> &y);
70 void copy(const view1D<vector<float>, float> &x,
72 void copy(const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
73 void copy(const view1D<matrix::Dense<float>, float> &x,
74  view1D<vector<float>, float> &y);
75 void copy(const view1D<matrix::Dense<float>, float> &x,
76  view1D<matrix::Dense<float>, float> &y);
77 void copy(const view1D<matrix::Dense<float>, float> &x,
79 void copy(const view1D<tensor::tensor_Dense<float>, float> &x,
80  vector<float> &y);
81 void copy(const view1D<tensor::tensor_Dense<float>, float> &x,
82  view1D<vector<float>, float> &y);
83 void copy(const view1D<tensor::tensor_Dense<float>, float> &x,
84  view1D<matrix::Dense<float>, float> &y);
85 void copy(const view1D<tensor::tensor_Dense<float>, float> &x,
105 void vecadd(const vector<double> &a, const vector<double> &b,
106  vector<double> &y);
107 void vecadd(const vector<double> &a, const vector<double> &b,
108  view1D<vector<double>, double> &y);
109 void vecadd(const vector<double> &a, const vector<double> &b,
110  view1D<matrix::Dense<double>, double> &y);
111 void vecadd(const vector<double> &a, const vector<double> &b,
113 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
114  vector<double> &y);
115 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
116  view1D<vector<double>, double> &y);
117 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
118  view1D<matrix::Dense<double>, double> &y);
119 void vecadd(const vector<double> &a, const view1D<vector<double>, double> &b,
121 void vecadd(const vector<double> &a,
122  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
123 void vecadd(const vector<double> &a,
124  const view1D<matrix::Dense<double>, double> &b,
125  view1D<vector<double>, double> &y);
126 void vecadd(const vector<double> &a,
127  const view1D<matrix::Dense<double>, double> &b,
128  view1D<matrix::Dense<double>, double> &y);
129 void vecadd(const vector<double> &a,
130  const view1D<matrix::Dense<double>, double> &b,
132 void vecadd(const vector<double> &a,
133  const view1D<tensor::tensor_Dense<double>, double> &b,
134  vector<double> &y);
135 void vecadd(const vector<double> &a,
136  const view1D<tensor::tensor_Dense<double>, double> &b,
137  view1D<vector<double>, double> &y);
138 void vecadd(const vector<double> &a,
139  const view1D<tensor::tensor_Dense<double>, double> &b,
140  view1D<matrix::Dense<double>, double> &y);
141 void vecadd(const vector<double> &a,
142  const view1D<tensor::tensor_Dense<double>, double> &b,
144 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
145  vector<double> &y);
146 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
147  view1D<vector<double>, double> &y);
148 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
149  view1D<matrix::Dense<double>, double> &y);
150 void vecadd(const view1D<vector<double>, double> &a, const vector<double> &b,
152 void vecadd(const view1D<vector<double>, double> &a,
153  const view1D<vector<double>, double> &b, vector<double> &y);
154 void vecadd(const view1D<vector<double>, double> &a,
155  const view1D<vector<double>, double> &b,
156  view1D<vector<double>, double> &y);
157 void vecadd(const view1D<vector<double>, double> &a,
158  const view1D<vector<double>, double> &b,
159  view1D<matrix::Dense<double>, double> &y);
160 void vecadd(const view1D<vector<double>, double> &a,
161  const view1D<vector<double>, double> &b,
163 void vecadd(const view1D<vector<double>, double> &a,
164  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
165 void vecadd(const view1D<vector<double>, double> &a,
166  const view1D<matrix::Dense<double>, double> &b,
167  view1D<vector<double>, double> &y);
168 void vecadd(const view1D<vector<double>, double> &a,
169  const view1D<matrix::Dense<double>, double> &b,
170  view1D<matrix::Dense<double>, double> &y);
171 void vecadd(const view1D<vector<double>, double> &a,
172  const view1D<matrix::Dense<double>, double> &b,
174 void vecadd(const view1D<vector<double>, double> &a,
175  const view1D<tensor::tensor_Dense<double>, double> &b,
176  vector<double> &y);
177 void vecadd(const view1D<vector<double>, double> &a,
178  const view1D<tensor::tensor_Dense<double>, double> &b,
179  view1D<vector<double>, double> &y);
180 void vecadd(const view1D<vector<double>, double> &a,
181  const view1D<tensor::tensor_Dense<double>, double> &b,
182  view1D<matrix::Dense<double>, double> &y);
183 void vecadd(const view1D<vector<double>, double> &a,
184  const view1D<tensor::tensor_Dense<double>, double> &b,
186 void vecadd(const view1D<matrix::Dense<double>, double> &a,
187  const vector<double> &b, vector<double> &y);
188 void vecadd(const view1D<matrix::Dense<double>, double> &a,
189  const vector<double> &b, view1D<vector<double>, double> &y);
190 void vecadd(const view1D<matrix::Dense<double>, double> &a,
191  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
192 void vecadd(const view1D<matrix::Dense<double>, double> &a,
193  const vector<double> &b,
195 void vecadd(const view1D<matrix::Dense<double>, double> &a,
196  const view1D<vector<double>, double> &b, vector<double> &y);
197 void vecadd(const view1D<matrix::Dense<double>, double> &a,
198  const view1D<vector<double>, double> &b,
199  view1D<vector<double>, double> &y);
200 void vecadd(const view1D<matrix::Dense<double>, double> &a,
201  const view1D<vector<double>, double> &b,
202  view1D<matrix::Dense<double>, double> &y);
203 void vecadd(const view1D<matrix::Dense<double>, double> &a,
204  const view1D<vector<double>, double> &b,
206 void vecadd(const view1D<matrix::Dense<double>, double> &a,
207  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
208 void vecadd(const view1D<matrix::Dense<double>, double> &a,
209  const view1D<matrix::Dense<double>, double> &b,
210  view1D<vector<double>, double> &y);
211 void vecadd(const view1D<matrix::Dense<double>, double> &a,
212  const view1D<matrix::Dense<double>, double> &b,
213  view1D<matrix::Dense<double>, double> &y);
214 void vecadd(const view1D<matrix::Dense<double>, double> &a,
215  const view1D<matrix::Dense<double>, double> &b,
217 void vecadd(const view1D<matrix::Dense<double>, double> &a,
218  const view1D<tensor::tensor_Dense<double>, double> &b,
219  vector<double> &y);
220 void vecadd(const view1D<matrix::Dense<double>, double> &a,
221  const view1D<tensor::tensor_Dense<double>, double> &b,
222  view1D<vector<double>, double> &y);
223 void vecadd(const view1D<matrix::Dense<double>, double> &a,
224  const view1D<tensor::tensor_Dense<double>, double> &b,
225  view1D<matrix::Dense<double>, double> &y);
226 void vecadd(const view1D<matrix::Dense<double>, double> &a,
227  const view1D<tensor::tensor_Dense<double>, double> &b,
230  const vector<double> &b, vector<double> &y);
232  const vector<double> &b, view1D<vector<double>, double> &y);
234  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
236  const vector<double> &b,
239  const view1D<vector<double>, double> &b, vector<double> &y);
241  const view1D<vector<double>, double> &b,
242  view1D<vector<double>, double> &y);
244  const view1D<vector<double>, double> &b,
245  view1D<matrix::Dense<double>, double> &y);
247  const view1D<vector<double>, double> &b,
250  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
252  const view1D<matrix::Dense<double>, double> &b,
253  view1D<vector<double>, double> &y);
255  const view1D<matrix::Dense<double>, double> &b,
256  view1D<matrix::Dense<double>, double> &y);
258  const view1D<matrix::Dense<double>, double> &b,
261  const view1D<tensor::tensor_Dense<double>, double> &b,
262  vector<double> &y);
264  const view1D<tensor::tensor_Dense<double>, double> &b,
265  view1D<vector<double>, double> &y);
267  const view1D<tensor::tensor_Dense<double>, double> &b,
268  view1D<matrix::Dense<double>, double> &y);
270  const view1D<tensor::tensor_Dense<double>, double> &b,
272 void vecadd(const vector<float> &a, const vector<float> &b, vector<float> &y);
273 void vecadd(const vector<float> &a, const vector<float> &b,
274  view1D<vector<float>, float> &y);
275 void vecadd(const vector<float> &a, const vector<float> &b,
276  view1D<matrix::Dense<float>, float> &y);
277 void vecadd(const vector<float> &a, const vector<float> &b,
279 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
280  vector<float> &y);
281 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
282  view1D<vector<float>, float> &y);
283 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
284  view1D<matrix::Dense<float>, float> &y);
285 void vecadd(const vector<float> &a, const view1D<vector<float>, float> &b,
287 void vecadd(const vector<float> &a,
288  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
289 void vecadd(const vector<float> &a,
290  const view1D<matrix::Dense<float>, float> &b,
291  view1D<vector<float>, float> &y);
292 void vecadd(const vector<float> &a,
293  const view1D<matrix::Dense<float>, float> &b,
294  view1D<matrix::Dense<float>, float> &y);
295 void vecadd(const vector<float> &a,
296  const view1D<matrix::Dense<float>, float> &b,
298 void vecadd(const vector<float> &a,
299  const view1D<tensor::tensor_Dense<float>, float> &b,
300  vector<float> &y);
301 void vecadd(const vector<float> &a,
302  const view1D<tensor::tensor_Dense<float>, float> &b,
303  view1D<vector<float>, float> &y);
304 void vecadd(const vector<float> &a,
305  const view1D<tensor::tensor_Dense<float>, float> &b,
306  view1D<matrix::Dense<float>, float> &y);
307 void vecadd(const vector<float> &a,
308  const view1D<tensor::tensor_Dense<float>, float> &b,
310 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
311  vector<float> &y);
312 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
313  view1D<vector<float>, float> &y);
314 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
315  view1D<matrix::Dense<float>, float> &y);
316 void vecadd(const view1D<vector<float>, float> &a, const vector<float> &b,
318 void vecadd(const view1D<vector<float>, float> &a,
319  const view1D<vector<float>, float> &b, vector<float> &y);
320 void vecadd(const view1D<vector<float>, float> &a,
321  const view1D<vector<float>, float> &b,
322  view1D<vector<float>, float> &y);
323 void vecadd(const view1D<vector<float>, float> &a,
324  const view1D<vector<float>, float> &b,
325  view1D<matrix::Dense<float>, float> &y);
326 void vecadd(const view1D<vector<float>, float> &a,
327  const view1D<vector<float>, float> &b,
329 void vecadd(const view1D<vector<float>, float> &a,
330  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
331 void vecadd(const view1D<vector<float>, float> &a,
332  const view1D<matrix::Dense<float>, float> &b,
333  view1D<vector<float>, float> &y);
334 void vecadd(const view1D<vector<float>, float> &a,
335  const view1D<matrix::Dense<float>, float> &b,
336  view1D<matrix::Dense<float>, float> &y);
337 void vecadd(const view1D<vector<float>, float> &a,
338  const view1D<matrix::Dense<float>, float> &b,
340 void vecadd(const view1D<vector<float>, float> &a,
341  const view1D<tensor::tensor_Dense<float>, float> &b,
342  vector<float> &y);
343 void vecadd(const view1D<vector<float>, float> &a,
344  const view1D<tensor::tensor_Dense<float>, float> &b,
345  view1D<vector<float>, float> &y);
346 void vecadd(const view1D<vector<float>, float> &a,
347  const view1D<tensor::tensor_Dense<float>, float> &b,
348  view1D<matrix::Dense<float>, float> &y);
349 void vecadd(const view1D<vector<float>, float> &a,
350  const view1D<tensor::tensor_Dense<float>, float> &b,
352 void vecadd(const view1D<matrix::Dense<float>, float> &a,
353  const vector<float> &b, vector<float> &y);
354 void vecadd(const view1D<matrix::Dense<float>, float> &a,
355  const vector<float> &b, view1D<vector<float>, float> &y);
356 void vecadd(const view1D<matrix::Dense<float>, float> &a,
357  const vector<float> &b, view1D<matrix::Dense<float>, float> &y);
358 void vecadd(const view1D<matrix::Dense<float>, float> &a,
359  const vector<float> &b,
361 void vecadd(const view1D<matrix::Dense<float>, float> &a,
362  const view1D<vector<float>, float> &b, vector<float> &y);
363 void vecadd(const view1D<matrix::Dense<float>, float> &a,
364  const view1D<vector<float>, float> &b,
365  view1D<vector<float>, float> &y);
366 void vecadd(const view1D<matrix::Dense<float>, float> &a,
367  const view1D<vector<float>, float> &b,
368  view1D<matrix::Dense<float>, float> &y);
369 void vecadd(const view1D<matrix::Dense<float>, float> &a,
370  const view1D<vector<float>, float> &b,
372 void vecadd(const view1D<matrix::Dense<float>, float> &a,
373  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
374 void vecadd(const view1D<matrix::Dense<float>, float> &a,
375  const view1D<matrix::Dense<float>, float> &b,
376  view1D<vector<float>, float> &y);
377 void vecadd(const view1D<matrix::Dense<float>, float> &a,
378  const view1D<matrix::Dense<float>, float> &b,
379  view1D<matrix::Dense<float>, float> &y);
380 void vecadd(const view1D<matrix::Dense<float>, float> &a,
381  const view1D<matrix::Dense<float>, float> &b,
383 void vecadd(const view1D<matrix::Dense<float>, float> &a,
384  const view1D<tensor::tensor_Dense<float>, float> &b,
385  vector<float> &y);
386 void vecadd(const view1D<matrix::Dense<float>, float> &a,
387  const view1D<tensor::tensor_Dense<float>, float> &b,
388  view1D<vector<float>, float> &y);
389 void vecadd(const view1D<matrix::Dense<float>, float> &a,
390  const view1D<tensor::tensor_Dense<float>, float> &b,
391  view1D<matrix::Dense<float>, float> &y);
392 void vecadd(const view1D<matrix::Dense<float>, float> &a,
393  const view1D<tensor::tensor_Dense<float>, float> &b,
396  const vector<float> &b, vector<float> &y);
398  const vector<float> &b, view1D<vector<float>, float> &y);
400  const vector<float> &b, view1D<matrix::Dense<float>, float> &y);
402  const vector<float> &b,
405  const view1D<vector<float>, float> &b, vector<float> &y);
407  const view1D<vector<float>, float> &b,
408  view1D<vector<float>, float> &y);
410  const view1D<vector<float>, float> &b,
411  view1D<matrix::Dense<float>, float> &y);
413  const view1D<vector<float>, float> &b,
416  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
418  const view1D<matrix::Dense<float>, float> &b,
419  view1D<vector<float>, float> &y);
421  const view1D<matrix::Dense<float>, float> &b,
422  view1D<matrix::Dense<float>, float> &y);
424  const view1D<matrix::Dense<float>, float> &b,
427  const view1D<tensor::tensor_Dense<float>, float> &b,
428  vector<float> &y);
430  const view1D<tensor::tensor_Dense<float>, float> &b,
431  view1D<vector<float>, float> &y);
433  const view1D<tensor::tensor_Dense<float>, float> &b,
434  view1D<matrix::Dense<float>, float> &y);
436  const view1D<tensor::tensor_Dense<float>, float> &b,
456 void vecsub(const vector<double> &a, const vector<double> &b,
457  vector<double> &y);
458 void vecsub(const vector<double> &a, const vector<double> &b,
459  view1D<vector<double>, double> &y);
460 void vecsub(const vector<double> &a, const vector<double> &b,
461  view1D<matrix::Dense<double>, double> &y);
462 void vecsub(const vector<double> &a, const vector<double> &b,
464 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
465  vector<double> &y);
466 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
467  view1D<vector<double>, double> &y);
468 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
469  view1D<matrix::Dense<double>, double> &y);
470 void vecsub(const vector<double> &a, const view1D<vector<double>, double> &b,
472 void vecsub(const vector<double> &a,
473  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
474 void vecsub(const vector<double> &a,
475  const view1D<matrix::Dense<double>, double> &b,
476  view1D<vector<double>, double> &y);
477 void vecsub(const vector<double> &a,
478  const view1D<matrix::Dense<double>, double> &b,
479  view1D<matrix::Dense<double>, double> &y);
480 void vecsub(const vector<double> &a,
481  const view1D<matrix::Dense<double>, double> &b,
483 void vecsub(const vector<double> &a,
484  const view1D<tensor::tensor_Dense<double>, double> &b,
485  vector<double> &y);
486 void vecsub(const vector<double> &a,
487  const view1D<tensor::tensor_Dense<double>, double> &b,
488  view1D<vector<double>, double> &y);
489 void vecsub(const vector<double> &a,
490  const view1D<tensor::tensor_Dense<double>, double> &b,
491  view1D<matrix::Dense<double>, double> &y);
492 void vecsub(const vector<double> &a,
493  const view1D<tensor::tensor_Dense<double>, double> &b,
495 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
496  vector<double> &y);
497 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
498  view1D<vector<double>, double> &y);
499 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
500  view1D<matrix::Dense<double>, double> &y);
501 void vecsub(const view1D<vector<double>, double> &a, const vector<double> &b,
503 void vecsub(const view1D<vector<double>, double> &a,
504  const view1D<vector<double>, double> &b, vector<double> &y);
505 void vecsub(const view1D<vector<double>, double> &a,
506  const view1D<vector<double>, double> &b,
507  view1D<vector<double>, double> &y);
508 void vecsub(const view1D<vector<double>, double> &a,
509  const view1D<vector<double>, double> &b,
510  view1D<matrix::Dense<double>, double> &y);
511 void vecsub(const view1D<vector<double>, double> &a,
512  const view1D<vector<double>, double> &b,
514 void vecsub(const view1D<vector<double>, double> &a,
515  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
516 void vecsub(const view1D<vector<double>, double> &a,
517  const view1D<matrix::Dense<double>, double> &b,
518  view1D<vector<double>, double> &y);
519 void vecsub(const view1D<vector<double>, double> &a,
520  const view1D<matrix::Dense<double>, double> &b,
521  view1D<matrix::Dense<double>, double> &y);
522 void vecsub(const view1D<vector<double>, double> &a,
523  const view1D<matrix::Dense<double>, double> &b,
525 void vecsub(const view1D<vector<double>, double> &a,
526  const view1D<tensor::tensor_Dense<double>, double> &b,
527  vector<double> &y);
528 void vecsub(const view1D<vector<double>, double> &a,
529  const view1D<tensor::tensor_Dense<double>, double> &b,
530  view1D<vector<double>, double> &y);
531 void vecsub(const view1D<vector<double>, double> &a,
532  const view1D<tensor::tensor_Dense<double>, double> &b,
533  view1D<matrix::Dense<double>, double> &y);
534 void vecsub(const view1D<vector<double>, double> &a,
535  const view1D<tensor::tensor_Dense<double>, double> &b,
537 void vecsub(const view1D<matrix::Dense<double>, double> &a,
538  const vector<double> &b, vector<double> &y);
539 void vecsub(const view1D<matrix::Dense<double>, double> &a,
540  const vector<double> &b, view1D<vector<double>, double> &y);
541 void vecsub(const view1D<matrix::Dense<double>, double> &a,
542  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
543 void vecsub(const view1D<matrix::Dense<double>, double> &a,
544  const vector<double> &b,
546 void vecsub(const view1D<matrix::Dense<double>, double> &a,
547  const view1D<vector<double>, double> &b, vector<double> &y);
548 void vecsub(const view1D<matrix::Dense<double>, double> &a,
549  const view1D<vector<double>, double> &b,
550  view1D<vector<double>, double> &y);
551 void vecsub(const view1D<matrix::Dense<double>, double> &a,
552  const view1D<vector<double>, double> &b,
553  view1D<matrix::Dense<double>, double> &y);
554 void vecsub(const view1D<matrix::Dense<double>, double> &a,
555  const view1D<vector<double>, double> &b,
557 void vecsub(const view1D<matrix::Dense<double>, double> &a,
558  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
559 void vecsub(const view1D<matrix::Dense<double>, double> &a,
560  const view1D<matrix::Dense<double>, double> &b,
561  view1D<vector<double>, double> &y);
562 void vecsub(const view1D<matrix::Dense<double>, double> &a,
563  const view1D<matrix::Dense<double>, double> &b,
564  view1D<matrix::Dense<double>, double> &y);
565 void vecsub(const view1D<matrix::Dense<double>, double> &a,
566  const view1D<matrix::Dense<double>, double> &b,
568 void vecsub(const view1D<matrix::Dense<double>, double> &a,
569  const view1D<tensor::tensor_Dense<double>, double> &b,
570  vector<double> &y);
571 void vecsub(const view1D<matrix::Dense<double>, double> &a,
572  const view1D<tensor::tensor_Dense<double>, double> &b,
573  view1D<vector<double>, double> &y);
574 void vecsub(const view1D<matrix::Dense<double>, double> &a,
575  const view1D<tensor::tensor_Dense<double>, double> &b,
576  view1D<matrix::Dense<double>, double> &y);
577 void vecsub(const view1D<matrix::Dense<double>, double> &a,
578  const view1D<tensor::tensor_Dense<double>, double> &b,
581  const vector<double> &b, vector<double> &y);
583  const vector<double> &b, view1D<vector<double>, double> &y);
585  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
587  const vector<double> &b,
590  const view1D<vector<double>, double> &b, vector<double> &y);
592  const view1D<vector<double>, double> &b,
593  view1D<vector<double>, double> &y);
595  const view1D<vector<double>, double> &b,
596  view1D<matrix::Dense<double>, double> &y);
598  const view1D<vector<double>, double> &b,
601  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
603  const view1D<matrix::Dense<double>, double> &b,
604  view1D<vector<double>, double> &y);
606  const view1D<matrix::Dense<double>, double> &b,
607  view1D<matrix::Dense<double>, double> &y);
609  const view1D<matrix::Dense<double>, double> &b,
612  const view1D<tensor::tensor_Dense<double>, double> &b,
613  vector<double> &y);
615  const view1D<tensor::tensor_Dense<double>, double> &b,
616  view1D<vector<double>, double> &y);
618  const view1D<tensor::tensor_Dense<double>, double> &b,
619  view1D<matrix::Dense<double>, double> &y);
621  const view1D<tensor::tensor_Dense<double>, double> &b,
623 void vecsub(const vector<float> &a, const vector<float> &b, vector<float> &y);
624 void vecsub(const vector<float> &a, const vector<float> &b,
625  view1D<vector<float>, float> &y);
626 void vecsub(const vector<float> &a, const vector<float> &b,
627  view1D<matrix::Dense<float>, float> &y);
628 void vecsub(const vector<float> &a, const vector<float> &b,
630 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
631  vector<float> &y);
632 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
633  view1D<vector<float>, float> &y);
634 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
635  view1D<matrix::Dense<float>, float> &y);
636 void vecsub(const vector<float> &a, const view1D<vector<float>, float> &b,
638 void vecsub(const vector<float> &a,
639  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
640 void vecsub(const vector<float> &a,
641  const view1D<matrix::Dense<float>, float> &b,
642  view1D<vector<float>, float> &y);
643 void vecsub(const vector<float> &a,
644  const view1D<matrix::Dense<float>, float> &b,
645  view1D<matrix::Dense<float>, float> &y);
646 void vecsub(const vector<float> &a,
647  const view1D<matrix::Dense<float>, float> &b,
649 void vecsub(const vector<float> &a,
650  const view1D<tensor::tensor_Dense<float>, float> &b,
651  vector<float> &y);
652 void vecsub(const vector<float> &a,
653  const view1D<tensor::tensor_Dense<float>, float> &b,
654  view1D<vector<float>, float> &y);
655 void vecsub(const vector<float> &a,
656  const view1D<tensor::tensor_Dense<float>, float> &b,
657  view1D<matrix::Dense<float>, float> &y);
658 void vecsub(const vector<float> &a,
659  const view1D<tensor::tensor_Dense<float>, float> &b,
661 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
662  vector<float> &y);
663 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
664  view1D<vector<float>, float> &y);
665 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
666  view1D<matrix::Dense<float>, float> &y);
667 void vecsub(const view1D<vector<float>, float> &a, const vector<float> &b,
669 void vecsub(const view1D<vector<float>, float> &a,
670  const view1D<vector<float>, float> &b, vector<float> &y);
671 void vecsub(const view1D<vector<float>, float> &a,
672  const view1D<vector<float>, float> &b,
673  view1D<vector<float>, float> &y);
674 void vecsub(const view1D<vector<float>, float> &a,
675  const view1D<vector<float>, float> &b,
676  view1D<matrix::Dense<float>, float> &y);
677 void vecsub(const view1D<vector<float>, float> &a,
678  const view1D<vector<float>, float> &b,
680 void vecsub(const view1D<vector<float>, float> &a,
681  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
682 void vecsub(const view1D<vector<float>, float> &a,
683  const view1D<matrix::Dense<float>, float> &b,
684  view1D<vector<float>, float> &y);
685 void vecsub(const view1D<vector<float>, float> &a,
686  const view1D<matrix::Dense<float>, float> &b,
687  view1D<matrix::Dense<float>, float> &y);
688 void vecsub(const view1D<vector<float>, float> &a,
689  const view1D<matrix::Dense<float>, float> &b,
691 void vecsub(const view1D<vector<float>, float> &a,
692  const view1D<tensor::tensor_Dense<float>, float> &b,
693  vector<float> &y);
694 void vecsub(const view1D<vector<float>, float> &a,
695  const view1D<tensor::tensor_Dense<float>, float> &b,
696  view1D<vector<float>, float> &y);
697 void vecsub(const view1D<vector<float>, float> &a,
698  const view1D<tensor::tensor_Dense<float>, float> &b,
699  view1D<matrix::Dense<float>, float> &y);
700 void vecsub(const view1D<vector<float>, float> &a,
701  const view1D<tensor::tensor_Dense<float>, float> &b,
703 void vecsub(const view1D<matrix::Dense<float>, float> &a,
704  const vector<float> &b, vector<float> &y);
705 void vecsub(const view1D<matrix::Dense<float>, float> &a,
706  const vector<float> &b, view1D<vector<float>, float> &y);
707 void vecsub(const view1D<matrix::Dense<float>, float> &a,
708  const vector<float> &b, view1D<matrix::Dense<float>, float> &y);
709 void vecsub(const view1D<matrix::Dense<float>, float> &a,
710  const vector<float> &b,
712 void vecsub(const view1D<matrix::Dense<float>, float> &a,
713  const view1D<vector<float>, float> &b, vector<float> &y);
714 void vecsub(const view1D<matrix::Dense<float>, float> &a,
715  const view1D<vector<float>, float> &b,
716  view1D<vector<float>, float> &y);
717 void vecsub(const view1D<matrix::Dense<float>, float> &a,
718  const view1D<vector<float>, float> &b,
719  view1D<matrix::Dense<float>, float> &y);
720 void vecsub(const view1D<matrix::Dense<float>, float> &a,
721  const view1D<vector<float>, float> &b,
723 void vecsub(const view1D<matrix::Dense<float>, float> &a,
724  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
725 void vecsub(const view1D<matrix::Dense<float>, float> &a,
726  const view1D<matrix::Dense<float>, float> &b,
727  view1D<vector<float>, float> &y);
728 void vecsub(const view1D<matrix::Dense<float>, float> &a,
729  const view1D<matrix::Dense<float>, float> &b,
730  view1D<matrix::Dense<float>, float> &y);
731 void vecsub(const view1D<matrix::Dense<float>, float> &a,
732  const view1D<matrix::Dense<float>, float> &b,
734 void vecsub(const view1D<matrix::Dense<float>, float> &a,
735  const view1D<tensor::tensor_Dense<float>, float> &b,
736  vector<float> &y);
737 void vecsub(const view1D<matrix::Dense<float>, float> &a,
738  const view1D<tensor::tensor_Dense<float>, float> &b,
739  view1D<vector<float>, float> &y);
740 void vecsub(const view1D<matrix::Dense<float>, float> &a,
741  const view1D<tensor::tensor_Dense<float>, float> &b,
742  view1D<matrix::Dense<float>, float> &y);
743 void vecsub(const view1D<matrix::Dense<float>, float> &a,
744  const view1D<tensor::tensor_Dense<float>, float> &b,
747  const vector<float> &b, vector<float> &y);
749  const vector<float> &b, view1D<vector<float>, float> &y);
751  const vector<float> &b, view1D<matrix::Dense<float>, float> &y);
753  const vector<float> &b,
756  const view1D<vector<float>, float> &b, vector<float> &y);
758  const view1D<vector<float>, float> &b,
759  view1D<vector<float>, float> &y);
761  const view1D<vector<float>, float> &b,
762  view1D<matrix::Dense<float>, float> &y);
764  const view1D<vector<float>, float> &b,
767  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
769  const view1D<matrix::Dense<float>, float> &b,
770  view1D<vector<float>, float> &y);
772  const view1D<matrix::Dense<float>, float> &b,
773  view1D<matrix::Dense<float>, float> &y);
775  const view1D<matrix::Dense<float>, float> &b,
778  const view1D<tensor::tensor_Dense<float>, float> &b,
779  vector<float> &y);
781  const view1D<tensor::tensor_Dense<float>, float> &b,
782  view1D<vector<float>, float> &y);
784  const view1D<tensor::tensor_Dense<float>, float> &b,
785  view1D<matrix::Dense<float>, float> &y);
787  const view1D<tensor::tensor_Dense<float>, float> &b,
807 void times(const double alpha, const vector<double> &a, vector<double> &y);
808 void times(const double alpha, const vector<double> &a,
809  view1D<vector<double>, double> &y);
810 void times(const double alpha, const vector<double> &a,
811  view1D<matrix::Dense<double>, double> &y);
812 void times(const double alpha, const vector<double> &a,
814 void times(const double alpha, const view1D<vector<double>, double> &a,
815  vector<double> &y);
816 void times(const double alpha, const view1D<vector<double>, double> &a,
817  view1D<vector<double>, double> &y);
818 void times(const double alpha, const view1D<vector<double>, double> &a,
819  view1D<matrix::Dense<double>, double> &y);
820 void times(const double alpha, const view1D<vector<double>, double> &a,
822 void times(const double alpha, const view1D<matrix::Dense<double>, double> &a,
823  vector<double> &y);
824 void times(const double alpha, const view1D<matrix::Dense<double>, double> &a,
825  view1D<vector<double>, double> &y);
826 void times(const double alpha, const view1D<matrix::Dense<double>, double> &a,
827  view1D<matrix::Dense<double>, double> &y);
828 void times(const double alpha, const view1D<matrix::Dense<double>, double> &a,
830 void times(const double alpha,
831  const view1D<tensor::tensor_Dense<double>, double> &a,
832  vector<double> &y);
833 void times(const double alpha,
834  const view1D<tensor::tensor_Dense<double>, double> &a,
835  view1D<vector<double>, double> &y);
836 void times(const double alpha,
837  const view1D<tensor::tensor_Dense<double>, double> &a,
838  view1D<matrix::Dense<double>, double> &y);
839 void times(const double alpha,
840  const view1D<tensor::tensor_Dense<double>, double> &a,
842 void times(const float alpha, const vector<float> &a, vector<float> &y);
843 void times(const float alpha, const vector<float> &a,
844  view1D<vector<float>, float> &y);
845 void times(const float alpha, const vector<float> &a,
846  view1D<matrix::Dense<float>, float> &y);
847 void times(const float alpha, const vector<float> &a,
849 void times(const float alpha, const view1D<vector<float>, float> &a,
850  vector<float> &y);
851 void times(const float alpha, const view1D<vector<float>, float> &a,
852  view1D<vector<float>, float> &y);
853 void times(const float alpha, const view1D<vector<float>, float> &a,
854  view1D<matrix::Dense<float>, float> &y);
855 void times(const float alpha, const view1D<vector<float>, float> &a,
857 void times(const float alpha, const view1D<matrix::Dense<float>, float> &a,
858  vector<float> &y);
859 void times(const float alpha, const view1D<matrix::Dense<float>, float> &a,
860  view1D<vector<float>, float> &y);
861 void times(const float alpha, const view1D<matrix::Dense<float>, float> &a,
862  view1D<matrix::Dense<float>, float> &y);
863 void times(const float alpha, const view1D<matrix::Dense<float>, float> &a,
865 void times(const float alpha,
866  const view1D<tensor::tensor_Dense<float>, float> &a,
867  vector<float> &y);
868 void times(const float alpha,
869  const view1D<tensor::tensor_Dense<float>, float> &a,
870  view1D<vector<float>, float> &y);
871 void times(const float alpha,
872  const view1D<tensor::tensor_Dense<float>, float> &a,
873  view1D<matrix::Dense<float>, float> &y);
874 void times(const float alpha,
875  const view1D<tensor::tensor_Dense<float>, float> &a,
895 void times(const vector<double> &a, const vector<double> &b, vector<double> &y);
896 void times(const vector<double> &a, const vector<double> &b,
897  view1D<vector<double>, double> &y);
898 void times(const vector<double> &a, const vector<double> &b,
899  view1D<matrix::Dense<double>, double> &y);
900 void times(const vector<double> &a, const vector<double> &b,
902 void times(const vector<double> &a, const view1D<vector<double>, double> &b,
903  vector<double> &y);
904 void times(const vector<double> &a, const view1D<vector<double>, double> &b,
905  view1D<vector<double>, double> &y);
906 void times(const vector<double> &a, const view1D<vector<double>, double> &b,
907  view1D<matrix::Dense<double>, double> &y);
908 void times(const vector<double> &a, const view1D<vector<double>, double> &b,
910 void times(const vector<double> &a,
911  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
912 void times(const vector<double> &a,
913  const view1D<matrix::Dense<double>, double> &b,
914  view1D<vector<double>, double> &y);
915 void times(const vector<double> &a,
916  const view1D<matrix::Dense<double>, double> &b,
917  view1D<matrix::Dense<double>, double> &y);
918 void times(const vector<double> &a,
919  const view1D<matrix::Dense<double>, double> &b,
921 void times(const vector<double> &a,
922  const view1D<tensor::tensor_Dense<double>, double> &b,
923  vector<double> &y);
924 void times(const vector<double> &a,
925  const view1D<tensor::tensor_Dense<double>, double> &b,
926  view1D<vector<double>, double> &y);
927 void times(const vector<double> &a,
928  const view1D<tensor::tensor_Dense<double>, double> &b,
929  view1D<matrix::Dense<double>, double> &y);
930 void times(const vector<double> &a,
931  const view1D<tensor::tensor_Dense<double>, double> &b,
933 void times(const view1D<vector<double>, double> &a, const vector<double> &b,
934  vector<double> &y);
935 void times(const view1D<vector<double>, double> &a, const vector<double> &b,
936  view1D<vector<double>, double> &y);
937 void times(const view1D<vector<double>, double> &a, const vector<double> &b,
938  view1D<matrix::Dense<double>, double> &y);
939 void times(const view1D<vector<double>, double> &a, const vector<double> &b,
941 void times(const view1D<vector<double>, double> &a,
942  const view1D<vector<double>, double> &b, vector<double> &y);
943 void times(const view1D<vector<double>, double> &a,
944  const view1D<vector<double>, double> &b,
945  view1D<vector<double>, double> &y);
946 void times(const view1D<vector<double>, double> &a,
947  const view1D<vector<double>, double> &b,
948  view1D<matrix::Dense<double>, double> &y);
949 void times(const view1D<vector<double>, double> &a,
950  const view1D<vector<double>, double> &b,
952 void times(const view1D<vector<double>, double> &a,
953  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
954 void times(const view1D<vector<double>, double> &a,
955  const view1D<matrix::Dense<double>, double> &b,
956  view1D<vector<double>, double> &y);
957 void times(const view1D<vector<double>, double> &a,
958  const view1D<matrix::Dense<double>, double> &b,
959  view1D<matrix::Dense<double>, double> &y);
960 void times(const view1D<vector<double>, double> &a,
961  const view1D<matrix::Dense<double>, double> &b,
963 void times(const view1D<vector<double>, double> &a,
964  const view1D<tensor::tensor_Dense<double>, double> &b,
965  vector<double> &y);
966 void times(const view1D<vector<double>, double> &a,
967  const view1D<tensor::tensor_Dense<double>, double> &b,
968  view1D<vector<double>, double> &y);
969 void times(const view1D<vector<double>, double> &a,
970  const view1D<tensor::tensor_Dense<double>, double> &b,
971  view1D<matrix::Dense<double>, double> &y);
972 void times(const view1D<vector<double>, double> &a,
973  const view1D<tensor::tensor_Dense<double>, double> &b,
975 void times(const view1D<matrix::Dense<double>, double> &a,
976  const vector<double> &b, vector<double> &y);
977 void times(const view1D<matrix::Dense<double>, double> &a,
978  const vector<double> &b, view1D<vector<double>, double> &y);
979 void times(const view1D<matrix::Dense<double>, double> &a,
980  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
981 void times(const view1D<matrix::Dense<double>, double> &a,
982  const vector<double> &b,
984 void times(const view1D<matrix::Dense<double>, double> &a,
985  const view1D<vector<double>, double> &b, vector<double> &y);
986 void times(const view1D<matrix::Dense<double>, double> &a,
987  const view1D<vector<double>, double> &b,
988  view1D<vector<double>, double> &y);
989 void times(const view1D<matrix::Dense<double>, double> &a,
990  const view1D<vector<double>, double> &b,
991  view1D<matrix::Dense<double>, double> &y);
992 void times(const view1D<matrix::Dense<double>, double> &a,
993  const view1D<vector<double>, double> &b,
995 void times(const view1D<matrix::Dense<double>, double> &a,
996  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
997 void times(const view1D<matrix::Dense<double>, double> &a,
998  const view1D<matrix::Dense<double>, double> &b,
999  view1D<vector<double>, double> &y);
1000 void times(const view1D<matrix::Dense<double>, double> &a,
1001  const view1D<matrix::Dense<double>, double> &b,
1002  view1D<matrix::Dense<double>, double> &y);
1003 void times(const view1D<matrix::Dense<double>, double> &a,
1004  const view1D<matrix::Dense<double>, double> &b,
1005  view1D<tensor::tensor_Dense<double>, double> &y);
1006 void times(const view1D<matrix::Dense<double>, double> &a,
1007  const view1D<tensor::tensor_Dense<double>, double> &b,
1008  vector<double> &y);
1009 void times(const view1D<matrix::Dense<double>, double> &a,
1010  const view1D<tensor::tensor_Dense<double>, double> &b,
1011  view1D<vector<double>, double> &y);
1012 void times(const view1D<matrix::Dense<double>, double> &a,
1013  const view1D<tensor::tensor_Dense<double>, double> &b,
1014  view1D<matrix::Dense<double>, double> &y);
1015 void times(const view1D<matrix::Dense<double>, double> &a,
1016  const view1D<tensor::tensor_Dense<double>, double> &b,
1017  view1D<tensor::tensor_Dense<double>, double> &y);
1019  const vector<double> &b, vector<double> &y);
1021  const vector<double> &b, view1D<vector<double>, double> &y);
1023  const vector<double> &b, view1D<matrix::Dense<double>, double> &y);
1025  const vector<double> &b,
1026  view1D<tensor::tensor_Dense<double>, double> &y);
1028  const view1D<vector<double>, double> &b, vector<double> &y);
1030  const view1D<vector<double>, double> &b,
1031  view1D<vector<double>, double> &y);
1033  const view1D<vector<double>, double> &b,
1034  view1D<matrix::Dense<double>, double> &y);
1036  const view1D<vector<double>, double> &b,
1037  view1D<tensor::tensor_Dense<double>, double> &y);
1039  const view1D<matrix::Dense<double>, double> &b, vector<double> &y);
1041  const view1D<matrix::Dense<double>, double> &b,
1042  view1D<vector<double>, double> &y);
1044  const view1D<matrix::Dense<double>, double> &b,
1045  view1D<matrix::Dense<double>, double> &y);
1047  const view1D<matrix::Dense<double>, double> &b,
1048  view1D<tensor::tensor_Dense<double>, double> &y);
1050  const view1D<tensor::tensor_Dense<double>, double> &b,
1051  vector<double> &y);
1053  const view1D<tensor::tensor_Dense<double>, double> &b,
1054  view1D<vector<double>, double> &y);
1056  const view1D<tensor::tensor_Dense<double>, double> &b,
1057  view1D<matrix::Dense<double>, double> &y);
1059  const view1D<tensor::tensor_Dense<double>, double> &b,
1060  view1D<tensor::tensor_Dense<double>, double> &y);
1061 void times(const vector<float> &a, const vector<float> &b, vector<float> &y);
1062 void times(const vector<float> &a, const vector<float> &b,
1063  view1D<vector<float>, float> &y);
1064 void times(const vector<float> &a, const vector<float> &b,
1065  view1D<matrix::Dense<float>, float> &y);
1066 void times(const vector<float> &a, const vector<float> &b,
1067  view1D<tensor::tensor_Dense<float>, float> &y);
1068 void times(const vector<float> &a, const view1D<vector<float>, float> &b,
1069  vector<float> &y);
1070 void times(const vector<float> &a, const view1D<vector<float>, float> &b,
1071  view1D<vector<float>, float> &y);
1072 void times(const vector<float> &a, const view1D<vector<float>, float> &b,
1073  view1D<matrix::Dense<float>, float> &y);
1074 void times(const vector<float> &a, const view1D<vector<float>, float> &b,
1075  view1D<tensor::tensor_Dense<float>, float> &y);
1076 void times(const vector<float> &a, const view1D<matrix::Dense<float>, float> &b,
1077  vector<float> &y);
1078 void times(const vector<float> &a, const view1D<matrix::Dense<float>, float> &b,
1079  view1D<vector<float>, float> &y);
1080 void times(const vector<float> &a, const view1D<matrix::Dense<float>, float> &b,
1081  view1D<matrix::Dense<float>, float> &y);
1082 void times(const vector<float> &a, const view1D<matrix::Dense<float>, float> &b,
1083  view1D<tensor::tensor_Dense<float>, float> &y);
1084 void times(const vector<float> &a,
1085  const view1D<tensor::tensor_Dense<float>, float> &b,
1086  vector<float> &y);
1087 void times(const vector<float> &a,
1088  const view1D<tensor::tensor_Dense<float>, float> &b,
1089  view1D<vector<float>, float> &y);
1090 void times(const vector<float> &a,
1091  const view1D<tensor::tensor_Dense<float>, float> &b,
1092  view1D<matrix::Dense<float>, float> &y);
1093 void times(const vector<float> &a,
1094  const view1D<tensor::tensor_Dense<float>, float> &b,
1095  view1D<tensor::tensor_Dense<float>, float> &y);
1096 void times(const view1D<vector<float>, float> &a, const vector<float> &b,
1097  vector<float> &y);
1098 void times(const view1D<vector<float>, float> &a, const vector<float> &b,
1099  view1D<vector<float>, float> &y);
1100 void times(const view1D<vector<float>, float> &a, const vector<float> &b,
1101  view1D<matrix::Dense<float>, float> &y);
1102 void times(const view1D<vector<float>, float> &a, const vector<float> &b,
1103  view1D<tensor::tensor_Dense<float>, float> &y);
1104 void times(const view1D<vector<float>, float> &a,
1105  const view1D<vector<float>, float> &b, vector<float> &y);
1106 void times(const view1D<vector<float>, float> &a,
1107  const view1D<vector<float>, float> &b,
1108  view1D<vector<float>, float> &y);
1109 void times(const view1D<vector<float>, float> &a,
1110  const view1D<vector<float>, float> &b,
1111  view1D<matrix::Dense<float>, float> &y);
1112 void times(const view1D<vector<float>, float> &a,
1113  const view1D<vector<float>, float> &b,
1114  view1D<tensor::tensor_Dense<float>, float> &y);
1115 void times(const view1D<vector<float>, float> &a,
1116  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
1117 void times(const view1D<vector<float>, float> &a,
1118  const view1D<matrix::Dense<float>, float> &b,
1119  view1D<vector<float>, float> &y);
1120 void times(const view1D<vector<float>, float> &a,
1121  const view1D<matrix::Dense<float>, float> &b,
1122  view1D<matrix::Dense<float>, float> &y);
1123 void times(const view1D<vector<float>, float> &a,
1124  const view1D<matrix::Dense<float>, float> &b,
1125  view1D<tensor::tensor_Dense<float>, float> &y);
1126 void times(const view1D<vector<float>, float> &a,
1127  const view1D<tensor::tensor_Dense<float>, float> &b,
1128  vector<float> &y);
1129 void times(const view1D<vector<float>, float> &a,
1130  const view1D<tensor::tensor_Dense<float>, float> &b,
1131  view1D<vector<float>, float> &y);
1132 void times(const view1D<vector<float>, float> &a,
1133  const view1D<tensor::tensor_Dense<float>, float> &b,
1134  view1D<matrix::Dense<float>, float> &y);
1135 void times(const view1D<vector<float>, float> &a,
1136  const view1D<tensor::tensor_Dense<float>, float> &b,
1137  view1D<tensor::tensor_Dense<float>, float> &y);
1138 void times(const view1D<matrix::Dense<float>, float> &a, const vector<float> &b,
1139  vector<float> &y);
1140 void times(const view1D<matrix::Dense<float>, float> &a, const vector<float> &b,
1141  view1D<vector<float>, float> &y);
1142 void times(const view1D<matrix::Dense<float>, float> &a, const vector<float> &b,
1143  view1D<matrix::Dense<float>, float> &y);
1144 void times(const view1D<matrix::Dense<float>, float> &a, const vector<float> &b,
1145  view1D<tensor::tensor_Dense<float>, float> &y);
1146 void times(const view1D<matrix::Dense<float>, float> &a,
1147  const view1D<vector<float>, float> &b, vector<float> &y);
1148 void times(const view1D<matrix::Dense<float>, float> &a,
1149  const view1D<vector<float>, float> &b,
1150  view1D<vector<float>, float> &y);
1151 void times(const view1D<matrix::Dense<float>, float> &a,
1152  const view1D<vector<float>, float> &b,
1153  view1D<matrix::Dense<float>, float> &y);
1154 void times(const view1D<matrix::Dense<float>, float> &a,
1155  const view1D<vector<float>, float> &b,
1156  view1D<tensor::tensor_Dense<float>, float> &y);
1157 void times(const view1D<matrix::Dense<float>, float> &a,
1158  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
1159 void times(const view1D<matrix::Dense<float>, float> &a,
1160  const view1D<matrix::Dense<float>, float> &b,
1161  view1D<vector<float>, float> &y);
1162 void times(const view1D<matrix::Dense<float>, float> &a,
1163  const view1D<matrix::Dense<float>, float> &b,
1164  view1D<matrix::Dense<float>, float> &y);
1165 void times(const view1D<matrix::Dense<float>, float> &a,
1166  const view1D<matrix::Dense<float>, float> &b,
1167  view1D<tensor::tensor_Dense<float>, float> &y);
1168 void times(const view1D<matrix::Dense<float>, float> &a,
1169  const view1D<tensor::tensor_Dense<float>, float> &b,
1170  vector<float> &y);
1171 void times(const view1D<matrix::Dense<float>, float> &a,
1172  const view1D<tensor::tensor_Dense<float>, float> &b,
1173  view1D<vector<float>, float> &y);
1174 void times(const view1D<matrix::Dense<float>, float> &a,
1175  const view1D<tensor::tensor_Dense<float>, float> &b,
1176  view1D<matrix::Dense<float>, float> &y);
1177 void times(const view1D<matrix::Dense<float>, float> &a,
1178  const view1D<tensor::tensor_Dense<float>, float> &b,
1179  view1D<tensor::tensor_Dense<float>, float> &y);
1181  const vector<float> &b, vector<float> &y);
1183  const vector<float> &b, view1D<vector<float>, float> &y);
1185  const vector<float> &b, view1D<matrix::Dense<float>, float> &y);
1187  const vector<float> &b,
1188  view1D<tensor::tensor_Dense<float>, float> &y);
1190  const view1D<vector<float>, float> &b, vector<float> &y);
1192  const view1D<vector<float>, float> &b,
1193  view1D<vector<float>, float> &y);
1195  const view1D<vector<float>, float> &b,
1196  view1D<matrix::Dense<float>, float> &y);
1198  const view1D<vector<float>, float> &b,
1199  view1D<tensor::tensor_Dense<float>, float> &y);
1201  const view1D<matrix::Dense<float>, float> &b, vector<float> &y);
1203  const view1D<matrix::Dense<float>, float> &b,
1204  view1D<vector<float>, float> &y);
1206  const view1D<matrix::Dense<float>, float> &b,
1207  view1D<matrix::Dense<float>, float> &y);
1209  const view1D<matrix::Dense<float>, float> &b,
1210  view1D<tensor::tensor_Dense<float>, float> &y);
1212  const view1D<tensor::tensor_Dense<float>, float> &b,
1213  vector<float> &y);
1215  const view1D<tensor::tensor_Dense<float>, float> &b,
1216  view1D<vector<float>, float> &y);
1218  const view1D<tensor::tensor_Dense<float>, float> &b,
1219  view1D<matrix::Dense<float>, float> &y);
1221  const view1D<tensor::tensor_Dense<float>, float> &b,
1222  view1D<tensor::tensor_Dense<float>, float> &y);
1240 void asum(const vector<double> &x, double &ans);
1241 void asum(const view1D<vector<double>, double> &x, double &ans);
1242 void asum(const view1D<matrix::Dense<double>, double> &x, double &ans);
1243 void asum(const view1D<tensor::tensor_Dense<double>, double> &x, double &ans);
1244 void asum(const vector<float> &x, float &ans);
1245 void asum(const view1D<vector<float>, float> &x, float &ans);
1246 void asum(const view1D<matrix::Dense<float>, float> &x, float &ans);
1247 void asum(const view1D<tensor::tensor_Dense<float>, float> &x, float &ans);
1248 
1259 [[nodiscard]] double asum(const vector<double> &x);
1260 [[nodiscard]] double asum(const view1D<vector<double>, double> &x);
1261 [[nodiscard]] double asum(const view1D<matrix::Dense<double>, double> &x);
1262 [[nodiscard]] double
1264 [[nodiscard]] float asum(const vector<float> &x);
1265 [[nodiscard]] float asum(const view1D<vector<float>, float> &x);
1266 [[nodiscard]] float asum(const view1D<matrix::Dense<float>, float> &x);
1267 [[nodiscard]] float asum(const view1D<tensor::tensor_Dense<float>, float> &x);
1285 void sum(const vector<double> &x, double &ans);
1286 void sum(const view1D<vector<double>, double> &x, double &ans);
1287 void sum(const view1D<matrix::Dense<double>, double> &x, double &ans);
1288 void sum(const view1D<tensor::tensor_Dense<double>, double> &x, double &ans);
1289 void sum(const vector<float> &x, float &ans);
1290 void sum(const view1D<vector<float>, float> &x, float &ans);
1291 void sum(const view1D<matrix::Dense<float>, float> &x, float &ans);
1292 void sum(const view1D<tensor::tensor_Dense<float>, float> &x, float &ans);
1293 
1304 [[nodiscard]] double sum(const vector<double> &x);
1305 [[nodiscard]] double sum(const view1D<vector<double>, double> &x);
1306 [[nodiscard]] double sum(const view1D<matrix::Dense<double>, double> &x);
1307 [[nodiscard]] double sum(const view1D<tensor::tensor_Dense<double>, double> &x);
1308 [[nodiscard]] float sum(const vector<float> &x);
1309 [[nodiscard]] float sum(const view1D<vector<float>, float> &x);
1310 [[nodiscard]] float sum(const view1D<matrix::Dense<float>, float> &x);
1311 [[nodiscard]] float sum(const view1D<tensor::tensor_Dense<float>, float> &x);
1330 void axpy(const double alpha, const vector<double> &x, vector<double> &y);
1331 void axpy(const double alpha, const vector<double> &x,
1332  view1D<vector<double>, double> &y);
1333 void axpy(const double alpha, const vector<double> &x,
1334  view1D<matrix::Dense<double>, double> &y);
1335 void axpy(const double alpha, const vector<double> &x,
1336  view1D<tensor::tensor_Dense<double>, double> &y);
1337 void axpy(const double alpha, const view1D<vector<double>, double> &x,
1338  vector<double> &y);
1339 void axpy(const double alpha, const view1D<vector<double>, double> &x,
1340  view1D<vector<double>, double> &y);
1341 void axpy(const double alpha, const view1D<vector<double>, double> &x,
1342  view1D<matrix::Dense<double>, double> &y);
1343 void axpy(const double alpha, const view1D<vector<double>, double> &x,
1344  view1D<tensor::tensor_Dense<double>, double> &y);
1345 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1346  vector<double> &y);
1347 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1348  view1D<vector<double>, double> &y);
1349 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1350  view1D<matrix::Dense<double>, double> &y);
1351 void axpy(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1352  view1D<tensor::tensor_Dense<double>, double> &y);
1353 void axpy(const double alpha,
1354  const view1D<tensor::tensor_Dense<double>, double> &x,
1355  vector<double> &y);
1356 void axpy(const double alpha,
1357  const view1D<tensor::tensor_Dense<double>, double> &x,
1358  view1D<vector<double>, double> &y);
1359 void axpy(const double alpha,
1360  const view1D<tensor::tensor_Dense<double>, double> &x,
1361  view1D<matrix::Dense<double>, double> &y);
1362 void axpy(const double alpha,
1363  const view1D<tensor::tensor_Dense<double>, double> &x,
1364  view1D<tensor::tensor_Dense<double>, double> &y);
1365 void axpy(const float alpha, const vector<float> &x, vector<float> &y);
1366 void axpy(const float alpha, const vector<float> &x,
1367  view1D<vector<float>, float> &y);
1368 void axpy(const float alpha, const vector<float> &x,
1369  view1D<matrix::Dense<float>, float> &y);
1370 void axpy(const float alpha, const vector<float> &x,
1371  view1D<tensor::tensor_Dense<float>, float> &y);
1372 void axpy(const float alpha, const view1D<vector<float>, float> &x,
1373  vector<float> &y);
1374 void axpy(const float alpha, const view1D<vector<float>, float> &x,
1375  view1D<vector<float>, float> &y);
1376 void axpy(const float alpha, const view1D<vector<float>, float> &x,
1377  view1D<matrix::Dense<float>, float> &y);
1378 void axpy(const float alpha, const view1D<vector<float>, float> &x,
1379  view1D<tensor::tensor_Dense<float>, float> &y);
1380 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1381  vector<float> &y);
1382 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1383  view1D<vector<float>, float> &y);
1384 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1385  view1D<matrix::Dense<float>, float> &y);
1386 void axpy(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1387  view1D<tensor::tensor_Dense<float>, float> &y);
1388 void axpy(const float alpha,
1389  const view1D<tensor::tensor_Dense<float>, float> &x,
1390  vector<float> &y);
1391 void axpy(const float alpha,
1392  const view1D<tensor::tensor_Dense<float>, float> &x,
1393  view1D<vector<float>, float> &y);
1394 void axpy(const float alpha,
1395  const view1D<tensor::tensor_Dense<float>, float> &x,
1396  view1D<matrix::Dense<float>, float> &y);
1397 void axpy(const float alpha,
1398  const view1D<tensor::tensor_Dense<float>, float> &x,
1399  view1D<tensor::tensor_Dense<float>, float> &y);
1419 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
1420  vector<double> &z);
1421 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
1422  view1D<vector<double>, double> &z);
1423 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
1424  view1D<matrix::Dense<double>, double> &z);
1425 void axpyz(const double alpha, const vector<double> &x, const vector<double> &y,
1426  view1D<tensor::tensor_Dense<double>, double> &z);
1427 void axpyz(const double alpha, const vector<double> &x,
1428  const view1D<vector<double>, double> &y, vector<double> &z);
1429 void axpyz(const double alpha, const vector<double> &x,
1430  const view1D<vector<double>, double> &y,
1431  view1D<vector<double>, double> &z);
1432 void axpyz(const double alpha, const vector<double> &x,
1433  const view1D<vector<double>, double> &y,
1434  view1D<matrix::Dense<double>, double> &z);
1435 void axpyz(const double alpha, const vector<double> &x,
1436  const view1D<vector<double>, double> &y,
1437  view1D<tensor::tensor_Dense<double>, double> &z);
1438 void axpyz(const double alpha, const vector<double> &x,
1439  const view1D<matrix::Dense<double>, double> &y, vector<double> &z);
1440 void axpyz(const double alpha, const vector<double> &x,
1441  const view1D<matrix::Dense<double>, double> &y,
1442  view1D<vector<double>, double> &z);
1443 void axpyz(const double alpha, const vector<double> &x,
1444  const view1D<matrix::Dense<double>, double> &y,
1445  view1D<matrix::Dense<double>, double> &z);
1446 void axpyz(const double alpha, const vector<double> &x,
1447  const view1D<matrix::Dense<double>, double> &y,
1448  view1D<tensor::tensor_Dense<double>, double> &z);
1449 void axpyz(const double alpha, const vector<double> &x,
1450  const view1D<tensor::tensor_Dense<double>, double> &y,
1451  vector<double> &z);
1452 void axpyz(const double alpha, const vector<double> &x,
1453  const view1D<tensor::tensor_Dense<double>, double> &y,
1454  view1D<vector<double>, double> &z);
1455 void axpyz(const double alpha, const vector<double> &x,
1456  const view1D<tensor::tensor_Dense<double>, double> &y,
1457  view1D<matrix::Dense<double>, double> &z);
1458 void axpyz(const double alpha, const vector<double> &x,
1459  const view1D<tensor::tensor_Dense<double>, double> &y,
1460  view1D<tensor::tensor_Dense<double>, double> &z);
1461 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1462  const vector<double> &y, vector<double> &z);
1463 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1464  const vector<double> &y, view1D<vector<double>, double> &z);
1465 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1466  const vector<double> &y, view1D<matrix::Dense<double>, double> &z);
1467 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1468  const vector<double> &y,
1469  view1D<tensor::tensor_Dense<double>, double> &z);
1470 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1471  const view1D<vector<double>, double> &y, vector<double> &z);
1472 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1473  const view1D<vector<double>, double> &y,
1474  view1D<vector<double>, double> &z);
1475 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1476  const view1D<vector<double>, double> &y,
1477  view1D<matrix::Dense<double>, double> &z);
1478 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1479  const view1D<vector<double>, double> &y,
1480  view1D<tensor::tensor_Dense<double>, double> &z);
1481 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1482  const view1D<matrix::Dense<double>, double> &y, vector<double> &z);
1483 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1484  const view1D<matrix::Dense<double>, double> &y,
1485  view1D<vector<double>, double> &z);
1486 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1487  const view1D<matrix::Dense<double>, double> &y,
1488  view1D<matrix::Dense<double>, double> &z);
1489 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1490  const view1D<matrix::Dense<double>, double> &y,
1491  view1D<tensor::tensor_Dense<double>, double> &z);
1492 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1493  const view1D<tensor::tensor_Dense<double>, double> &y,
1494  vector<double> &z);
1495 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1496  const view1D<tensor::tensor_Dense<double>, double> &y,
1497  view1D<vector<double>, double> &z);
1498 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1499  const view1D<tensor::tensor_Dense<double>, double> &y,
1500  view1D<matrix::Dense<double>, double> &z);
1501 void axpyz(const double alpha, const view1D<vector<double>, double> &x,
1502  const view1D<tensor::tensor_Dense<double>, double> &y,
1503  view1D<tensor::tensor_Dense<double>, double> &z);
1504 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1505  const vector<double> &y, vector<double> &z);
1506 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1507  const vector<double> &y, view1D<vector<double>, double> &z);
1508 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1509  const vector<double> &y, view1D<matrix::Dense<double>, double> &z);
1510 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1511  const vector<double> &y,
1512  view1D<tensor::tensor_Dense<double>, double> &z);
1513 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1514  const view1D<vector<double>, double> &y, vector<double> &z);
1515 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1516  const view1D<vector<double>, double> &y,
1517  view1D<vector<double>, double> &z);
1518 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1519  const view1D<vector<double>, double> &y,
1520  view1D<matrix::Dense<double>, double> &z);
1521 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1522  const view1D<vector<double>, double> &y,
1523  view1D<tensor::tensor_Dense<double>, double> &z);
1524 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1525  const view1D<matrix::Dense<double>, double> &y, vector<double> &z);
1526 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1527  const view1D<matrix::Dense<double>, double> &y,
1528  view1D<vector<double>, double> &z);
1529 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1530  const view1D<matrix::Dense<double>, double> &y,
1531  view1D<matrix::Dense<double>, double> &z);
1532 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1533  const view1D<matrix::Dense<double>, double> &y,
1534  view1D<tensor::tensor_Dense<double>, double> &z);
1535 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1536  const view1D<tensor::tensor_Dense<double>, double> &y,
1537  vector<double> &z);
1538 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1539  const view1D<tensor::tensor_Dense<double>, double> &y,
1540  view1D<vector<double>, double> &z);
1541 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1542  const view1D<tensor::tensor_Dense<double>, double> &y,
1543  view1D<matrix::Dense<double>, double> &z);
1544 void axpyz(const double alpha, const view1D<matrix::Dense<double>, double> &x,
1545  const view1D<tensor::tensor_Dense<double>, double> &y,
1546  view1D<tensor::tensor_Dense<double>, double> &z);
1547 void axpyz(const double alpha,
1548  const view1D<tensor::tensor_Dense<double>, double> &x,
1549  const vector<double> &y, vector<double> &z);
1550 void axpyz(const double alpha,
1551  const view1D<tensor::tensor_Dense<double>, double> &x,
1552  const vector<double> &y, view1D<vector<double>, double> &z);
1553 void axpyz(const double alpha,
1554  const view1D<tensor::tensor_Dense<double>, double> &x,
1555  const vector<double> &y, view1D<matrix::Dense<double>, double> &z);
1556 void axpyz(const double alpha,
1557  const view1D<tensor::tensor_Dense<double>, double> &x,
1558  const vector<double> &y,
1559  view1D<tensor::tensor_Dense<double>, double> &z);
1560 void axpyz(const double alpha,
1561  const view1D<tensor::tensor_Dense<double>, double> &x,
1562  const view1D<vector<double>, double> &y, vector<double> &z);
1563 void axpyz(const double alpha,
1564  const view1D<tensor::tensor_Dense<double>, double> &x,
1565  const view1D<vector<double>, double> &y,
1566  view1D<vector<double>, double> &z);
1567 void axpyz(const double alpha,
1568  const view1D<tensor::tensor_Dense<double>, double> &x,
1569  const view1D<vector<double>, double> &y,
1570  view1D<matrix::Dense<double>, double> &z);
1571 void axpyz(const double alpha,
1572  const view1D<tensor::tensor_Dense<double>, double> &x,
1573  const view1D<vector<double>, double> &y,
1574  view1D<tensor::tensor_Dense<double>, double> &z);
1575 void axpyz(const double alpha,
1576  const view1D<tensor::tensor_Dense<double>, double> &x,
1577  const view1D<matrix::Dense<double>, double> &y, vector<double> &z);
1578 void axpyz(const double alpha,
1579  const view1D<tensor::tensor_Dense<double>, double> &x,
1580  const view1D<matrix::Dense<double>, double> &y,
1581  view1D<vector<double>, double> &z);
1582 void axpyz(const double alpha,
1583  const view1D<tensor::tensor_Dense<double>, double> &x,
1584  const view1D<matrix::Dense<double>, double> &y,
1585  view1D<matrix::Dense<double>, double> &z);
1586 void axpyz(const double alpha,
1587  const view1D<tensor::tensor_Dense<double>, double> &x,
1588  const view1D<matrix::Dense<double>, double> &y,
1589  view1D<tensor::tensor_Dense<double>, double> &z);
1590 void axpyz(const double alpha,
1591  const view1D<tensor::tensor_Dense<double>, double> &x,
1592  const view1D<tensor::tensor_Dense<double>, double> &y,
1593  vector<double> &z);
1594 void axpyz(const double alpha,
1595  const view1D<tensor::tensor_Dense<double>, double> &x,
1596  const view1D<tensor::tensor_Dense<double>, double> &y,
1597  view1D<vector<double>, double> &z);
1598 void axpyz(const double alpha,
1599  const view1D<tensor::tensor_Dense<double>, double> &x,
1600  const view1D<tensor::tensor_Dense<double>, double> &y,
1601  view1D<matrix::Dense<double>, double> &z);
1602 void axpyz(const double alpha,
1603  const view1D<tensor::tensor_Dense<double>, double> &x,
1604  const view1D<tensor::tensor_Dense<double>, double> &y,
1605  view1D<tensor::tensor_Dense<double>, double> &z);
1606 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
1607  vector<float> &z);
1608 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
1609  view1D<vector<float>, float> &z);
1610 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
1611  view1D<matrix::Dense<float>, float> &z);
1612 void axpyz(const float alpha, const vector<float> &x, const vector<float> &y,
1613  view1D<tensor::tensor_Dense<float>, float> &z);
1614 void axpyz(const float alpha, const vector<float> &x,
1615  const view1D<vector<float>, float> &y, vector<float> &z);
1616 void axpyz(const float alpha, const vector<float> &x,
1617  const view1D<vector<float>, float> &y,
1618  view1D<vector<float>, float> &z);
1619 void axpyz(const float alpha, const vector<float> &x,
1620  const view1D<vector<float>, float> &y,
1621  view1D<matrix::Dense<float>, float> &z);
1622 void axpyz(const float alpha, const vector<float> &x,
1623  const view1D<vector<float>, float> &y,
1624  view1D<tensor::tensor_Dense<float>, float> &z);
1625 void axpyz(const float alpha, const vector<float> &x,
1626  const view1D<matrix::Dense<float>, float> &y, vector<float> &z);
1627 void axpyz(const float alpha, const vector<float> &x,
1628  const view1D<matrix::Dense<float>, float> &y,
1629  view1D<vector<float>, float> &z);
1630 void axpyz(const float alpha, const vector<float> &x,
1631  const view1D<matrix::Dense<float>, float> &y,
1632  view1D<matrix::Dense<float>, float> &z);
1633 void axpyz(const float alpha, const vector<float> &x,
1634  const view1D<matrix::Dense<float>, float> &y,
1635  view1D<tensor::tensor_Dense<float>, float> &z);
1636 void axpyz(const float alpha, const vector<float> &x,
1637  const view1D<tensor::tensor_Dense<float>, float> &y,
1638  vector<float> &z);
1639 void axpyz(const float alpha, const vector<float> &x,
1640  const view1D<tensor::tensor_Dense<float>, float> &y,
1641  view1D<vector<float>, float> &z);
1642 void axpyz(const float alpha, const vector<float> &x,
1643  const view1D<tensor::tensor_Dense<float>, float> &y,
1644  view1D<matrix::Dense<float>, float> &z);
1645 void axpyz(const float alpha, const vector<float> &x,
1646  const view1D<tensor::tensor_Dense<float>, float> &y,
1647  view1D<tensor::tensor_Dense<float>, float> &z);
1648 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1649  const vector<float> &y, vector<float> &z);
1650 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1651  const vector<float> &y, view1D<vector<float>, float> &z);
1652 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1653  const vector<float> &y, view1D<matrix::Dense<float>, float> &z);
1654 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1655  const vector<float> &y,
1656  view1D<tensor::tensor_Dense<float>, float> &z);
1657 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1658  const view1D<vector<float>, float> &y, vector<float> &z);
1659 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1660  const view1D<vector<float>, float> &y,
1661  view1D<vector<float>, float> &z);
1662 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1663  const view1D<vector<float>, float> &y,
1664  view1D<matrix::Dense<float>, float> &z);
1665 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1666  const view1D<vector<float>, float> &y,
1667  view1D<tensor::tensor_Dense<float>, float> &z);
1668 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1669  const view1D<matrix::Dense<float>, float> &y, vector<float> &z);
1670 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1671  const view1D<matrix::Dense<float>, float> &y,
1672  view1D<vector<float>, float> &z);
1673 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1674  const view1D<matrix::Dense<float>, float> &y,
1675  view1D<matrix::Dense<float>, float> &z);
1676 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1677  const view1D<matrix::Dense<float>, float> &y,
1678  view1D<tensor::tensor_Dense<float>, float> &z);
1679 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1680  const view1D<tensor::tensor_Dense<float>, float> &y,
1681  vector<float> &z);
1682 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1683  const view1D<tensor::tensor_Dense<float>, float> &y,
1684  view1D<vector<float>, float> &z);
1685 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1686  const view1D<tensor::tensor_Dense<float>, float> &y,
1687  view1D<matrix::Dense<float>, float> &z);
1688 void axpyz(const float alpha, const view1D<vector<float>, float> &x,
1689  const view1D<tensor::tensor_Dense<float>, float> &y,
1690  view1D<tensor::tensor_Dense<float>, float> &z);
1691 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1692  const vector<float> &y, vector<float> &z);
1693 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1694  const vector<float> &y, view1D<vector<float>, float> &z);
1695 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1696  const vector<float> &y, view1D<matrix::Dense<float>, float> &z);
1697 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1698  const vector<float> &y,
1699  view1D<tensor::tensor_Dense<float>, float> &z);
1700 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1701  const view1D<vector<float>, float> &y, vector<float> &z);
1702 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1703  const view1D<vector<float>, float> &y,
1704  view1D<vector<float>, float> &z);
1705 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1706  const view1D<vector<float>, float> &y,
1707  view1D<matrix::Dense<float>, float> &z);
1708 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1709  const view1D<vector<float>, float> &y,
1710  view1D<tensor::tensor_Dense<float>, float> &z);
1711 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1712  const view1D<matrix::Dense<float>, float> &y, vector<float> &z);
1713 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1714  const view1D<matrix::Dense<float>, float> &y,
1715  view1D<vector<float>, float> &z);
1716 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1717  const view1D<matrix::Dense<float>, float> &y,
1718  view1D<matrix::Dense<float>, float> &z);
1719 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1720  const view1D<matrix::Dense<float>, float> &y,
1721  view1D<tensor::tensor_Dense<float>, float> &z);
1722 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1723  const view1D<tensor::tensor_Dense<float>, float> &y,
1724  vector<float> &z);
1725 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1726  const view1D<tensor::tensor_Dense<float>, float> &y,
1727  view1D<vector<float>, float> &z);
1728 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1729  const view1D<tensor::tensor_Dense<float>, float> &y,
1730  view1D<matrix::Dense<float>, float> &z);
1731 void axpyz(const float alpha, const view1D<matrix::Dense<float>, float> &x,
1732  const view1D<tensor::tensor_Dense<float>, float> &y,
1733  view1D<tensor::tensor_Dense<float>, float> &z);
1734 void axpyz(const float alpha,
1735  const view1D<tensor::tensor_Dense<float>, float> &x,
1736  const vector<float> &y, vector<float> &z);
1737 void axpyz(const float alpha,
1738  const view1D<tensor::tensor_Dense<float>, float> &x,
1739  const vector<float> &y, view1D<vector<float>, float> &z);
1740 void axpyz(const float alpha,
1741  const view1D<tensor::tensor_Dense<float>, float> &x,
1742  const vector<float> &y, view1D<matrix::Dense<float>, float> &z);
1743 void axpyz(const float alpha,
1744  const view1D<tensor::tensor_Dense<float>, float> &x,
1745  const vector<float> &y,
1746  view1D<tensor::tensor_Dense<float>, float> &z);
1747 void axpyz(const float alpha,
1748  const view1D<tensor::tensor_Dense<float>, float> &x,
1749  const view1D<vector<float>, float> &y, vector<float> &z);
1750 void axpyz(const float alpha,
1751  const view1D<tensor::tensor_Dense<float>, float> &x,
1752  const view1D<vector<float>, float> &y,
1753  view1D<vector<float>, float> &z);
1754 void axpyz(const float alpha,
1755  const view1D<tensor::tensor_Dense<float>, float> &x,
1756  const view1D<vector<float>, float> &y,
1757  view1D<matrix::Dense<float>, float> &z);
1758 void axpyz(const float alpha,
1759  const view1D<tensor::tensor_Dense<float>, float> &x,
1760  const view1D<vector<float>, float> &y,
1761  view1D<tensor::tensor_Dense<float>, float> &z);
1762 void axpyz(const float alpha,
1763  const view1D<tensor::tensor_Dense<float>, float> &x,
1764  const view1D<matrix::Dense<float>, float> &y, vector<float> &z);
1765 void axpyz(const float alpha,
1766  const view1D<tensor::tensor_Dense<float>, float> &x,
1767  const view1D<matrix::Dense<float>, float> &y,
1768  view1D<vector<float>, float> &z);
1769 void axpyz(const float alpha,
1770  const view1D<tensor::tensor_Dense<float>, float> &x,
1771  const view1D<matrix::Dense<float>, float> &y,
1772  view1D<matrix::Dense<float>, float> &z);
1773 void axpyz(const float alpha,
1774  const view1D<tensor::tensor_Dense<float>, float> &x,
1775  const view1D<matrix::Dense<float>, float> &y,
1776  view1D<tensor::tensor_Dense<float>, float> &z);
1777 void axpyz(const float alpha,
1778  const view1D<tensor::tensor_Dense<float>, float> &x,
1779  const view1D<tensor::tensor_Dense<float>, float> &y,
1780  vector<float> &z);
1781 void axpyz(const float alpha,
1782  const view1D<tensor::tensor_Dense<float>, float> &x,
1783  const view1D<tensor::tensor_Dense<float>, float> &y,
1784  view1D<vector<float>, float> &z);
1785 void axpyz(const float alpha,
1786  const view1D<tensor::tensor_Dense<float>, float> &x,
1787  const view1D<tensor::tensor_Dense<float>, float> &y,
1788  view1D<matrix::Dense<float>, float> &z);
1789 void axpyz(const float alpha,
1790  const view1D<tensor::tensor_Dense<float>, float> &x,
1791  const view1D<tensor::tensor_Dense<float>, float> &y,
1792  view1D<tensor::tensor_Dense<float>, float> &z);
1811 void dot(const vector<double> &x, const vector<double> &y, double &ans);
1812 void dot(const vector<double> &x, const view1D<vector<double>, double> &y,
1813  double &ans);
1814 void dot(const vector<double> &x,
1815  const view1D<matrix::Dense<double>, double> &y, double &ans);
1816 void dot(const vector<double> &x,
1817  const view1D<tensor::tensor_Dense<double>, double> &y, double &ans);
1818 void dot(const view1D<vector<double>, double> &x, const vector<double> &y,
1819  double &ans);
1820 void dot(const view1D<vector<double>, double> &x,
1821  const view1D<vector<double>, double> &y, double &ans);
1822 void dot(const view1D<vector<double>, double> &x,
1823  const view1D<matrix::Dense<double>, double> &y, double &ans);
1824 void dot(const view1D<vector<double>, double> &x,
1825  const view1D<tensor::tensor_Dense<double>, double> &y, double &ans);
1826 void dot(const view1D<matrix::Dense<double>, double> &x,
1827  const vector<double> &y, double &ans);
1828 void dot(const view1D<matrix::Dense<double>, double> &x,
1829  const view1D<vector<double>, double> &y, double &ans);
1830 void dot(const view1D<matrix::Dense<double>, double> &x,
1831  const view1D<matrix::Dense<double>, double> &y, double &ans);
1832 void dot(const view1D<matrix::Dense<double>, double> &x,
1833  const view1D<tensor::tensor_Dense<double>, double> &y, double &ans);
1834 void dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1835  const vector<double> &y, double &ans);
1836 void dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1837  const view1D<vector<double>, double> &y, double &ans);
1838 void dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1839  const view1D<matrix::Dense<double>, double> &y, double &ans);
1840 void dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1841  const view1D<tensor::tensor_Dense<double>, double> &y, double &ans);
1842 void dot(const vector<float> &x, const vector<float> &y, float &ans);
1843 void dot(const vector<float> &x, const view1D<vector<float>, float> &y,
1844  float &ans);
1845 void dot(const vector<float> &x, const view1D<matrix::Dense<float>, float> &y,
1846  float &ans);
1847 void dot(const vector<float> &x,
1848  const view1D<tensor::tensor_Dense<float>, float> &y, float &ans);
1849 void dot(const view1D<vector<float>, float> &x, const vector<float> &y,
1850  float &ans);
1851 void dot(const view1D<vector<float>, float> &x,
1852  const view1D<vector<float>, float> &y, float &ans);
1853 void dot(const view1D<vector<float>, float> &x,
1854  const view1D<matrix::Dense<float>, float> &y, float &ans);
1855 void dot(const view1D<vector<float>, float> &x,
1856  const view1D<tensor::tensor_Dense<float>, float> &y, float &ans);
1857 void dot(const view1D<matrix::Dense<float>, float> &x, const vector<float> &y,
1858  float &ans);
1859 void dot(const view1D<matrix::Dense<float>, float> &x,
1860  const view1D<vector<float>, float> &y, float &ans);
1861 void dot(const view1D<matrix::Dense<float>, float> &x,
1862  const view1D<matrix::Dense<float>, float> &y, float &ans);
1863 void dot(const view1D<matrix::Dense<float>, float> &x,
1864  const view1D<tensor::tensor_Dense<float>, float> &y, float &ans);
1866  const vector<float> &y, float &ans);
1868  const view1D<vector<float>, float> &y, float &ans);
1870  const view1D<matrix::Dense<float>, float> &y, float &ans);
1872  const view1D<tensor::tensor_Dense<float>, float> &y, float &ans);
1873 
1885 [[nodiscard]] double dot(const vector<double> &x, const vector<double> &y);
1886 [[nodiscard]] double dot(const vector<double> &x,
1887  const view1D<vector<double>, double> &y);
1888 [[nodiscard]] double dot(const vector<double> &x,
1889  const view1D<matrix::Dense<double>, double> &y);
1890 [[nodiscard]] double dot(const vector<double> &x,
1891  const view1D<tensor::tensor_Dense<double>, double> &y);
1892 [[nodiscard]] double dot(const view1D<vector<double>, double> &x,
1893  const vector<double> &y);
1894 [[nodiscard]] double dot(const view1D<vector<double>, double> &x,
1895  const view1D<vector<double>, double> &y);
1896 [[nodiscard]] double dot(const view1D<vector<double>, double> &x,
1897  const view1D<matrix::Dense<double>, double> &y);
1898 [[nodiscard]] double dot(const view1D<vector<double>, double> &x,
1899  const view1D<tensor::tensor_Dense<double>, double> &y);
1900 [[nodiscard]] double dot(const view1D<matrix::Dense<double>, double> &x,
1901  const vector<double> &y);
1902 [[nodiscard]] double dot(const view1D<matrix::Dense<double>, double> &x,
1903  const view1D<vector<double>, double> &y);
1904 [[nodiscard]] double dot(const view1D<matrix::Dense<double>, double> &x,
1905  const view1D<matrix::Dense<double>, double> &y);
1906 [[nodiscard]] double dot(const view1D<matrix::Dense<double>, double> &x,
1907  const view1D<tensor::tensor_Dense<double>, double> &y);
1908 [[nodiscard]] double dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1909  const vector<double> &y);
1910 [[nodiscard]] double dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1911  const view1D<vector<double>, double> &y);
1912 [[nodiscard]] double dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1913  const view1D<matrix::Dense<double>, double> &y);
1914 [[nodiscard]] double dot(const view1D<tensor::tensor_Dense<double>, double> &x,
1915  const view1D<tensor::tensor_Dense<double>, double> &y);
1916 [[nodiscard]] float dot(const vector<float> &x, const vector<float> &y);
1917 [[nodiscard]] float dot(const vector<float> &x,
1918  const view1D<vector<float>, float> &y);
1919 [[nodiscard]] float dot(const vector<float> &x,
1920  const view1D<matrix::Dense<float>, float> &y);
1921 [[nodiscard]] float dot(const vector<float> &x,
1922  const view1D<tensor::tensor_Dense<float>, float> &y);
1923 [[nodiscard]] float dot(const view1D<vector<float>, float> &x,
1924  const vector<float> &y);
1925 [[nodiscard]] float dot(const view1D<vector<float>, float> &x,
1926  const view1D<vector<float>, float> &y);
1927 [[nodiscard]] float dot(const view1D<vector<float>, float> &x,
1928  const view1D<matrix::Dense<float>, float> &y);
1929 [[nodiscard]] float dot(const view1D<vector<float>, float> &x,
1930  const view1D<tensor::tensor_Dense<float>, float> &y);
1931 [[nodiscard]] float dot(const view1D<matrix::Dense<float>, float> &x,
1932  const vector<float> &y);
1933 [[nodiscard]] float dot(const view1D<matrix::Dense<float>, float> &x,
1934  const view1D<vector<float>, float> &y);
1935 [[nodiscard]] float dot(const view1D<matrix::Dense<float>, float> &x,
1936  const view1D<matrix::Dense<float>, float> &y);
1937 [[nodiscard]] float dot(const view1D<matrix::Dense<float>, float> &x,
1938  const view1D<tensor::tensor_Dense<float>, float> &y);
1939 [[nodiscard]] float dot(const view1D<tensor::tensor_Dense<float>, float> &x,
1940  const vector<float> &y);
1941 [[nodiscard]] float dot(const view1D<tensor::tensor_Dense<float>, float> &x,
1942  const view1D<vector<float>, float> &y);
1943 [[nodiscard]] float dot(const view1D<tensor::tensor_Dense<float>, float> &x,
1944  const view1D<matrix::Dense<float>, float> &y);
1945 [[nodiscard]] float dot(const view1D<tensor::tensor_Dense<float>, float> &x,
1946  const view1D<tensor::tensor_Dense<float>, float> &y);
1964 void nrm1(const vector<double> &x, double &ans);
1965 void nrm1(const view1D<vector<double>, double> &x, double &ans);
1966 void nrm1(const view1D<matrix::Dense<double>, double> &x, double &ans);
1967 void nrm1(const view1D<tensor::tensor_Dense<double>, double> &x, double &ans);
1968 void nrm1(const vector<float> &x, float &ans);
1969 void nrm1(const view1D<vector<float>, float> &x, float &ans);
1970 void nrm1(const view1D<matrix::Dense<float>, float> &x, float &ans);
1971 void nrm1(const view1D<tensor::tensor_Dense<float>, float> &x, float &ans);
1972 
1983 [[nodiscard]] double nrm1(const vector<double> &x);
1984 [[nodiscard]] double nrm1(const view1D<vector<double>, double> &x);
1985 [[nodiscard]] double nrm1(const view1D<matrix::Dense<double>, double> &x);
1986 [[nodiscard]] double
1988 [[nodiscard]] float nrm1(const vector<float> &x);
1989 [[nodiscard]] float nrm1(const view1D<vector<float>, float> &x);
1990 [[nodiscard]] float nrm1(const view1D<matrix::Dense<float>, float> &x);
1991 [[nodiscard]] float nrm1(const view1D<tensor::tensor_Dense<float>, float> &x);
2009 void nrm2(const vector<double> &x, double &ans);
2010 void nrm2(const view1D<vector<double>, double> &x, double &ans);
2011 void nrm2(const view1D<matrix::Dense<double>, double> &x, double &ans);
2012 void nrm2(const view1D<tensor::tensor_Dense<double>, double> &x, double &ans);
2013 void nrm2(const vector<float> &x, float &ans);
2014 void nrm2(const view1D<vector<float>, float> &x, float &ans);
2015 void nrm2(const view1D<matrix::Dense<float>, float> &x, float &ans);
2016 void nrm2(const view1D<tensor::tensor_Dense<float>, float> &x, float &ans);
2017 
2028 [[nodiscard]] double nrm2(const vector<double> &x);
2029 [[nodiscard]] double nrm2(const view1D<vector<double>, double> &x);
2030 [[nodiscard]] double nrm2(const view1D<matrix::Dense<double>, double> &x);
2031 [[nodiscard]] double
2033 [[nodiscard]] float nrm2(const vector<float> &x);
2034 [[nodiscard]] float nrm2(const view1D<vector<float>, float> &x);
2035 [[nodiscard]] float nrm2(const view1D<matrix::Dense<float>, float> &x);
2036 [[nodiscard]] float nrm2(const view1D<tensor::tensor_Dense<float>, float> &x);
2054 void scal(const double alpha, vector<double> &x);
2055 void scal(const double alpha, view1D<vector<double>, double> &x);
2056 void scal(const double alpha, view1D<matrix::Dense<double>, double> &x);
2057 void scal(const double alpha, view1D<tensor::tensor_Dense<double>, double> &x);
2058 void scal(const float alpha, vector<float> &x);
2059 void scal(const float alpha, view1D<vector<float>, float> &x);
2060 void scal(const float alpha, view1D<matrix::Dense<float>, float> &x);
2061 void scal(const float alpha, view1D<tensor::tensor_Dense<float>, float> &x);
2080 void xpay(const double alpha, const vector<double> &x, vector<double> &y);
2081 void xpay(const double alpha, const vector<double> &x,
2082  view1D<vector<double>, double> &y);
2083 void xpay(const double alpha, const vector<double> &x,
2084  view1D<matrix::Dense<double>, double> &y);
2085 void xpay(const double alpha, const vector<double> &x,
2086  view1D<tensor::tensor_Dense<double>, double> &y);
2087 void xpay(const double alpha, const view1D<vector<double>, double> &x,
2088  vector<double> &y);
2089 void xpay(const double alpha, const view1D<vector<double>, double> &x,
2090  view1D<vector<double>, double> &y);
2091 void xpay(const double alpha, const view1D<vector<double>, double> &x,
2092  view1D<matrix::Dense<double>, double> &y);
2093 void xpay(const double alpha, const view1D<vector<double>, double> &x,
2094  view1D<tensor::tensor_Dense<double>, double> &y);
2095 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
2096  vector<double> &y);
2097 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
2098  view1D<vector<double>, double> &y);
2099 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
2100  view1D<matrix::Dense<double>, double> &y);
2101 void xpay(const double alpha, const view1D<matrix::Dense<double>, double> &x,
2102  view1D<tensor::tensor_Dense<double>, double> &y);
2103 void xpay(const double alpha,
2104  const view1D<tensor::tensor_Dense<double>, double> &x,
2105  vector<double> &y);
2106 void xpay(const double alpha,
2107  const view1D<tensor::tensor_Dense<double>, double> &x,
2108  view1D<vector<double>, double> &y);
2109 void xpay(const double alpha,
2110  const view1D<tensor::tensor_Dense<double>, double> &x,
2111  view1D<matrix::Dense<double>, double> &y);
2112 void xpay(const double alpha,
2113  const view1D<tensor::tensor_Dense<double>, double> &x,
2114  view1D<tensor::tensor_Dense<double>, double> &y);
2115 void xpay(const float alpha, const vector<float> &x, vector<float> &y);
2116 void xpay(const float alpha, const vector<float> &x,
2117  view1D<vector<float>, float> &y);
2118 void xpay(const float alpha, const vector<float> &x,
2119  view1D<matrix::Dense<float>, float> &y);
2120 void xpay(const float alpha, const vector<float> &x,
2121  view1D<tensor::tensor_Dense<float>, float> &y);
2122 void xpay(const float alpha, const view1D<vector<float>, float> &x,
2123  vector<float> &y);
2124 void xpay(const float alpha, const view1D<vector<float>, float> &x,
2125  view1D<vector<float>, float> &y);
2126 void xpay(const float alpha, const view1D<vector<float>, float> &x,
2127  view1D<matrix::Dense<float>, float> &y);
2128 void xpay(const float alpha, const view1D<vector<float>, float> &x,
2129  view1D<tensor::tensor_Dense<float>, float> &y);
2130 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
2131  vector<float> &y);
2132 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
2133  view1D<vector<float>, float> &y);
2134 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
2135  view1D<matrix::Dense<float>, float> &y);
2136 void xpay(const float alpha, const view1D<matrix::Dense<float>, float> &x,
2137  view1D<tensor::tensor_Dense<float>, float> &y);
2138 void xpay(const float alpha,
2139  const view1D<tensor::tensor_Dense<float>, float> &x,
2140  vector<float> &y);
2141 void xpay(const float alpha,
2142  const view1D<tensor::tensor_Dense<float>, float> &x,
2143  view1D<vector<float>, float> &y);
2144 void xpay(const float alpha,
2145  const view1D<tensor::tensor_Dense<float>, float> &x,
2146  view1D<matrix::Dense<float>, float> &y);
2147 void xpay(const float alpha,
2148  const view1D<tensor::tensor_Dense<float>, float> &x,
2149  view1D<tensor::tensor_Dense<float>, float> &y);
2152 } // namespace blas
2153 } // namespace monolish
Dense format Matrix.
void asum(const vector< double > &x, double &ans)
vector absolute sum
void axpy(const double alpha, const vector< double > &x, vector< double > &y)
axpy: y = ax + y
void axpyz(const double alpha, const vector< double > &x, const vector< double > &y, vector< double > &z)
axpyz: z = ax + y
void dot(const vector< double > &x, const vector< double > &y, double &ans)
inner product (dot)
void copy(const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix copy (C=A)
void nrm1(const vector< double > &x, double &ans)
nrm1: sum(abs(x[0:N]))
void nrm2(const vector< double > &x, double &ans)
nrm2: ||x||_2
void scal(const double alpha, vector< double > &x)
scal: x = alpha * x
void sum(const vector< double > &x, double &ans)
vector sum
void times(const double alpha, const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix times: C = alpha * A.
void vecadd(const vector< double > &a, const vector< double > &b, vector< double > &y)
element by element addition of vector a and vector b.
void vecsub(const vector< double > &a, const vector< double > &b, vector< double > &y)
element by element subtract of vector a and vector b.
void xpay(const double alpha, const vector< double > &x, vector< double > &y)
xpay: y = x + ay
monolish namespaces