monolish  0.17.3-dev.23
MONOlithic LInear equation Solvers for Highly-parallel architecture
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
monolish_matvec_blas.hpp
Go to the documentation of this file.
1 // this code is generated by gen_matvec_blas.sh
2 #pragma once
3 #include "../common/monolish_common.hpp"
4 
5 namespace monolish {
11 namespace blas {
12 
38  view_Dense<vector<double>, double> &C);
40  view_Dense<matrix::Dense<double>, double> &C);
44  const view1D<vector<double>, double> &x,
47  const view1D<vector<double>, double> &x,
48  view_Dense<vector<double>, double> &C);
50  const view1D<vector<double>, double> &x,
51  view_Dense<matrix::Dense<double>, double> &C);
53  const view1D<vector<double>, double> &x,
56  const view1D<matrix::Dense<double>, double> &x,
59  const view1D<matrix::Dense<double>, double> &x,
60  view_Dense<vector<double>, double> &C);
62  const view1D<matrix::Dense<double>, double> &x,
63  view_Dense<matrix::Dense<double>, double> &C);
65  const view1D<matrix::Dense<double>, double> &x,
68  const view1D<tensor::tensor_Dense<double>, double> &x,
71  const view1D<tensor::tensor_Dense<double>, double> &x,
72  view_Dense<vector<double>, double> &C);
74  const view1D<tensor::tensor_Dense<double>, double> &x,
75  view_Dense<matrix::Dense<double>, double> &C);
77  const view1D<tensor::tensor_Dense<double>, double> &x,
79 void times_row(const view_Dense<vector<double>, double> &A,
81 void times_row(const view_Dense<vector<double>, double> &A,
82  const vector<double> &x, view_Dense<vector<double>, double> &C);
83 void times_row(const view_Dense<vector<double>, double> &A,
84  const vector<double> &x,
85  view_Dense<matrix::Dense<double>, double> &C);
86 void times_row(const view_Dense<vector<double>, double> &A,
87  const vector<double> &x,
89 void times_row(const view_Dense<vector<double>, double> &A,
90  const view1D<vector<double>, double> &x,
92 void times_row(const view_Dense<vector<double>, double> &A,
93  const view1D<vector<double>, double> &x,
94  view_Dense<vector<double>, double> &C);
95 void times_row(const view_Dense<vector<double>, double> &A,
96  const view1D<vector<double>, double> &x,
97  view_Dense<matrix::Dense<double>, double> &C);
98 void times_row(const view_Dense<vector<double>, double> &A,
99  const view1D<vector<double>, double> &x,
101 void times_row(const view_Dense<vector<double>, double> &A,
102  const view1D<matrix::Dense<double>, double> &x,
104 void times_row(const view_Dense<vector<double>, double> &A,
105  const view1D<matrix::Dense<double>, double> &x,
106  view_Dense<vector<double>, double> &C);
107 void times_row(const view_Dense<vector<double>, double> &A,
108  const view1D<matrix::Dense<double>, double> &x,
109  view_Dense<matrix::Dense<double>, double> &C);
110 void times_row(const view_Dense<vector<double>, double> &A,
111  const view1D<matrix::Dense<double>, double> &x,
113 void times_row(const view_Dense<vector<double>, double> &A,
114  const view1D<tensor::tensor_Dense<double>, double> &x,
116 void times_row(const view_Dense<vector<double>, double> &A,
117  const view1D<tensor::tensor_Dense<double>, double> &x,
118  view_Dense<vector<double>, double> &C);
119 void times_row(const view_Dense<vector<double>, double> &A,
120  const view1D<tensor::tensor_Dense<double>, double> &x,
121  view_Dense<matrix::Dense<double>, double> &C);
122 void times_row(const view_Dense<vector<double>, double> &A,
123  const view1D<tensor::tensor_Dense<double>, double> &x,
128  const vector<double> &x, view_Dense<vector<double>, double> &C);
130  const vector<double> &x,
131  view_Dense<matrix::Dense<double>, double> &C);
133  const vector<double> &x,
136  const view1D<vector<double>, double> &x,
139  const view1D<vector<double>, double> &x,
140  view_Dense<vector<double>, double> &C);
142  const view1D<vector<double>, double> &x,
143  view_Dense<matrix::Dense<double>, double> &C);
145  const view1D<vector<double>, double> &x,
148  const view1D<matrix::Dense<double>, double> &x,
151  const view1D<matrix::Dense<double>, double> &x,
152  view_Dense<vector<double>, double> &C);
154  const view1D<matrix::Dense<double>, double> &x,
155  view_Dense<matrix::Dense<double>, double> &C);
157  const view1D<matrix::Dense<double>, double> &x,
160  const view1D<tensor::tensor_Dense<double>, double> &x,
163  const view1D<tensor::tensor_Dense<double>, double> &x,
164  view_Dense<vector<double>, double> &C);
166  const view1D<tensor::tensor_Dense<double>, double> &x,
167  view_Dense<matrix::Dense<double>, double> &C);
169  const view1D<tensor::tensor_Dense<double>, double> &x,
174  const vector<double> &x, view_Dense<vector<double>, double> &C);
176  const vector<double> &x,
177  view_Dense<matrix::Dense<double>, double> &C);
179  const vector<double> &x,
182  const view1D<vector<double>, double> &x,
185  const view1D<vector<double>, double> &x,
186  view_Dense<vector<double>, double> &C);
188  const view1D<vector<double>, double> &x,
189  view_Dense<matrix::Dense<double>, double> &C);
191  const view1D<vector<double>, double> &x,
194  const view1D<matrix::Dense<double>, double> &x,
197  const view1D<matrix::Dense<double>, double> &x,
198  view_Dense<vector<double>, double> &C);
200  const view1D<matrix::Dense<double>, double> &x,
201  view_Dense<matrix::Dense<double>, double> &C);
203  const view1D<matrix::Dense<double>, double> &x,
206  const view1D<tensor::tensor_Dense<double>, double> &x,
209  const view1D<tensor::tensor_Dense<double>, double> &x,
210  view_Dense<vector<double>, double> &C);
212  const view1D<tensor::tensor_Dense<double>, double> &x,
213  view_Dense<matrix::Dense<double>, double> &C);
215  const view1D<tensor::tensor_Dense<double>, double> &x,
220  view_Dense<vector<float>, float> &C);
222  view_Dense<matrix::Dense<float>, float> &C);
226  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
228  const view1D<vector<float>, float> &x,
229  view_Dense<vector<float>, float> &C);
231  const view1D<vector<float>, float> &x,
232  view_Dense<matrix::Dense<float>, float> &C);
234  const view1D<vector<float>, float> &x,
237  const view1D<matrix::Dense<float>, float> &x,
240  const view1D<matrix::Dense<float>, float> &x,
241  view_Dense<vector<float>, float> &C);
243  const view1D<matrix::Dense<float>, float> &x,
244  view_Dense<matrix::Dense<float>, float> &C);
246  const view1D<matrix::Dense<float>, float> &x,
249  const view1D<tensor::tensor_Dense<float>, float> &x,
252  const view1D<tensor::tensor_Dense<float>, float> &x,
253  view_Dense<vector<float>, float> &C);
255  const view1D<tensor::tensor_Dense<float>, float> &x,
256  view_Dense<matrix::Dense<float>, float> &C);
258  const view1D<tensor::tensor_Dense<float>, float> &x,
260 void times_row(const view_Dense<vector<float>, float> &A,
261  const vector<float> &x, matrix::Dense<float> &C);
262 void times_row(const view_Dense<vector<float>, float> &A,
263  const vector<float> &x, view_Dense<vector<float>, float> &C);
264 void times_row(const view_Dense<vector<float>, float> &A,
265  const vector<float> &x,
266  view_Dense<matrix::Dense<float>, float> &C);
267 void times_row(const view_Dense<vector<float>, float> &A,
268  const vector<float> &x,
270 void times_row(const view_Dense<vector<float>, float> &A,
271  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
272 void times_row(const view_Dense<vector<float>, float> &A,
273  const view1D<vector<float>, float> &x,
274  view_Dense<vector<float>, float> &C);
275 void times_row(const view_Dense<vector<float>, float> &A,
276  const view1D<vector<float>, float> &x,
277  view_Dense<matrix::Dense<float>, float> &C);
278 void times_row(const view_Dense<vector<float>, float> &A,
279  const view1D<vector<float>, float> &x,
281 void times_row(const view_Dense<vector<float>, float> &A,
282  const view1D<matrix::Dense<float>, float> &x,
284 void times_row(const view_Dense<vector<float>, float> &A,
285  const view1D<matrix::Dense<float>, float> &x,
286  view_Dense<vector<float>, float> &C);
287 void times_row(const view_Dense<vector<float>, float> &A,
288  const view1D<matrix::Dense<float>, float> &x,
289  view_Dense<matrix::Dense<float>, float> &C);
290 void times_row(const view_Dense<vector<float>, float> &A,
291  const view1D<matrix::Dense<float>, float> &x,
293 void times_row(const view_Dense<vector<float>, float> &A,
294  const view1D<tensor::tensor_Dense<float>, float> &x,
296 void times_row(const view_Dense<vector<float>, float> &A,
297  const view1D<tensor::tensor_Dense<float>, float> &x,
298  view_Dense<vector<float>, float> &C);
299 void times_row(const view_Dense<vector<float>, float> &A,
300  const view1D<tensor::tensor_Dense<float>, float> &x,
301  view_Dense<matrix::Dense<float>, float> &C);
302 void times_row(const view_Dense<vector<float>, float> &A,
303  const view1D<tensor::tensor_Dense<float>, float> &x,
306  const vector<float> &x, matrix::Dense<float> &C);
308  const vector<float> &x, view_Dense<vector<float>, float> &C);
310  const vector<float> &x,
311  view_Dense<matrix::Dense<float>, float> &C);
313  const vector<float> &x,
316  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
318  const view1D<vector<float>, float> &x,
319  view_Dense<vector<float>, float> &C);
321  const view1D<vector<float>, float> &x,
322  view_Dense<matrix::Dense<float>, float> &C);
324  const view1D<vector<float>, float> &x,
327  const view1D<matrix::Dense<float>, float> &x,
330  const view1D<matrix::Dense<float>, float> &x,
331  view_Dense<vector<float>, float> &C);
333  const view1D<matrix::Dense<float>, float> &x,
334  view_Dense<matrix::Dense<float>, float> &C);
336  const view1D<matrix::Dense<float>, float> &x,
339  const view1D<tensor::tensor_Dense<float>, float> &x,
342  const view1D<tensor::tensor_Dense<float>, float> &x,
343  view_Dense<vector<float>, float> &C);
345  const view1D<tensor::tensor_Dense<float>, float> &x,
346  view_Dense<matrix::Dense<float>, float> &C);
348  const view1D<tensor::tensor_Dense<float>, float> &x,
351  const vector<float> &x, matrix::Dense<float> &C);
353  const vector<float> &x, view_Dense<vector<float>, float> &C);
355  const vector<float> &x,
356  view_Dense<matrix::Dense<float>, float> &C);
358  const vector<float> &x,
361  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
363  const view1D<vector<float>, float> &x,
364  view_Dense<vector<float>, float> &C);
366  const view1D<vector<float>, float> &x,
367  view_Dense<matrix::Dense<float>, float> &C);
369  const view1D<vector<float>, float> &x,
372  const view1D<matrix::Dense<float>, float> &x,
375  const view1D<matrix::Dense<float>, float> &x,
376  view_Dense<vector<float>, float> &C);
378  const view1D<matrix::Dense<float>, float> &x,
379  view_Dense<matrix::Dense<float>, float> &C);
381  const view1D<matrix::Dense<float>, float> &x,
384  const view1D<tensor::tensor_Dense<float>, float> &x,
387  const view1D<tensor::tensor_Dense<float>, float> &x,
388  view_Dense<vector<float>, float> &C);
390  const view1D<tensor::tensor_Dense<float>, float> &x,
391  view_Dense<matrix::Dense<float>, float> &C);
393  const view1D<tensor::tensor_Dense<float>, float> &x,
415 void times_row(const matrix::Dense<double> &A, const size_t num,
417 void times_row(const matrix::Dense<double> &A, const size_t num,
418  const vector<double> &x, view_Dense<vector<double>, double> &C);
419 void times_row(const matrix::Dense<double> &A, const size_t num,
420  const vector<double> &x,
421  view_Dense<matrix::Dense<double>, double> &C);
422 void times_row(const matrix::Dense<double> &A, const size_t num,
423  const vector<double> &x,
425 void times_row(const matrix::Dense<double> &A, const size_t num,
426  const view1D<vector<double>, double> &x,
428 void times_row(const matrix::Dense<double> &A, const size_t num,
429  const view1D<vector<double>, double> &x,
430  view_Dense<vector<double>, double> &C);
431 void times_row(const matrix::Dense<double> &A, const size_t num,
432  const view1D<vector<double>, double> &x,
433  view_Dense<matrix::Dense<double>, double> &C);
434 void times_row(const matrix::Dense<double> &A, const size_t num,
435  const view1D<vector<double>, double> &x,
437 void times_row(const matrix::Dense<double> &A, const size_t num,
438  const view1D<matrix::Dense<double>, double> &x,
440 void times_row(const matrix::Dense<double> &A, const size_t num,
441  const view1D<matrix::Dense<double>, double> &x,
442  view_Dense<vector<double>, double> &C);
443 void times_row(const matrix::Dense<double> &A, const size_t num,
444  const view1D<matrix::Dense<double>, double> &x,
445  view_Dense<matrix::Dense<double>, double> &C);
446 void times_row(const matrix::Dense<double> &A, const size_t num,
447  const view1D<matrix::Dense<double>, double> &x,
449 void times_row(const matrix::Dense<double> &A, const size_t num,
450  const view1D<tensor::tensor_Dense<double>, double> &x,
452 void times_row(const matrix::Dense<double> &A, const size_t num,
453  const view1D<tensor::tensor_Dense<double>, double> &x,
454  view_Dense<vector<double>, double> &C);
455 void times_row(const matrix::Dense<double> &A, const size_t num,
456  const view1D<tensor::tensor_Dense<double>, double> &x,
457  view_Dense<matrix::Dense<double>, double> &C);
458 void times_row(const matrix::Dense<double> &A, const size_t num,
459  const view1D<tensor::tensor_Dense<double>, double> &x,
461 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
463 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
464  const vector<double> &x, view_Dense<vector<double>, double> &C);
465 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
466  const vector<double> &x,
467  view_Dense<matrix::Dense<double>, double> &C);
468 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
469  const vector<double> &x,
471 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
472  const view1D<vector<double>, double> &x,
474 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
475  const view1D<vector<double>, double> &x,
476  view_Dense<vector<double>, double> &C);
477 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
478  const view1D<vector<double>, double> &x,
479  view_Dense<matrix::Dense<double>, double> &C);
480 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
481  const view1D<vector<double>, double> &x,
483 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
484  const view1D<matrix::Dense<double>, double> &x,
486 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
487  const view1D<matrix::Dense<double>, double> &x,
488  view_Dense<vector<double>, double> &C);
489 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
490  const view1D<matrix::Dense<double>, double> &x,
491  view_Dense<matrix::Dense<double>, double> &C);
492 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
493  const view1D<matrix::Dense<double>, double> &x,
495 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
496  const view1D<tensor::tensor_Dense<double>, double> &x,
498 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
499  const view1D<tensor::tensor_Dense<double>, double> &x,
500  view_Dense<vector<double>, double> &C);
501 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
502  const view1D<tensor::tensor_Dense<double>, double> &x,
503  view_Dense<matrix::Dense<double>, double> &C);
504 void times_row(const view_Dense<vector<double>, double> &A, const size_t num,
505  const view1D<tensor::tensor_Dense<double>, double> &x,
508  const size_t num, const vector<double> &x,
511  const size_t num, const vector<double> &x,
512  view_Dense<vector<double>, double> &C);
514  const size_t num, const vector<double> &x,
515  view_Dense<matrix::Dense<double>, double> &C);
517  const size_t num, const vector<double> &x,
520  const size_t num, const view1D<vector<double>, double> &x,
523  const size_t num, const view1D<vector<double>, double> &x,
524  view_Dense<vector<double>, double> &C);
526  const size_t num, const view1D<vector<double>, double> &x,
527  view_Dense<matrix::Dense<double>, double> &C);
529  const size_t num, const view1D<vector<double>, double> &x,
532  const size_t num, const view1D<matrix::Dense<double>, double> &x,
535  const size_t num, const view1D<matrix::Dense<double>, double> &x,
536  view_Dense<vector<double>, double> &C);
538  const size_t num, const view1D<matrix::Dense<double>, double> &x,
539  view_Dense<matrix::Dense<double>, double> &C);
541  const size_t num, const view1D<matrix::Dense<double>, double> &x,
544  const size_t num,
545  const view1D<tensor::tensor_Dense<double>, double> &x,
548  const size_t num,
549  const view1D<tensor::tensor_Dense<double>, double> &x,
550  view_Dense<vector<double>, double> &C);
552  const size_t num,
553  const view1D<tensor::tensor_Dense<double>, double> &x,
554  view_Dense<matrix::Dense<double>, double> &C);
556  const size_t num,
557  const view1D<tensor::tensor_Dense<double>, double> &x,
560  const size_t num, const vector<double> &x,
563  const size_t num, const vector<double> &x,
564  view_Dense<vector<double>, double> &C);
566  const size_t num, const vector<double> &x,
567  view_Dense<matrix::Dense<double>, double> &C);
569  const size_t num, const vector<double> &x,
572  const size_t num, const view1D<vector<double>, double> &x,
575  const size_t num, const view1D<vector<double>, double> &x,
576  view_Dense<vector<double>, double> &C);
578  const size_t num, const view1D<vector<double>, double> &x,
579  view_Dense<matrix::Dense<double>, double> &C);
581  const size_t num, const view1D<vector<double>, double> &x,
584  const size_t num, const view1D<matrix::Dense<double>, double> &x,
587  const size_t num, const view1D<matrix::Dense<double>, double> &x,
588  view_Dense<vector<double>, double> &C);
590  const size_t num, const view1D<matrix::Dense<double>, double> &x,
591  view_Dense<matrix::Dense<double>, double> &C);
593  const size_t num, const view1D<matrix::Dense<double>, double> &x,
596  const size_t num,
597  const view1D<tensor::tensor_Dense<double>, double> &x,
600  const size_t num,
601  const view1D<tensor::tensor_Dense<double>, double> &x,
602  view_Dense<vector<double>, double> &C);
604  const size_t num,
605  const view1D<tensor::tensor_Dense<double>, double> &x,
606  view_Dense<matrix::Dense<double>, double> &C);
608  const size_t num,
609  const view1D<tensor::tensor_Dense<double>, double> &x,
611 void times_row(const matrix::Dense<float> &A, const size_t num,
612  const vector<float> &x, matrix::Dense<float> &C);
613 void times_row(const matrix::Dense<float> &A, const size_t num,
614  const vector<float> &x, view_Dense<vector<float>, float> &C);
615 void times_row(const matrix::Dense<float> &A, const size_t num,
616  const vector<float> &x,
617  view_Dense<matrix::Dense<float>, float> &C);
618 void times_row(const matrix::Dense<float> &A, const size_t num,
619  const vector<float> &x,
621 void times_row(const matrix::Dense<float> &A, const size_t num,
622  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
623 void times_row(const matrix::Dense<float> &A, const size_t num,
624  const view1D<vector<float>, float> &x,
625  view_Dense<vector<float>, float> &C);
626 void times_row(const matrix::Dense<float> &A, const size_t num,
627  const view1D<vector<float>, float> &x,
628  view_Dense<matrix::Dense<float>, float> &C);
629 void times_row(const matrix::Dense<float> &A, const size_t num,
630  const view1D<vector<float>, float> &x,
632 void times_row(const matrix::Dense<float> &A, const size_t num,
633  const view1D<matrix::Dense<float>, float> &x,
635 void times_row(const matrix::Dense<float> &A, const size_t num,
636  const view1D<matrix::Dense<float>, float> &x,
637  view_Dense<vector<float>, float> &C);
638 void times_row(const matrix::Dense<float> &A, const size_t num,
639  const view1D<matrix::Dense<float>, float> &x,
640  view_Dense<matrix::Dense<float>, float> &C);
641 void times_row(const matrix::Dense<float> &A, const size_t num,
642  const view1D<matrix::Dense<float>, float> &x,
644 void times_row(const matrix::Dense<float> &A, const size_t num,
645  const view1D<tensor::tensor_Dense<float>, float> &x,
647 void times_row(const matrix::Dense<float> &A, const size_t num,
648  const view1D<tensor::tensor_Dense<float>, float> &x,
649  view_Dense<vector<float>, float> &C);
650 void times_row(const matrix::Dense<float> &A, const size_t num,
651  const view1D<tensor::tensor_Dense<float>, float> &x,
652  view_Dense<matrix::Dense<float>, float> &C);
653 void times_row(const matrix::Dense<float> &A, const size_t num,
654  const view1D<tensor::tensor_Dense<float>, float> &x,
656 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
657  const vector<float> &x, matrix::Dense<float> &C);
658 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
659  const vector<float> &x, view_Dense<vector<float>, float> &C);
660 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
661  const vector<float> &x,
662  view_Dense<matrix::Dense<float>, float> &C);
663 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
664  const vector<float> &x,
666 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
667  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
668 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
669  const view1D<vector<float>, float> &x,
670  view_Dense<vector<float>, float> &C);
671 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
672  const view1D<vector<float>, float> &x,
673  view_Dense<matrix::Dense<float>, float> &C);
674 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
675  const view1D<vector<float>, float> &x,
677 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
678  const view1D<matrix::Dense<float>, float> &x,
680 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
681  const view1D<matrix::Dense<float>, float> &x,
682  view_Dense<vector<float>, float> &C);
683 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
684  const view1D<matrix::Dense<float>, float> &x,
685  view_Dense<matrix::Dense<float>, float> &C);
686 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
687  const view1D<matrix::Dense<float>, float> &x,
689 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
690  const view1D<tensor::tensor_Dense<float>, float> &x,
692 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
693  const view1D<tensor::tensor_Dense<float>, float> &x,
694  view_Dense<vector<float>, float> &C);
695 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
696  const view1D<tensor::tensor_Dense<float>, float> &x,
697  view_Dense<matrix::Dense<float>, float> &C);
698 void times_row(const view_Dense<vector<float>, float> &A, const size_t num,
699  const view1D<tensor::tensor_Dense<float>, float> &x,
702  const size_t num, const vector<float> &x,
705  const size_t num, const vector<float> &x,
706  view_Dense<vector<float>, float> &C);
708  const size_t num, const vector<float> &x,
709  view_Dense<matrix::Dense<float>, float> &C);
711  const size_t num, const vector<float> &x,
714  const size_t num, const view1D<vector<float>, float> &x,
717  const size_t num, const view1D<vector<float>, float> &x,
718  view_Dense<vector<float>, float> &C);
720  const size_t num, const view1D<vector<float>, float> &x,
721  view_Dense<matrix::Dense<float>, float> &C);
723  const size_t num, const view1D<vector<float>, float> &x,
726  const size_t num, const view1D<matrix::Dense<float>, float> &x,
729  const size_t num, const view1D<matrix::Dense<float>, float> &x,
730  view_Dense<vector<float>, float> &C);
732  const size_t num, const view1D<matrix::Dense<float>, float> &x,
733  view_Dense<matrix::Dense<float>, float> &C);
735  const size_t num, const view1D<matrix::Dense<float>, float> &x,
738  const size_t num,
739  const view1D<tensor::tensor_Dense<float>, float> &x,
742  const size_t num,
743  const view1D<tensor::tensor_Dense<float>, float> &x,
744  view_Dense<vector<float>, float> &C);
746  const size_t num,
747  const view1D<tensor::tensor_Dense<float>, float> &x,
748  view_Dense<matrix::Dense<float>, float> &C);
750  const size_t num,
751  const view1D<tensor::tensor_Dense<float>, float> &x,
754  const size_t num, const vector<float> &x,
757  const size_t num, const vector<float> &x,
758  view_Dense<vector<float>, float> &C);
760  const size_t num, const vector<float> &x,
761  view_Dense<matrix::Dense<float>, float> &C);
763  const size_t num, const vector<float> &x,
766  const size_t num, const view1D<vector<float>, float> &x,
769  const size_t num, const view1D<vector<float>, float> &x,
770  view_Dense<vector<float>, float> &C);
772  const size_t num, const view1D<vector<float>, float> &x,
773  view_Dense<matrix::Dense<float>, float> &C);
775  const size_t num, const view1D<vector<float>, float> &x,
778  const size_t num, const view1D<matrix::Dense<float>, float> &x,
781  const size_t num, const view1D<matrix::Dense<float>, float> &x,
782  view_Dense<vector<float>, float> &C);
784  const size_t num, const view1D<matrix::Dense<float>, float> &x,
785  view_Dense<matrix::Dense<float>, float> &C);
787  const size_t num, const view1D<matrix::Dense<float>, float> &x,
790  const size_t num,
791  const view1D<tensor::tensor_Dense<float>, float> &x,
794  const size_t num,
795  const view1D<tensor::tensor_Dense<float>, float> &x,
796  view_Dense<vector<float>, float> &C);
798  const size_t num,
799  const view1D<tensor::tensor_Dense<float>, float> &x,
800  view_Dense<matrix::Dense<float>, float> &C);
802  const size_t num,
803  const view1D<tensor::tensor_Dense<float>, float> &x,
829  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
831  const view1D<matrix::CRS<double>, double> &x,
834  matrix::CRS<float> &C);
836  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
838  const view1D<matrix::CRS<float>, float> &x,
839  matrix::CRS<float> &C);
862 void times_row(const matrix::CRS<double> &A, const size_t num,
863  const vector<double> &x, matrix::CRS<double> &C);
864 void times_row(const matrix::CRS<double> &A, const size_t num,
865  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
866 void times_row(const matrix::CRS<double> &A, const size_t num,
867  const view1D<matrix::CRS<double>, double> &x,
869 void times_row(const matrix::CRS<float> &A, const size_t num,
870  const vector<float> &x, matrix::CRS<float> &C);
871 void times_row(const matrix::CRS<float> &A, const size_t num,
872  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
873 void times_row(const matrix::CRS<float> &A, const size_t num,
874  const view1D<matrix::CRS<float>, float> &x,
875  matrix::CRS<float> &C);
898  view_Dense<vector<double>, double> &C);
900  view_Dense<matrix::Dense<double>, double> &C);
904  const view1D<vector<double>, double> &x,
907  const view1D<vector<double>, double> &x,
908  view_Dense<vector<double>, double> &C);
910  const view1D<vector<double>, double> &x,
911  view_Dense<matrix::Dense<double>, double> &C);
913  const view1D<vector<double>, double> &x,
916  const view1D<matrix::Dense<double>, double> &x,
919  const view1D<matrix::Dense<double>, double> &x,
920  view_Dense<vector<double>, double> &C);
922  const view1D<matrix::Dense<double>, double> &x,
923  view_Dense<matrix::Dense<double>, double> &C);
925  const view1D<matrix::Dense<double>, double> &x,
928  const view1D<tensor::tensor_Dense<double>, double> &x,
931  const view1D<tensor::tensor_Dense<double>, double> &x,
932  view_Dense<vector<double>, double> &C);
934  const view1D<tensor::tensor_Dense<double>, double> &x,
935  view_Dense<matrix::Dense<double>, double> &C);
937  const view1D<tensor::tensor_Dense<double>, double> &x,
939 void times_col(const view_Dense<vector<double>, double> &A,
941 void times_col(const view_Dense<vector<double>, double> &A,
942  const vector<double> &x, view_Dense<vector<double>, double> &C);
943 void times_col(const view_Dense<vector<double>, double> &A,
944  const vector<double> &x,
945  view_Dense<matrix::Dense<double>, double> &C);
946 void times_col(const view_Dense<vector<double>, double> &A,
947  const vector<double> &x,
949 void times_col(const view_Dense<vector<double>, double> &A,
950  const view1D<vector<double>, double> &x,
952 void times_col(const view_Dense<vector<double>, double> &A,
953  const view1D<vector<double>, double> &x,
954  view_Dense<vector<double>, double> &C);
955 void times_col(const view_Dense<vector<double>, double> &A,
956  const view1D<vector<double>, double> &x,
957  view_Dense<matrix::Dense<double>, double> &C);
958 void times_col(const view_Dense<vector<double>, double> &A,
959  const view1D<vector<double>, double> &x,
961 void times_col(const view_Dense<vector<double>, double> &A,
962  const view1D<matrix::Dense<double>, double> &x,
964 void times_col(const view_Dense<vector<double>, double> &A,
965  const view1D<matrix::Dense<double>, double> &x,
966  view_Dense<vector<double>, double> &C);
967 void times_col(const view_Dense<vector<double>, double> &A,
968  const view1D<matrix::Dense<double>, double> &x,
969  view_Dense<matrix::Dense<double>, double> &C);
970 void times_col(const view_Dense<vector<double>, double> &A,
971  const view1D<matrix::Dense<double>, double> &x,
973 void times_col(const view_Dense<vector<double>, double> &A,
974  const view1D<tensor::tensor_Dense<double>, double> &x,
976 void times_col(const view_Dense<vector<double>, double> &A,
977  const view1D<tensor::tensor_Dense<double>, double> &x,
978  view_Dense<vector<double>, double> &C);
979 void times_col(const view_Dense<vector<double>, double> &A,
980  const view1D<tensor::tensor_Dense<double>, double> &x,
981  view_Dense<matrix::Dense<double>, double> &C);
982 void times_col(const view_Dense<vector<double>, double> &A,
983  const view1D<tensor::tensor_Dense<double>, double> &x,
988  const vector<double> &x, view_Dense<vector<double>, double> &C);
990  const vector<double> &x,
991  view_Dense<matrix::Dense<double>, double> &C);
993  const vector<double> &x,
996  const view1D<vector<double>, double> &x,
999  const view1D<vector<double>, double> &x,
1000  view_Dense<vector<double>, double> &C);
1002  const view1D<vector<double>, double> &x,
1003  view_Dense<matrix::Dense<double>, double> &C);
1005  const view1D<vector<double>, double> &x,
1008  const view1D<matrix::Dense<double>, double> &x,
1011  const view1D<matrix::Dense<double>, double> &x,
1012  view_Dense<vector<double>, double> &C);
1014  const view1D<matrix::Dense<double>, double> &x,
1015  view_Dense<matrix::Dense<double>, double> &C);
1017  const view1D<matrix::Dense<double>, double> &x,
1020  const view1D<tensor::tensor_Dense<double>, double> &x,
1023  const view1D<tensor::tensor_Dense<double>, double> &x,
1024  view_Dense<vector<double>, double> &C);
1026  const view1D<tensor::tensor_Dense<double>, double> &x,
1027  view_Dense<matrix::Dense<double>, double> &C);
1029  const view1D<tensor::tensor_Dense<double>, double> &x,
1032  const vector<double> &x, matrix::Dense<double> &C);
1034  const vector<double> &x, view_Dense<vector<double>, double> &C);
1036  const vector<double> &x,
1037  view_Dense<matrix::Dense<double>, double> &C);
1039  const vector<double> &x,
1042  const view1D<vector<double>, double> &x,
1045  const view1D<vector<double>, double> &x,
1046  view_Dense<vector<double>, double> &C);
1048  const view1D<vector<double>, double> &x,
1049  view_Dense<matrix::Dense<double>, double> &C);
1051  const view1D<vector<double>, double> &x,
1054  const view1D<matrix::Dense<double>, double> &x,
1057  const view1D<matrix::Dense<double>, double> &x,
1058  view_Dense<vector<double>, double> &C);
1060  const view1D<matrix::Dense<double>, double> &x,
1061  view_Dense<matrix::Dense<double>, double> &C);
1063  const view1D<matrix::Dense<double>, double> &x,
1066  const view1D<tensor::tensor_Dense<double>, double> &x,
1069  const view1D<tensor::tensor_Dense<double>, double> &x,
1070  view_Dense<vector<double>, double> &C);
1072  const view1D<tensor::tensor_Dense<double>, double> &x,
1073  view_Dense<matrix::Dense<double>, double> &C);
1075  const view1D<tensor::tensor_Dense<double>, double> &x,
1080  view_Dense<vector<float>, float> &C);
1082  view_Dense<matrix::Dense<float>, float> &C);
1086  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1088  const view1D<vector<float>, float> &x,
1089  view_Dense<vector<float>, float> &C);
1091  const view1D<vector<float>, float> &x,
1092  view_Dense<matrix::Dense<float>, float> &C);
1094  const view1D<vector<float>, float> &x,
1097  const view1D<matrix::Dense<float>, float> &x,
1100  const view1D<matrix::Dense<float>, float> &x,
1101  view_Dense<vector<float>, float> &C);
1103  const view1D<matrix::Dense<float>, float> &x,
1104  view_Dense<matrix::Dense<float>, float> &C);
1106  const view1D<matrix::Dense<float>, float> &x,
1109  const view1D<tensor::tensor_Dense<float>, float> &x,
1112  const view1D<tensor::tensor_Dense<float>, float> &x,
1113  view_Dense<vector<float>, float> &C);
1115  const view1D<tensor::tensor_Dense<float>, float> &x,
1116  view_Dense<matrix::Dense<float>, float> &C);
1118  const view1D<tensor::tensor_Dense<float>, float> &x,
1120 void times_col(const view_Dense<vector<float>, float> &A,
1121  const vector<float> &x, matrix::Dense<float> &C);
1122 void times_col(const view_Dense<vector<float>, float> &A,
1123  const vector<float> &x, view_Dense<vector<float>, float> &C);
1124 void times_col(const view_Dense<vector<float>, float> &A,
1125  const vector<float> &x,
1126  view_Dense<matrix::Dense<float>, float> &C);
1127 void times_col(const view_Dense<vector<float>, float> &A,
1128  const vector<float> &x,
1130 void times_col(const view_Dense<vector<float>, float> &A,
1131  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1132 void times_col(const view_Dense<vector<float>, float> &A,
1133  const view1D<vector<float>, float> &x,
1134  view_Dense<vector<float>, float> &C);
1135 void times_col(const view_Dense<vector<float>, float> &A,
1136  const view1D<vector<float>, float> &x,
1137  view_Dense<matrix::Dense<float>, float> &C);
1138 void times_col(const view_Dense<vector<float>, float> &A,
1139  const view1D<vector<float>, float> &x,
1141 void times_col(const view_Dense<vector<float>, float> &A,
1142  const view1D<matrix::Dense<float>, float> &x,
1144 void times_col(const view_Dense<vector<float>, float> &A,
1145  const view1D<matrix::Dense<float>, float> &x,
1146  view_Dense<vector<float>, float> &C);
1147 void times_col(const view_Dense<vector<float>, float> &A,
1148  const view1D<matrix::Dense<float>, float> &x,
1149  view_Dense<matrix::Dense<float>, float> &C);
1150 void times_col(const view_Dense<vector<float>, float> &A,
1151  const view1D<matrix::Dense<float>, float> &x,
1153 void times_col(const view_Dense<vector<float>, float> &A,
1154  const view1D<tensor::tensor_Dense<float>, float> &x,
1156 void times_col(const view_Dense<vector<float>, float> &A,
1157  const view1D<tensor::tensor_Dense<float>, float> &x,
1158  view_Dense<vector<float>, float> &C);
1159 void times_col(const view_Dense<vector<float>, float> &A,
1160  const view1D<tensor::tensor_Dense<float>, float> &x,
1161  view_Dense<matrix::Dense<float>, float> &C);
1162 void times_col(const view_Dense<vector<float>, float> &A,
1163  const view1D<tensor::tensor_Dense<float>, float> &x,
1166  const vector<float> &x, matrix::Dense<float> &C);
1168  const vector<float> &x, view_Dense<vector<float>, float> &C);
1170  const vector<float> &x,
1171  view_Dense<matrix::Dense<float>, float> &C);
1173  const vector<float> &x,
1176  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1178  const view1D<vector<float>, float> &x,
1179  view_Dense<vector<float>, float> &C);
1181  const view1D<vector<float>, float> &x,
1182  view_Dense<matrix::Dense<float>, float> &C);
1184  const view1D<vector<float>, float> &x,
1187  const view1D<matrix::Dense<float>, float> &x,
1190  const view1D<matrix::Dense<float>, float> &x,
1191  view_Dense<vector<float>, float> &C);
1193  const view1D<matrix::Dense<float>, float> &x,
1194  view_Dense<matrix::Dense<float>, float> &C);
1196  const view1D<matrix::Dense<float>, float> &x,
1199  const view1D<tensor::tensor_Dense<float>, float> &x,
1202  const view1D<tensor::tensor_Dense<float>, float> &x,
1203  view_Dense<vector<float>, float> &C);
1205  const view1D<tensor::tensor_Dense<float>, float> &x,
1206  view_Dense<matrix::Dense<float>, float> &C);
1208  const view1D<tensor::tensor_Dense<float>, float> &x,
1211  const vector<float> &x, matrix::Dense<float> &C);
1213  const vector<float> &x, view_Dense<vector<float>, float> &C);
1215  const vector<float> &x,
1216  view_Dense<matrix::Dense<float>, float> &C);
1218  const vector<float> &x,
1221  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1223  const view1D<vector<float>, float> &x,
1224  view_Dense<vector<float>, float> &C);
1226  const view1D<vector<float>, float> &x,
1227  view_Dense<matrix::Dense<float>, float> &C);
1229  const view1D<vector<float>, float> &x,
1232  const view1D<matrix::Dense<float>, float> &x,
1235  const view1D<matrix::Dense<float>, float> &x,
1236  view_Dense<vector<float>, float> &C);
1238  const view1D<matrix::Dense<float>, float> &x,
1239  view_Dense<matrix::Dense<float>, float> &C);
1241  const view1D<matrix::Dense<float>, float> &x,
1244  const view1D<tensor::tensor_Dense<float>, float> &x,
1247  const view1D<tensor::tensor_Dense<float>, float> &x,
1248  view_Dense<vector<float>, float> &C);
1250  const view1D<tensor::tensor_Dense<float>, float> &x,
1251  view_Dense<matrix::Dense<float>, float> &C);
1253  const view1D<tensor::tensor_Dense<float>, float> &x,
1275 void times_col(const matrix::Dense<double> &A, const size_t num,
1276  const vector<double> &x, matrix::Dense<double> &C);
1277 void times_col(const matrix::Dense<double> &A, const size_t num,
1278  const vector<double> &x, view_Dense<vector<double>, double> &C);
1279 void times_col(const matrix::Dense<double> &A, const size_t num,
1280  const vector<double> &x,
1281  view_Dense<matrix::Dense<double>, double> &C);
1282 void times_col(const matrix::Dense<double> &A, const size_t num,
1283  const vector<double> &x,
1285 void times_col(const matrix::Dense<double> &A, const size_t num,
1286  const view1D<vector<double>, double> &x,
1288 void times_col(const matrix::Dense<double> &A, const size_t num,
1289  const view1D<vector<double>, double> &x,
1290  view_Dense<vector<double>, double> &C);
1291 void times_col(const matrix::Dense<double> &A, const size_t num,
1292  const view1D<vector<double>, double> &x,
1293  view_Dense<matrix::Dense<double>, double> &C);
1294 void times_col(const matrix::Dense<double> &A, const size_t num,
1295  const view1D<vector<double>, double> &x,
1297 void times_col(const matrix::Dense<double> &A, const size_t num,
1298  const view1D<matrix::Dense<double>, double> &x,
1300 void times_col(const matrix::Dense<double> &A, const size_t num,
1301  const view1D<matrix::Dense<double>, double> &x,
1302  view_Dense<vector<double>, double> &C);
1303 void times_col(const matrix::Dense<double> &A, const size_t num,
1304  const view1D<matrix::Dense<double>, double> &x,
1305  view_Dense<matrix::Dense<double>, double> &C);
1306 void times_col(const matrix::Dense<double> &A, const size_t num,
1307  const view1D<matrix::Dense<double>, double> &x,
1309 void times_col(const matrix::Dense<double> &A, const size_t num,
1310  const view1D<tensor::tensor_Dense<double>, double> &x,
1312 void times_col(const matrix::Dense<double> &A, const size_t num,
1313  const view1D<tensor::tensor_Dense<double>, double> &x,
1314  view_Dense<vector<double>, double> &C);
1315 void times_col(const matrix::Dense<double> &A, const size_t num,
1316  const view1D<tensor::tensor_Dense<double>, double> &x,
1317  view_Dense<matrix::Dense<double>, double> &C);
1318 void times_col(const matrix::Dense<double> &A, const size_t num,
1319  const view1D<tensor::tensor_Dense<double>, double> &x,
1321 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1322  const vector<double> &x, matrix::Dense<double> &C);
1323 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1324  const vector<double> &x, view_Dense<vector<double>, double> &C);
1325 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1326  const vector<double> &x,
1327  view_Dense<matrix::Dense<double>, double> &C);
1328 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1329  const vector<double> &x,
1331 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1332  const view1D<vector<double>, double> &x,
1334 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1335  const view1D<vector<double>, double> &x,
1336  view_Dense<vector<double>, double> &C);
1337 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1338  const view1D<vector<double>, double> &x,
1339  view_Dense<matrix::Dense<double>, double> &C);
1340 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1341  const view1D<vector<double>, double> &x,
1343 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1344  const view1D<matrix::Dense<double>, double> &x,
1346 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1347  const view1D<matrix::Dense<double>, double> &x,
1348  view_Dense<vector<double>, double> &C);
1349 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1350  const view1D<matrix::Dense<double>, double> &x,
1351  view_Dense<matrix::Dense<double>, double> &C);
1352 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1353  const view1D<matrix::Dense<double>, double> &x,
1355 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1356  const view1D<tensor::tensor_Dense<double>, double> &x,
1358 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1359  const view1D<tensor::tensor_Dense<double>, double> &x,
1360  view_Dense<vector<double>, double> &C);
1361 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1362  const view1D<tensor::tensor_Dense<double>, double> &x,
1363  view_Dense<matrix::Dense<double>, double> &C);
1364 void times_col(const view_Dense<vector<double>, double> &A, const size_t num,
1365  const view1D<tensor::tensor_Dense<double>, double> &x,
1368  const size_t num, const vector<double> &x,
1371  const size_t num, const vector<double> &x,
1372  view_Dense<vector<double>, double> &C);
1374  const size_t num, const vector<double> &x,
1375  view_Dense<matrix::Dense<double>, double> &C);
1377  const size_t num, const vector<double> &x,
1380  const size_t num, const view1D<vector<double>, double> &x,
1383  const size_t num, const view1D<vector<double>, double> &x,
1384  view_Dense<vector<double>, double> &C);
1386  const size_t num, const view1D<vector<double>, double> &x,
1387  view_Dense<matrix::Dense<double>, double> &C);
1389  const size_t num, const view1D<vector<double>, double> &x,
1392  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1395  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1396  view_Dense<vector<double>, double> &C);
1398  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1399  view_Dense<matrix::Dense<double>, double> &C);
1401  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1404  const size_t num,
1405  const view1D<tensor::tensor_Dense<double>, double> &x,
1408  const size_t num,
1409  const view1D<tensor::tensor_Dense<double>, double> &x,
1410  view_Dense<vector<double>, double> &C);
1412  const size_t num,
1413  const view1D<tensor::tensor_Dense<double>, double> &x,
1414  view_Dense<matrix::Dense<double>, double> &C);
1416  const size_t num,
1417  const view1D<tensor::tensor_Dense<double>, double> &x,
1420  const size_t num, const vector<double> &x,
1423  const size_t num, const vector<double> &x,
1424  view_Dense<vector<double>, double> &C);
1426  const size_t num, const vector<double> &x,
1427  view_Dense<matrix::Dense<double>, double> &C);
1429  const size_t num, const vector<double> &x,
1432  const size_t num, const view1D<vector<double>, double> &x,
1435  const size_t num, const view1D<vector<double>, double> &x,
1436  view_Dense<vector<double>, double> &C);
1438  const size_t num, const view1D<vector<double>, double> &x,
1439  view_Dense<matrix::Dense<double>, double> &C);
1441  const size_t num, const view1D<vector<double>, double> &x,
1444  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1447  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1448  view_Dense<vector<double>, double> &C);
1450  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1451  view_Dense<matrix::Dense<double>, double> &C);
1453  const size_t num, const view1D<matrix::Dense<double>, double> &x,
1456  const size_t num,
1457  const view1D<tensor::tensor_Dense<double>, double> &x,
1460  const size_t num,
1461  const view1D<tensor::tensor_Dense<double>, double> &x,
1462  view_Dense<vector<double>, double> &C);
1464  const size_t num,
1465  const view1D<tensor::tensor_Dense<double>, double> &x,
1466  view_Dense<matrix::Dense<double>, double> &C);
1468  const size_t num,
1469  const view1D<tensor::tensor_Dense<double>, double> &x,
1471 void times_col(const matrix::Dense<float> &A, const size_t num,
1472  const vector<float> &x, matrix::Dense<float> &C);
1473 void times_col(const matrix::Dense<float> &A, const size_t num,
1474  const vector<float> &x, view_Dense<vector<float>, float> &C);
1475 void times_col(const matrix::Dense<float> &A, const size_t num,
1476  const vector<float> &x,
1477  view_Dense<matrix::Dense<float>, float> &C);
1478 void times_col(const matrix::Dense<float> &A, const size_t num,
1479  const vector<float> &x,
1481 void times_col(const matrix::Dense<float> &A, const size_t num,
1482  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1483 void times_col(const matrix::Dense<float> &A, const size_t num,
1484  const view1D<vector<float>, float> &x,
1485  view_Dense<vector<float>, float> &C);
1486 void times_col(const matrix::Dense<float> &A, const size_t num,
1487  const view1D<vector<float>, float> &x,
1488  view_Dense<matrix::Dense<float>, float> &C);
1489 void times_col(const matrix::Dense<float> &A, const size_t num,
1490  const view1D<vector<float>, float> &x,
1492 void times_col(const matrix::Dense<float> &A, const size_t num,
1493  const view1D<matrix::Dense<float>, float> &x,
1495 void times_col(const matrix::Dense<float> &A, const size_t num,
1496  const view1D<matrix::Dense<float>, float> &x,
1497  view_Dense<vector<float>, float> &C);
1498 void times_col(const matrix::Dense<float> &A, const size_t num,
1499  const view1D<matrix::Dense<float>, float> &x,
1500  view_Dense<matrix::Dense<float>, float> &C);
1501 void times_col(const matrix::Dense<float> &A, const size_t num,
1502  const view1D<matrix::Dense<float>, float> &x,
1504 void times_col(const matrix::Dense<float> &A, const size_t num,
1505  const view1D<tensor::tensor_Dense<float>, float> &x,
1507 void times_col(const matrix::Dense<float> &A, const size_t num,
1508  const view1D<tensor::tensor_Dense<float>, float> &x,
1509  view_Dense<vector<float>, float> &C);
1510 void times_col(const matrix::Dense<float> &A, const size_t num,
1511  const view1D<tensor::tensor_Dense<float>, float> &x,
1512  view_Dense<matrix::Dense<float>, float> &C);
1513 void times_col(const matrix::Dense<float> &A, const size_t num,
1514  const view1D<tensor::tensor_Dense<float>, float> &x,
1516 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1517  const vector<float> &x, matrix::Dense<float> &C);
1518 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1519  const vector<float> &x, view_Dense<vector<float>, float> &C);
1520 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1521  const vector<float> &x,
1522  view_Dense<matrix::Dense<float>, float> &C);
1523 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1524  const vector<float> &x,
1526 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1527  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1528 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1529  const view1D<vector<float>, float> &x,
1530  view_Dense<vector<float>, float> &C);
1531 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1532  const view1D<vector<float>, float> &x,
1533  view_Dense<matrix::Dense<float>, float> &C);
1534 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1535  const view1D<vector<float>, float> &x,
1537 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1538  const view1D<matrix::Dense<float>, float> &x,
1540 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1541  const view1D<matrix::Dense<float>, float> &x,
1542  view_Dense<vector<float>, float> &C);
1543 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1544  const view1D<matrix::Dense<float>, float> &x,
1545  view_Dense<matrix::Dense<float>, float> &C);
1546 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1547  const view1D<matrix::Dense<float>, float> &x,
1549 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1550  const view1D<tensor::tensor_Dense<float>, float> &x,
1552 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1553  const view1D<tensor::tensor_Dense<float>, float> &x,
1554  view_Dense<vector<float>, float> &C);
1555 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1556  const view1D<tensor::tensor_Dense<float>, float> &x,
1557  view_Dense<matrix::Dense<float>, float> &C);
1558 void times_col(const view_Dense<vector<float>, float> &A, const size_t num,
1559  const view1D<tensor::tensor_Dense<float>, float> &x,
1562  const size_t num, const vector<float> &x,
1565  const size_t num, const vector<float> &x,
1566  view_Dense<vector<float>, float> &C);
1568  const size_t num, const vector<float> &x,
1569  view_Dense<matrix::Dense<float>, float> &C);
1571  const size_t num, const vector<float> &x,
1574  const size_t num, const view1D<vector<float>, float> &x,
1577  const size_t num, const view1D<vector<float>, float> &x,
1578  view_Dense<vector<float>, float> &C);
1580  const size_t num, const view1D<vector<float>, float> &x,
1581  view_Dense<matrix::Dense<float>, float> &C);
1583  const size_t num, const view1D<vector<float>, float> &x,
1586  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1589  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1590  view_Dense<vector<float>, float> &C);
1592  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1593  view_Dense<matrix::Dense<float>, float> &C);
1595  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1598  const size_t num,
1599  const view1D<tensor::tensor_Dense<float>, float> &x,
1602  const size_t num,
1603  const view1D<tensor::tensor_Dense<float>, float> &x,
1604  view_Dense<vector<float>, float> &C);
1606  const size_t num,
1607  const view1D<tensor::tensor_Dense<float>, float> &x,
1608  view_Dense<matrix::Dense<float>, float> &C);
1610  const size_t num,
1611  const view1D<tensor::tensor_Dense<float>, float> &x,
1614  const size_t num, const vector<float> &x,
1617  const size_t num, const vector<float> &x,
1618  view_Dense<vector<float>, float> &C);
1620  const size_t num, const vector<float> &x,
1621  view_Dense<matrix::Dense<float>, float> &C);
1623  const size_t num, const vector<float> &x,
1626  const size_t num, const view1D<vector<float>, float> &x,
1629  const size_t num, const view1D<vector<float>, float> &x,
1630  view_Dense<vector<float>, float> &C);
1632  const size_t num, const view1D<vector<float>, float> &x,
1633  view_Dense<matrix::Dense<float>, float> &C);
1635  const size_t num, const view1D<vector<float>, float> &x,
1638  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1641  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1642  view_Dense<vector<float>, float> &C);
1644  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1645  view_Dense<matrix::Dense<float>, float> &C);
1647  const size_t num, const view1D<matrix::Dense<float>, float> &x,
1650  const size_t num,
1651  const view1D<tensor::tensor_Dense<float>, float> &x,
1654  const size_t num,
1655  const view1D<tensor::tensor_Dense<float>, float> &x,
1656  view_Dense<vector<float>, float> &C);
1658  const size_t num,
1659  const view1D<tensor::tensor_Dense<float>, float> &x,
1660  view_Dense<matrix::Dense<float>, float> &C);
1662  const size_t num,
1663  const view1D<tensor::tensor_Dense<float>, float> &x,
1687  matrix::CRS<double> &C);
1689  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
1691  const view1D<matrix::CRS<double>, double> &x,
1692  matrix::CRS<double> &C);
1694  matrix::CRS<float> &C);
1696  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
1698  const view1D<matrix::CRS<float>, float> &x,
1699  matrix::CRS<float> &C);
1722 void times_col(const matrix::CRS<double> &A, const size_t num,
1723  const vector<double> &x, matrix::CRS<double> &C);
1724 void times_col(const matrix::CRS<double> &A, const size_t num,
1725  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
1726 void times_col(const matrix::CRS<double> &A, const size_t num,
1727  const view1D<matrix::CRS<double>, double> &x,
1728  matrix::CRS<double> &C);
1729 void times_col(const matrix::CRS<float> &A, const size_t num,
1730  const vector<float> &x, matrix::CRS<float> &C);
1731 void times_col(const matrix::CRS<float> &A, const size_t num,
1732  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
1733 void times_col(const matrix::CRS<float> &A, const size_t num,
1734  const view1D<matrix::CRS<float>, float> &x,
1735  matrix::CRS<float> &C);
1758  view_Dense<vector<double>, double> &C);
1760  view_Dense<matrix::Dense<double>, double> &C);
1764  const view1D<vector<double>, double> &x,
1767  const view1D<vector<double>, double> &x,
1768  view_Dense<vector<double>, double> &C);
1770  const view1D<vector<double>, double> &x,
1771  view_Dense<matrix::Dense<double>, double> &C);
1773  const view1D<vector<double>, double> &x,
1776  const view1D<matrix::Dense<double>, double> &x,
1779  const view1D<matrix::Dense<double>, double> &x,
1780  view_Dense<vector<double>, double> &C);
1782  const view1D<matrix::Dense<double>, double> &x,
1783  view_Dense<matrix::Dense<double>, double> &C);
1785  const view1D<matrix::Dense<double>, double> &x,
1788  const view1D<tensor::tensor_Dense<double>, double> &x,
1791  const view1D<tensor::tensor_Dense<double>, double> &x,
1792  view_Dense<vector<double>, double> &C);
1794  const view1D<tensor::tensor_Dense<double>, double> &x,
1795  view_Dense<matrix::Dense<double>, double> &C);
1797  const view1D<tensor::tensor_Dense<double>, double> &x,
1799 void adds_row(const view_Dense<vector<double>, double> &A,
1800  const vector<double> &x, matrix::Dense<double> &C);
1801 void adds_row(const view_Dense<vector<double>, double> &A,
1802  const vector<double> &x, view_Dense<vector<double>, double> &C);
1803 void adds_row(const view_Dense<vector<double>, double> &A,
1804  const vector<double> &x,
1805  view_Dense<matrix::Dense<double>, double> &C);
1806 void adds_row(const view_Dense<vector<double>, double> &A,
1807  const vector<double> &x,
1809 void adds_row(const view_Dense<vector<double>, double> &A,
1810  const view1D<vector<double>, double> &x,
1812 void adds_row(const view_Dense<vector<double>, double> &A,
1813  const view1D<vector<double>, double> &x,
1814  view_Dense<vector<double>, double> &C);
1815 void adds_row(const view_Dense<vector<double>, double> &A,
1816  const view1D<vector<double>, double> &x,
1817  view_Dense<matrix::Dense<double>, double> &C);
1818 void adds_row(const view_Dense<vector<double>, double> &A,
1819  const view1D<vector<double>, double> &x,
1821 void adds_row(const view_Dense<vector<double>, double> &A,
1822  const view1D<matrix::Dense<double>, double> &x,
1824 void adds_row(const view_Dense<vector<double>, double> &A,
1825  const view1D<matrix::Dense<double>, double> &x,
1826  view_Dense<vector<double>, double> &C);
1827 void adds_row(const view_Dense<vector<double>, double> &A,
1828  const view1D<matrix::Dense<double>, double> &x,
1829  view_Dense<matrix::Dense<double>, double> &C);
1830 void adds_row(const view_Dense<vector<double>, double> &A,
1831  const view1D<matrix::Dense<double>, double> &x,
1833 void adds_row(const view_Dense<vector<double>, double> &A,
1834  const view1D<tensor::tensor_Dense<double>, double> &x,
1836 void adds_row(const view_Dense<vector<double>, double> &A,
1837  const view1D<tensor::tensor_Dense<double>, double> &x,
1838  view_Dense<vector<double>, double> &C);
1839 void adds_row(const view_Dense<vector<double>, double> &A,
1840  const view1D<tensor::tensor_Dense<double>, double> &x,
1841  view_Dense<matrix::Dense<double>, double> &C);
1842 void adds_row(const view_Dense<vector<double>, double> &A,
1843  const view1D<tensor::tensor_Dense<double>, double> &x,
1846  const vector<double> &x, matrix::Dense<double> &C);
1848  const vector<double> &x, view_Dense<vector<double>, double> &C);
1850  const vector<double> &x,
1851  view_Dense<matrix::Dense<double>, double> &C);
1853  const vector<double> &x,
1856  const view1D<vector<double>, double> &x,
1859  const view1D<vector<double>, double> &x,
1860  view_Dense<vector<double>, double> &C);
1862  const view1D<vector<double>, double> &x,
1863  view_Dense<matrix::Dense<double>, double> &C);
1865  const view1D<vector<double>, double> &x,
1868  const view1D<matrix::Dense<double>, double> &x,
1871  const view1D<matrix::Dense<double>, double> &x,
1872  view_Dense<vector<double>, double> &C);
1874  const view1D<matrix::Dense<double>, double> &x,
1875  view_Dense<matrix::Dense<double>, double> &C);
1877  const view1D<matrix::Dense<double>, double> &x,
1880  const view1D<tensor::tensor_Dense<double>, double> &x,
1883  const view1D<tensor::tensor_Dense<double>, double> &x,
1884  view_Dense<vector<double>, double> &C);
1886  const view1D<tensor::tensor_Dense<double>, double> &x,
1887  view_Dense<matrix::Dense<double>, double> &C);
1889  const view1D<tensor::tensor_Dense<double>, double> &x,
1892  const vector<double> &x, matrix::Dense<double> &C);
1894  const vector<double> &x, view_Dense<vector<double>, double> &C);
1896  const vector<double> &x,
1897  view_Dense<matrix::Dense<double>, double> &C);
1899  const vector<double> &x,
1902  const view1D<vector<double>, double> &x,
1905  const view1D<vector<double>, double> &x,
1906  view_Dense<vector<double>, double> &C);
1908  const view1D<vector<double>, double> &x,
1909  view_Dense<matrix::Dense<double>, double> &C);
1911  const view1D<vector<double>, double> &x,
1914  const view1D<matrix::Dense<double>, double> &x,
1917  const view1D<matrix::Dense<double>, double> &x,
1918  view_Dense<vector<double>, double> &C);
1920  const view1D<matrix::Dense<double>, double> &x,
1921  view_Dense<matrix::Dense<double>, double> &C);
1923  const view1D<matrix::Dense<double>, double> &x,
1926  const view1D<tensor::tensor_Dense<double>, double> &x,
1929  const view1D<tensor::tensor_Dense<double>, double> &x,
1930  view_Dense<vector<double>, double> &C);
1932  const view1D<tensor::tensor_Dense<double>, double> &x,
1933  view_Dense<matrix::Dense<double>, double> &C);
1935  const view1D<tensor::tensor_Dense<double>, double> &x,
1940  view_Dense<vector<float>, float> &C);
1942  view_Dense<matrix::Dense<float>, float> &C);
1946  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1948  const view1D<vector<float>, float> &x,
1949  view_Dense<vector<float>, float> &C);
1951  const view1D<vector<float>, float> &x,
1952  view_Dense<matrix::Dense<float>, float> &C);
1954  const view1D<vector<float>, float> &x,
1957  const view1D<matrix::Dense<float>, float> &x,
1960  const view1D<matrix::Dense<float>, float> &x,
1961  view_Dense<vector<float>, float> &C);
1963  const view1D<matrix::Dense<float>, float> &x,
1964  view_Dense<matrix::Dense<float>, float> &C);
1966  const view1D<matrix::Dense<float>, float> &x,
1969  const view1D<tensor::tensor_Dense<float>, float> &x,
1972  const view1D<tensor::tensor_Dense<float>, float> &x,
1973  view_Dense<vector<float>, float> &C);
1975  const view1D<tensor::tensor_Dense<float>, float> &x,
1976  view_Dense<matrix::Dense<float>, float> &C);
1978  const view1D<tensor::tensor_Dense<float>, float> &x,
1980 void adds_row(const view_Dense<vector<float>, float> &A, const vector<float> &x,
1982 void adds_row(const view_Dense<vector<float>, float> &A, const vector<float> &x,
1983  view_Dense<vector<float>, float> &C);
1984 void adds_row(const view_Dense<vector<float>, float> &A, const vector<float> &x,
1985  view_Dense<matrix::Dense<float>, float> &C);
1986 void adds_row(const view_Dense<vector<float>, float> &A, const vector<float> &x,
1988 void adds_row(const view_Dense<vector<float>, float> &A,
1989  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
1990 void adds_row(const view_Dense<vector<float>, float> &A,
1991  const view1D<vector<float>, float> &x,
1992  view_Dense<vector<float>, float> &C);
1993 void adds_row(const view_Dense<vector<float>, float> &A,
1994  const view1D<vector<float>, float> &x,
1995  view_Dense<matrix::Dense<float>, float> &C);
1996 void adds_row(const view_Dense<vector<float>, float> &A,
1997  const view1D<vector<float>, float> &x,
1999 void adds_row(const view_Dense<vector<float>, float> &A,
2000  const view1D<matrix::Dense<float>, float> &x,
2002 void adds_row(const view_Dense<vector<float>, float> &A,
2003  const view1D<matrix::Dense<float>, float> &x,
2004  view_Dense<vector<float>, float> &C);
2005 void adds_row(const view_Dense<vector<float>, float> &A,
2006  const view1D<matrix::Dense<float>, float> &x,
2007  view_Dense<matrix::Dense<float>, float> &C);
2008 void adds_row(const view_Dense<vector<float>, float> &A,
2009  const view1D<matrix::Dense<float>, float> &x,
2011 void adds_row(const view_Dense<vector<float>, float> &A,
2012  const view1D<tensor::tensor_Dense<float>, float> &x,
2014 void adds_row(const view_Dense<vector<float>, float> &A,
2015  const view1D<tensor::tensor_Dense<float>, float> &x,
2016  view_Dense<vector<float>, float> &C);
2017 void adds_row(const view_Dense<vector<float>, float> &A,
2018  const view1D<tensor::tensor_Dense<float>, float> &x,
2019  view_Dense<matrix::Dense<float>, float> &C);
2020 void adds_row(const view_Dense<vector<float>, float> &A,
2021  const view1D<tensor::tensor_Dense<float>, float> &x,
2024  const vector<float> &x, matrix::Dense<float> &C);
2026  const vector<float> &x, view_Dense<vector<float>, float> &C);
2028  const vector<float> &x,
2029  view_Dense<matrix::Dense<float>, float> &C);
2031  const vector<float> &x,
2034  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2036  const view1D<vector<float>, float> &x,
2037  view_Dense<vector<float>, float> &C);
2039  const view1D<vector<float>, float> &x,
2040  view_Dense<matrix::Dense<float>, float> &C);
2042  const view1D<vector<float>, float> &x,
2045  const view1D<matrix::Dense<float>, float> &x,
2048  const view1D<matrix::Dense<float>, float> &x,
2049  view_Dense<vector<float>, float> &C);
2051  const view1D<matrix::Dense<float>, float> &x,
2052  view_Dense<matrix::Dense<float>, float> &C);
2054  const view1D<matrix::Dense<float>, float> &x,
2057  const view1D<tensor::tensor_Dense<float>, float> &x,
2060  const view1D<tensor::tensor_Dense<float>, float> &x,
2061  view_Dense<vector<float>, float> &C);
2063  const view1D<tensor::tensor_Dense<float>, float> &x,
2064  view_Dense<matrix::Dense<float>, float> &C);
2066  const view1D<tensor::tensor_Dense<float>, float> &x,
2069  const vector<float> &x, matrix::Dense<float> &C);
2071  const vector<float> &x, view_Dense<vector<float>, float> &C);
2073  const vector<float> &x,
2074  view_Dense<matrix::Dense<float>, float> &C);
2076  const vector<float> &x,
2079  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2081  const view1D<vector<float>, float> &x,
2082  view_Dense<vector<float>, float> &C);
2084  const view1D<vector<float>, float> &x,
2085  view_Dense<matrix::Dense<float>, float> &C);
2087  const view1D<vector<float>, float> &x,
2090  const view1D<matrix::Dense<float>, float> &x,
2093  const view1D<matrix::Dense<float>, float> &x,
2094  view_Dense<vector<float>, float> &C);
2096  const view1D<matrix::Dense<float>, float> &x,
2097  view_Dense<matrix::Dense<float>, float> &C);
2099  const view1D<matrix::Dense<float>, float> &x,
2102  const view1D<tensor::tensor_Dense<float>, float> &x,
2105  const view1D<tensor::tensor_Dense<float>, float> &x,
2106  view_Dense<vector<float>, float> &C);
2108  const view1D<tensor::tensor_Dense<float>, float> &x,
2109  view_Dense<matrix::Dense<float>, float> &C);
2111  const view1D<tensor::tensor_Dense<float>, float> &x,
2133 void adds_row(const matrix::Dense<double> &A, const size_t num,
2134  const vector<double> &x, matrix::Dense<double> &C);
2135 void adds_row(const matrix::Dense<double> &A, const size_t num,
2136  const vector<double> &x, view_Dense<vector<double>, double> &C);
2137 void adds_row(const matrix::Dense<double> &A, const size_t num,
2138  const vector<double> &x,
2139  view_Dense<matrix::Dense<double>, double> &C);
2140 void adds_row(const matrix::Dense<double> &A, const size_t num,
2141  const vector<double> &x,
2143 void adds_row(const matrix::Dense<double> &A, const size_t num,
2144  const view1D<vector<double>, double> &x,
2146 void adds_row(const matrix::Dense<double> &A, const size_t num,
2147  const view1D<vector<double>, double> &x,
2148  view_Dense<vector<double>, double> &C);
2149 void adds_row(const matrix::Dense<double> &A, const size_t num,
2150  const view1D<vector<double>, double> &x,
2151  view_Dense<matrix::Dense<double>, double> &C);
2152 void adds_row(const matrix::Dense<double> &A, const size_t num,
2153  const view1D<vector<double>, double> &x,
2155 void adds_row(const matrix::Dense<double> &A, const size_t num,
2156  const view1D<matrix::Dense<double>, double> &x,
2158 void adds_row(const matrix::Dense<double> &A, const size_t num,
2159  const view1D<matrix::Dense<double>, double> &x,
2160  view_Dense<vector<double>, double> &C);
2161 void adds_row(const matrix::Dense<double> &A, const size_t num,
2162  const view1D<matrix::Dense<double>, double> &x,
2163  view_Dense<matrix::Dense<double>, double> &C);
2164 void adds_row(const matrix::Dense<double> &A, const size_t num,
2165  const view1D<matrix::Dense<double>, double> &x,
2167 void adds_row(const matrix::Dense<double> &A, const size_t num,
2168  const view1D<tensor::tensor_Dense<double>, double> &x,
2170 void adds_row(const matrix::Dense<double> &A, const size_t num,
2171  const view1D<tensor::tensor_Dense<double>, double> &x,
2172  view_Dense<vector<double>, double> &C);
2173 void adds_row(const matrix::Dense<double> &A, const size_t num,
2174  const view1D<tensor::tensor_Dense<double>, double> &x,
2175  view_Dense<matrix::Dense<double>, double> &C);
2176 void adds_row(const matrix::Dense<double> &A, const size_t num,
2177  const view1D<tensor::tensor_Dense<double>, double> &x,
2179 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2180  const vector<double> &x, matrix::Dense<double> &C);
2181 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2182  const vector<double> &x, view_Dense<vector<double>, double> &C);
2183 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2184  const vector<double> &x,
2185  view_Dense<matrix::Dense<double>, double> &C);
2186 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2187  const vector<double> &x,
2189 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2190  const view1D<vector<double>, double> &x,
2192 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2193  const view1D<vector<double>, double> &x,
2194  view_Dense<vector<double>, double> &C);
2195 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2196  const view1D<vector<double>, double> &x,
2197  view_Dense<matrix::Dense<double>, double> &C);
2198 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2199  const view1D<vector<double>, double> &x,
2201 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2202  const view1D<matrix::Dense<double>, double> &x,
2204 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2205  const view1D<matrix::Dense<double>, double> &x,
2206  view_Dense<vector<double>, double> &C);
2207 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2208  const view1D<matrix::Dense<double>, double> &x,
2209  view_Dense<matrix::Dense<double>, double> &C);
2210 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2211  const view1D<matrix::Dense<double>, double> &x,
2213 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2214  const view1D<tensor::tensor_Dense<double>, double> &x,
2216 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2217  const view1D<tensor::tensor_Dense<double>, double> &x,
2218  view_Dense<vector<double>, double> &C);
2219 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2220  const view1D<tensor::tensor_Dense<double>, double> &x,
2221  view_Dense<matrix::Dense<double>, double> &C);
2222 void adds_row(const view_Dense<vector<double>, double> &A, const size_t num,
2223  const view1D<tensor::tensor_Dense<double>, double> &x,
2226  const size_t num, const vector<double> &x,
2229  const size_t num, const vector<double> &x,
2230  view_Dense<vector<double>, double> &C);
2232  const size_t num, const vector<double> &x,
2233  view_Dense<matrix::Dense<double>, double> &C);
2235  const size_t num, const vector<double> &x,
2238  const size_t num, const view1D<vector<double>, double> &x,
2241  const size_t num, const view1D<vector<double>, double> &x,
2242  view_Dense<vector<double>, double> &C);
2244  const size_t num, const view1D<vector<double>, double> &x,
2245  view_Dense<matrix::Dense<double>, double> &C);
2247  const size_t num, const view1D<vector<double>, double> &x,
2250  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2253  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2254  view_Dense<vector<double>, double> &C);
2256  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2257  view_Dense<matrix::Dense<double>, double> &C);
2259  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2262  const size_t num,
2263  const view1D<tensor::tensor_Dense<double>, double> &x,
2266  const size_t num,
2267  const view1D<tensor::tensor_Dense<double>, double> &x,
2268  view_Dense<vector<double>, double> &C);
2270  const size_t num,
2271  const view1D<tensor::tensor_Dense<double>, double> &x,
2272  view_Dense<matrix::Dense<double>, double> &C);
2274  const size_t num,
2275  const view1D<tensor::tensor_Dense<double>, double> &x,
2278  const size_t num, const vector<double> &x,
2281  const size_t num, const vector<double> &x,
2282  view_Dense<vector<double>, double> &C);
2284  const size_t num, const vector<double> &x,
2285  view_Dense<matrix::Dense<double>, double> &C);
2287  const size_t num, const vector<double> &x,
2290  const size_t num, const view1D<vector<double>, double> &x,
2293  const size_t num, const view1D<vector<double>, double> &x,
2294  view_Dense<vector<double>, double> &C);
2296  const size_t num, const view1D<vector<double>, double> &x,
2297  view_Dense<matrix::Dense<double>, double> &C);
2299  const size_t num, const view1D<vector<double>, double> &x,
2302  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2305  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2306  view_Dense<vector<double>, double> &C);
2308  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2309  view_Dense<matrix::Dense<double>, double> &C);
2311  const size_t num, const view1D<matrix::Dense<double>, double> &x,
2314  const size_t num,
2315  const view1D<tensor::tensor_Dense<double>, double> &x,
2318  const size_t num,
2319  const view1D<tensor::tensor_Dense<double>, double> &x,
2320  view_Dense<vector<double>, double> &C);
2322  const size_t num,
2323  const view1D<tensor::tensor_Dense<double>, double> &x,
2324  view_Dense<matrix::Dense<double>, double> &C);
2326  const size_t num,
2327  const view1D<tensor::tensor_Dense<double>, double> &x,
2329 void adds_row(const matrix::Dense<float> &A, const size_t num,
2330  const vector<float> &x, matrix::Dense<float> &C);
2331 void adds_row(const matrix::Dense<float> &A, const size_t num,
2332  const vector<float> &x, view_Dense<vector<float>, float> &C);
2333 void adds_row(const matrix::Dense<float> &A, const size_t num,
2334  const vector<float> &x,
2335  view_Dense<matrix::Dense<float>, float> &C);
2336 void adds_row(const matrix::Dense<float> &A, const size_t num,
2337  const vector<float> &x,
2339 void adds_row(const matrix::Dense<float> &A, const size_t num,
2340  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2341 void adds_row(const matrix::Dense<float> &A, const size_t num,
2342  const view1D<vector<float>, float> &x,
2343  view_Dense<vector<float>, float> &C);
2344 void adds_row(const matrix::Dense<float> &A, const size_t num,
2345  const view1D<vector<float>, float> &x,
2346  view_Dense<matrix::Dense<float>, float> &C);
2347 void adds_row(const matrix::Dense<float> &A, const size_t num,
2348  const view1D<vector<float>, float> &x,
2350 void adds_row(const matrix::Dense<float> &A, const size_t num,
2351  const view1D<matrix::Dense<float>, float> &x,
2353 void adds_row(const matrix::Dense<float> &A, const size_t num,
2354  const view1D<matrix::Dense<float>, float> &x,
2355  view_Dense<vector<float>, float> &C);
2356 void adds_row(const matrix::Dense<float> &A, const size_t num,
2357  const view1D<matrix::Dense<float>, float> &x,
2358  view_Dense<matrix::Dense<float>, float> &C);
2359 void adds_row(const matrix::Dense<float> &A, const size_t num,
2360  const view1D<matrix::Dense<float>, float> &x,
2362 void adds_row(const matrix::Dense<float> &A, const size_t num,
2363  const view1D<tensor::tensor_Dense<float>, float> &x,
2365 void adds_row(const matrix::Dense<float> &A, const size_t num,
2366  const view1D<tensor::tensor_Dense<float>, float> &x,
2367  view_Dense<vector<float>, float> &C);
2368 void adds_row(const matrix::Dense<float> &A, const size_t num,
2369  const view1D<tensor::tensor_Dense<float>, float> &x,
2370  view_Dense<matrix::Dense<float>, float> &C);
2371 void adds_row(const matrix::Dense<float> &A, const size_t num,
2372  const view1D<tensor::tensor_Dense<float>, float> &x,
2374 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2375  const vector<float> &x, matrix::Dense<float> &C);
2376 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2377  const vector<float> &x, view_Dense<vector<float>, float> &C);
2378 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2379  const vector<float> &x,
2380  view_Dense<matrix::Dense<float>, float> &C);
2381 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2382  const vector<float> &x,
2384 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2385  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2386 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2387  const view1D<vector<float>, float> &x,
2388  view_Dense<vector<float>, float> &C);
2389 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2390  const view1D<vector<float>, float> &x,
2391  view_Dense<matrix::Dense<float>, float> &C);
2392 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2393  const view1D<vector<float>, float> &x,
2395 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2396  const view1D<matrix::Dense<float>, float> &x,
2398 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2399  const view1D<matrix::Dense<float>, float> &x,
2400  view_Dense<vector<float>, float> &C);
2401 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2402  const view1D<matrix::Dense<float>, float> &x,
2403  view_Dense<matrix::Dense<float>, float> &C);
2404 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2405  const view1D<matrix::Dense<float>, float> &x,
2407 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2408  const view1D<tensor::tensor_Dense<float>, float> &x,
2410 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2411  const view1D<tensor::tensor_Dense<float>, float> &x,
2412  view_Dense<vector<float>, float> &C);
2413 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2414  const view1D<tensor::tensor_Dense<float>, float> &x,
2415  view_Dense<matrix::Dense<float>, float> &C);
2416 void adds_row(const view_Dense<vector<float>, float> &A, const size_t num,
2417  const view1D<tensor::tensor_Dense<float>, float> &x,
2420  const size_t num, const vector<float> &x,
2423  const size_t num, const vector<float> &x,
2424  view_Dense<vector<float>, float> &C);
2426  const size_t num, const vector<float> &x,
2427  view_Dense<matrix::Dense<float>, float> &C);
2429  const size_t num, const vector<float> &x,
2432  const size_t num, const view1D<vector<float>, float> &x,
2435  const size_t num, const view1D<vector<float>, float> &x,
2436  view_Dense<vector<float>, float> &C);
2438  const size_t num, const view1D<vector<float>, float> &x,
2439  view_Dense<matrix::Dense<float>, float> &C);
2441  const size_t num, const view1D<vector<float>, float> &x,
2444  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2447  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2448  view_Dense<vector<float>, float> &C);
2450  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2451  view_Dense<matrix::Dense<float>, float> &C);
2453  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2456  const size_t num,
2457  const view1D<tensor::tensor_Dense<float>, float> &x,
2460  const size_t num,
2461  const view1D<tensor::tensor_Dense<float>, float> &x,
2462  view_Dense<vector<float>, float> &C);
2464  const size_t num,
2465  const view1D<tensor::tensor_Dense<float>, float> &x,
2466  view_Dense<matrix::Dense<float>, float> &C);
2468  const size_t num,
2469  const view1D<tensor::tensor_Dense<float>, float> &x,
2472  const size_t num, const vector<float> &x,
2475  const size_t num, const vector<float> &x,
2476  view_Dense<vector<float>, float> &C);
2478  const size_t num, const vector<float> &x,
2479  view_Dense<matrix::Dense<float>, float> &C);
2481  const size_t num, const vector<float> &x,
2484  const size_t num, const view1D<vector<float>, float> &x,
2487  const size_t num, const view1D<vector<float>, float> &x,
2488  view_Dense<vector<float>, float> &C);
2490  const size_t num, const view1D<vector<float>, float> &x,
2491  view_Dense<matrix::Dense<float>, float> &C);
2493  const size_t num, const view1D<vector<float>, float> &x,
2496  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2499  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2500  view_Dense<vector<float>, float> &C);
2502  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2503  view_Dense<matrix::Dense<float>, float> &C);
2505  const size_t num, const view1D<matrix::Dense<float>, float> &x,
2508  const size_t num,
2509  const view1D<tensor::tensor_Dense<float>, float> &x,
2512  const size_t num,
2513  const view1D<tensor::tensor_Dense<float>, float> &x,
2514  view_Dense<vector<float>, float> &C);
2516  const size_t num,
2517  const view1D<tensor::tensor_Dense<float>, float> &x,
2518  view_Dense<matrix::Dense<float>, float> &C);
2520  const size_t num,
2521  const view1D<tensor::tensor_Dense<float>, float> &x,
2545  view_Dense<vector<double>, double> &C);
2547  view_Dense<matrix::Dense<double>, double> &C);
2551  const view1D<vector<double>, double> &x,
2554  const view1D<vector<double>, double> &x,
2555  view_Dense<vector<double>, double> &C);
2557  const view1D<vector<double>, double> &x,
2558  view_Dense<matrix::Dense<double>, double> &C);
2560  const view1D<vector<double>, double> &x,
2563  const view1D<matrix::Dense<double>, double> &x,
2566  const view1D<matrix::Dense<double>, double> &x,
2567  view_Dense<vector<double>, double> &C);
2569  const view1D<matrix::Dense<double>, double> &x,
2570  view_Dense<matrix::Dense<double>, double> &C);
2572  const view1D<matrix::Dense<double>, double> &x,
2575  const view1D<tensor::tensor_Dense<double>, double> &x,
2578  const view1D<tensor::tensor_Dense<double>, double> &x,
2579  view_Dense<vector<double>, double> &C);
2581  const view1D<tensor::tensor_Dense<double>, double> &x,
2582  view_Dense<matrix::Dense<double>, double> &C);
2584  const view1D<tensor::tensor_Dense<double>, double> &x,
2586 void adds_col(const view_Dense<vector<double>, double> &A,
2587  const vector<double> &x, matrix::Dense<double> &C);
2588 void adds_col(const view_Dense<vector<double>, double> &A,
2589  const vector<double> &x, view_Dense<vector<double>, double> &C);
2590 void adds_col(const view_Dense<vector<double>, double> &A,
2591  const vector<double> &x,
2592  view_Dense<matrix::Dense<double>, double> &C);
2593 void adds_col(const view_Dense<vector<double>, double> &A,
2594  const vector<double> &x,
2596 void adds_col(const view_Dense<vector<double>, double> &A,
2597  const view1D<vector<double>, double> &x,
2599 void adds_col(const view_Dense<vector<double>, double> &A,
2600  const view1D<vector<double>, double> &x,
2601  view_Dense<vector<double>, double> &C);
2602 void adds_col(const view_Dense<vector<double>, double> &A,
2603  const view1D<vector<double>, double> &x,
2604  view_Dense<matrix::Dense<double>, double> &C);
2605 void adds_col(const view_Dense<vector<double>, double> &A,
2606  const view1D<vector<double>, double> &x,
2608 void adds_col(const view_Dense<vector<double>, double> &A,
2609  const view1D<matrix::Dense<double>, double> &x,
2611 void adds_col(const view_Dense<vector<double>, double> &A,
2612  const view1D<matrix::Dense<double>, double> &x,
2613  view_Dense<vector<double>, double> &C);
2614 void adds_col(const view_Dense<vector<double>, double> &A,
2615  const view1D<matrix::Dense<double>, double> &x,
2616  view_Dense<matrix::Dense<double>, double> &C);
2617 void adds_col(const view_Dense<vector<double>, double> &A,
2618  const view1D<matrix::Dense<double>, double> &x,
2620 void adds_col(const view_Dense<vector<double>, double> &A,
2621  const view1D<tensor::tensor_Dense<double>, double> &x,
2623 void adds_col(const view_Dense<vector<double>, double> &A,
2624  const view1D<tensor::tensor_Dense<double>, double> &x,
2625  view_Dense<vector<double>, double> &C);
2626 void adds_col(const view_Dense<vector<double>, double> &A,
2627  const view1D<tensor::tensor_Dense<double>, double> &x,
2628  view_Dense<matrix::Dense<double>, double> &C);
2629 void adds_col(const view_Dense<vector<double>, double> &A,
2630  const view1D<tensor::tensor_Dense<double>, double> &x,
2633  const vector<double> &x, matrix::Dense<double> &C);
2635  const vector<double> &x, view_Dense<vector<double>, double> &C);
2637  const vector<double> &x,
2638  view_Dense<matrix::Dense<double>, double> &C);
2640  const vector<double> &x,
2643  const view1D<vector<double>, double> &x,
2646  const view1D<vector<double>, double> &x,
2647  view_Dense<vector<double>, double> &C);
2649  const view1D<vector<double>, double> &x,
2650  view_Dense<matrix::Dense<double>, double> &C);
2652  const view1D<vector<double>, double> &x,
2655  const view1D<matrix::Dense<double>, double> &x,
2658  const view1D<matrix::Dense<double>, double> &x,
2659  view_Dense<vector<double>, double> &C);
2661  const view1D<matrix::Dense<double>, double> &x,
2662  view_Dense<matrix::Dense<double>, double> &C);
2664  const view1D<matrix::Dense<double>, double> &x,
2667  const view1D<tensor::tensor_Dense<double>, double> &x,
2670  const view1D<tensor::tensor_Dense<double>, double> &x,
2671  view_Dense<vector<double>, double> &C);
2673  const view1D<tensor::tensor_Dense<double>, double> &x,
2674  view_Dense<matrix::Dense<double>, double> &C);
2676  const view1D<tensor::tensor_Dense<double>, double> &x,
2679  const vector<double> &x, matrix::Dense<double> &C);
2681  const vector<double> &x, view_Dense<vector<double>, double> &C);
2683  const vector<double> &x,
2684  view_Dense<matrix::Dense<double>, double> &C);
2686  const vector<double> &x,
2689  const view1D<vector<double>, double> &x,
2692  const view1D<vector<double>, double> &x,
2693  view_Dense<vector<double>, double> &C);
2695  const view1D<vector<double>, double> &x,
2696  view_Dense<matrix::Dense<double>, double> &C);
2698  const view1D<vector<double>, double> &x,
2701  const view1D<matrix::Dense<double>, double> &x,
2704  const view1D<matrix::Dense<double>, double> &x,
2705  view_Dense<vector<double>, double> &C);
2707  const view1D<matrix::Dense<double>, double> &x,
2708  view_Dense<matrix::Dense<double>, double> &C);
2710  const view1D<matrix::Dense<double>, double> &x,
2713  const view1D<tensor::tensor_Dense<double>, double> &x,
2716  const view1D<tensor::tensor_Dense<double>, double> &x,
2717  view_Dense<vector<double>, double> &C);
2719  const view1D<tensor::tensor_Dense<double>, double> &x,
2720  view_Dense<matrix::Dense<double>, double> &C);
2722  const view1D<tensor::tensor_Dense<double>, double> &x,
2727  view_Dense<vector<float>, float> &C);
2729  view_Dense<matrix::Dense<float>, float> &C);
2733  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2735  const view1D<vector<float>, float> &x,
2736  view_Dense<vector<float>, float> &C);
2738  const view1D<vector<float>, float> &x,
2739  view_Dense<matrix::Dense<float>, float> &C);
2741  const view1D<vector<float>, float> &x,
2744  const view1D<matrix::Dense<float>, float> &x,
2747  const view1D<matrix::Dense<float>, float> &x,
2748  view_Dense<vector<float>, float> &C);
2750  const view1D<matrix::Dense<float>, float> &x,
2751  view_Dense<matrix::Dense<float>, float> &C);
2753  const view1D<matrix::Dense<float>, float> &x,
2756  const view1D<tensor::tensor_Dense<float>, float> &x,
2759  const view1D<tensor::tensor_Dense<float>, float> &x,
2760  view_Dense<vector<float>, float> &C);
2762  const view1D<tensor::tensor_Dense<float>, float> &x,
2763  view_Dense<matrix::Dense<float>, float> &C);
2765  const view1D<tensor::tensor_Dense<float>, float> &x,
2767 void adds_col(const view_Dense<vector<float>, float> &A, const vector<float> &x,
2769 void adds_col(const view_Dense<vector<float>, float> &A, const vector<float> &x,
2770  view_Dense<vector<float>, float> &C);
2771 void adds_col(const view_Dense<vector<float>, float> &A, const vector<float> &x,
2772  view_Dense<matrix::Dense<float>, float> &C);
2773 void adds_col(const view_Dense<vector<float>, float> &A, const vector<float> &x,
2775 void adds_col(const view_Dense<vector<float>, float> &A,
2776  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2777 void adds_col(const view_Dense<vector<float>, float> &A,
2778  const view1D<vector<float>, float> &x,
2779  view_Dense<vector<float>, float> &C);
2780 void adds_col(const view_Dense<vector<float>, float> &A,
2781  const view1D<vector<float>, float> &x,
2782  view_Dense<matrix::Dense<float>, float> &C);
2783 void adds_col(const view_Dense<vector<float>, float> &A,
2784  const view1D<vector<float>, float> &x,
2786 void adds_col(const view_Dense<vector<float>, float> &A,
2787  const view1D<matrix::Dense<float>, float> &x,
2789 void adds_col(const view_Dense<vector<float>, float> &A,
2790  const view1D<matrix::Dense<float>, float> &x,
2791  view_Dense<vector<float>, float> &C);
2792 void adds_col(const view_Dense<vector<float>, float> &A,
2793  const view1D<matrix::Dense<float>, float> &x,
2794  view_Dense<matrix::Dense<float>, float> &C);
2795 void adds_col(const view_Dense<vector<float>, float> &A,
2796  const view1D<matrix::Dense<float>, float> &x,
2798 void adds_col(const view_Dense<vector<float>, float> &A,
2799  const view1D<tensor::tensor_Dense<float>, float> &x,
2801 void adds_col(const view_Dense<vector<float>, float> &A,
2802  const view1D<tensor::tensor_Dense<float>, float> &x,
2803  view_Dense<vector<float>, float> &C);
2804 void adds_col(const view_Dense<vector<float>, float> &A,
2805  const view1D<tensor::tensor_Dense<float>, float> &x,
2806  view_Dense<matrix::Dense<float>, float> &C);
2807 void adds_col(const view_Dense<vector<float>, float> &A,
2808  const view1D<tensor::tensor_Dense<float>, float> &x,
2811  const vector<float> &x, matrix::Dense<float> &C);
2813  const vector<float> &x, view_Dense<vector<float>, float> &C);
2815  const vector<float> &x,
2816  view_Dense<matrix::Dense<float>, float> &C);
2818  const vector<float> &x,
2821  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2823  const view1D<vector<float>, float> &x,
2824  view_Dense<vector<float>, float> &C);
2826  const view1D<vector<float>, float> &x,
2827  view_Dense<matrix::Dense<float>, float> &C);
2829  const view1D<vector<float>, float> &x,
2832  const view1D<matrix::Dense<float>, float> &x,
2835  const view1D<matrix::Dense<float>, float> &x,
2836  view_Dense<vector<float>, float> &C);
2838  const view1D<matrix::Dense<float>, float> &x,
2839  view_Dense<matrix::Dense<float>, float> &C);
2841  const view1D<matrix::Dense<float>, float> &x,
2844  const view1D<tensor::tensor_Dense<float>, float> &x,
2847  const view1D<tensor::tensor_Dense<float>, float> &x,
2848  view_Dense<vector<float>, float> &C);
2850  const view1D<tensor::tensor_Dense<float>, float> &x,
2851  view_Dense<matrix::Dense<float>, float> &C);
2853  const view1D<tensor::tensor_Dense<float>, float> &x,
2856  const vector<float> &x, matrix::Dense<float> &C);
2858  const vector<float> &x, view_Dense<vector<float>, float> &C);
2860  const vector<float> &x,
2861  view_Dense<matrix::Dense<float>, float> &C);
2863  const vector<float> &x,
2866  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
2868  const view1D<vector<float>, float> &x,
2869  view_Dense<vector<float>, float> &C);
2871  const view1D<vector<float>, float> &x,
2872  view_Dense<matrix::Dense<float>, float> &C);
2874  const view1D<vector<float>, float> &x,
2877  const view1D<matrix::Dense<float>, float> &x,
2880  const view1D<matrix::Dense<float>, float> &x,
2881  view_Dense<vector<float>, float> &C);
2883  const view1D<matrix::Dense<float>, float> &x,
2884  view_Dense<matrix::Dense<float>, float> &C);
2886  const view1D<matrix::Dense<float>, float> &x,
2889  const view1D<tensor::tensor_Dense<float>, float> &x,
2892  const view1D<tensor::tensor_Dense<float>, float> &x,
2893  view_Dense<vector<float>, float> &C);
2895  const view1D<tensor::tensor_Dense<float>, float> &x,
2896  view_Dense<matrix::Dense<float>, float> &C);
2898  const view1D<tensor::tensor_Dense<float>, float> &x,
2920 void adds_col(const matrix::Dense<double> &A, const size_t num,
2921  const vector<double> &x, matrix::Dense<double> &C);
2922 void adds_col(const matrix::Dense<double> &A, const size_t num,
2923  const vector<double> &x, view_Dense<vector<double>, double> &C);
2924 void adds_col(const matrix::Dense<double> &A, const size_t num,
2925  const vector<double> &x,
2926  view_Dense<matrix::Dense<double>, double> &C);
2927 void adds_col(const matrix::Dense<double> &A, const size_t num,
2928  const vector<double> &x,
2930 void adds_col(const matrix::Dense<double> &A, const size_t num,
2931  const view1D<vector<double>, double> &x,
2933 void adds_col(const matrix::Dense<double> &A, const size_t num,
2934  const view1D<vector<double>, double> &x,
2935  view_Dense<vector<double>, double> &C);
2936 void adds_col(const matrix::Dense<double> &A, const size_t num,
2937  const view1D<vector<double>, double> &x,
2938  view_Dense<matrix::Dense<double>, double> &C);
2939 void adds_col(const matrix::Dense<double> &A, const size_t num,
2940  const view1D<vector<double>, double> &x,
2942 void adds_col(const matrix::Dense<double> &A, const size_t num,
2943  const view1D<matrix::Dense<double>, double> &x,
2945 void adds_col(const matrix::Dense<double> &A, const size_t num,
2946  const view1D<matrix::Dense<double>, double> &x,
2947  view_Dense<vector<double>, double> &C);
2948 void adds_col(const matrix::Dense<double> &A, const size_t num,
2949  const view1D<matrix::Dense<double>, double> &x,
2950  view_Dense<matrix::Dense<double>, double> &C);
2951 void adds_col(const matrix::Dense<double> &A, const size_t num,
2952  const view1D<matrix::Dense<double>, double> &x,
2954 void adds_col(const matrix::Dense<double> &A, const size_t num,
2955  const view1D<tensor::tensor_Dense<double>, double> &x,
2957 void adds_col(const matrix::Dense<double> &A, const size_t num,
2958  const view1D<tensor::tensor_Dense<double>, double> &x,
2959  view_Dense<vector<double>, double> &C);
2960 void adds_col(const matrix::Dense<double> &A, const size_t num,
2961  const view1D<tensor::tensor_Dense<double>, double> &x,
2962  view_Dense<matrix::Dense<double>, double> &C);
2963 void adds_col(const matrix::Dense<double> &A, const size_t num,
2964  const view1D<tensor::tensor_Dense<double>, double> &x,
2966 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2967  const vector<double> &x, matrix::Dense<double> &C);
2968 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2969  const vector<double> &x, view_Dense<vector<double>, double> &C);
2970 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2971  const vector<double> &x,
2972  view_Dense<matrix::Dense<double>, double> &C);
2973 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2974  const vector<double> &x,
2976 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2977  const view1D<vector<double>, double> &x,
2979 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2980  const view1D<vector<double>, double> &x,
2981  view_Dense<vector<double>, double> &C);
2982 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2983  const view1D<vector<double>, double> &x,
2984  view_Dense<matrix::Dense<double>, double> &C);
2985 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2986  const view1D<vector<double>, double> &x,
2988 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2989  const view1D<matrix::Dense<double>, double> &x,
2991 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2992  const view1D<matrix::Dense<double>, double> &x,
2993  view_Dense<vector<double>, double> &C);
2994 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2995  const view1D<matrix::Dense<double>, double> &x,
2996  view_Dense<matrix::Dense<double>, double> &C);
2997 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
2998  const view1D<matrix::Dense<double>, double> &x,
3000 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
3001  const view1D<tensor::tensor_Dense<double>, double> &x,
3003 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
3004  const view1D<tensor::tensor_Dense<double>, double> &x,
3005  view_Dense<vector<double>, double> &C);
3006 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
3007  const view1D<tensor::tensor_Dense<double>, double> &x,
3008  view_Dense<matrix::Dense<double>, double> &C);
3009 void adds_col(const view_Dense<vector<double>, double> &A, const size_t num,
3010  const view1D<tensor::tensor_Dense<double>, double> &x,
3013  const size_t num, const vector<double> &x,
3016  const size_t num, const vector<double> &x,
3017  view_Dense<vector<double>, double> &C);
3019  const size_t num, const vector<double> &x,
3020  view_Dense<matrix::Dense<double>, double> &C);
3022  const size_t num, const vector<double> &x,
3025  const size_t num, const view1D<vector<double>, double> &x,
3028  const size_t num, const view1D<vector<double>, double> &x,
3029  view_Dense<vector<double>, double> &C);
3031  const size_t num, const view1D<vector<double>, double> &x,
3032  view_Dense<matrix::Dense<double>, double> &C);
3034  const size_t num, const view1D<vector<double>, double> &x,
3037  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3040  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3041  view_Dense<vector<double>, double> &C);
3043  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3044  view_Dense<matrix::Dense<double>, double> &C);
3046  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3049  const size_t num,
3050  const view1D<tensor::tensor_Dense<double>, double> &x,
3053  const size_t num,
3054  const view1D<tensor::tensor_Dense<double>, double> &x,
3055  view_Dense<vector<double>, double> &C);
3057  const size_t num,
3058  const view1D<tensor::tensor_Dense<double>, double> &x,
3059  view_Dense<matrix::Dense<double>, double> &C);
3061  const size_t num,
3062  const view1D<tensor::tensor_Dense<double>, double> &x,
3065  const size_t num, const vector<double> &x,
3068  const size_t num, const vector<double> &x,
3069  view_Dense<vector<double>, double> &C);
3071  const size_t num, const vector<double> &x,
3072  view_Dense<matrix::Dense<double>, double> &C);
3074  const size_t num, const vector<double> &x,
3077  const size_t num, const view1D<vector<double>, double> &x,
3080  const size_t num, const view1D<vector<double>, double> &x,
3081  view_Dense<vector<double>, double> &C);
3083  const size_t num, const view1D<vector<double>, double> &x,
3084  view_Dense<matrix::Dense<double>, double> &C);
3086  const size_t num, const view1D<vector<double>, double> &x,
3089  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3092  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3093  view_Dense<vector<double>, double> &C);
3095  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3096  view_Dense<matrix::Dense<double>, double> &C);
3098  const size_t num, const view1D<matrix::Dense<double>, double> &x,
3101  const size_t num,
3102  const view1D<tensor::tensor_Dense<double>, double> &x,
3105  const size_t num,
3106  const view1D<tensor::tensor_Dense<double>, double> &x,
3107  view_Dense<vector<double>, double> &C);
3109  const size_t num,
3110  const view1D<tensor::tensor_Dense<double>, double> &x,
3111  view_Dense<matrix::Dense<double>, double> &C);
3113  const size_t num,
3114  const view1D<tensor::tensor_Dense<double>, double> &x,
3116 void adds_col(const matrix::Dense<float> &A, const size_t num,
3117  const vector<float> &x, matrix::Dense<float> &C);
3118 void adds_col(const matrix::Dense<float> &A, const size_t num,
3119  const vector<float> &x, view_Dense<vector<float>, float> &C);
3120 void adds_col(const matrix::Dense<float> &A, const size_t num,
3121  const vector<float> &x,
3122  view_Dense<matrix::Dense<float>, float> &C);
3123 void adds_col(const matrix::Dense<float> &A, const size_t num,
3124  const vector<float> &x,
3126 void adds_col(const matrix::Dense<float> &A, const size_t num,
3127  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
3128 void adds_col(const matrix::Dense<float> &A, const size_t num,
3129  const view1D<vector<float>, float> &x,
3130  view_Dense<vector<float>, float> &C);
3131 void adds_col(const matrix::Dense<float> &A, const size_t num,
3132  const view1D<vector<float>, float> &x,
3133  view_Dense<matrix::Dense<float>, float> &C);
3134 void adds_col(const matrix::Dense<float> &A, const size_t num,
3135  const view1D<vector<float>, float> &x,
3137 void adds_col(const matrix::Dense<float> &A, const size_t num,
3138  const view1D<matrix::Dense<float>, float> &x,
3140 void adds_col(const matrix::Dense<float> &A, const size_t num,
3141  const view1D<matrix::Dense<float>, float> &x,
3142  view_Dense<vector<float>, float> &C);
3143 void adds_col(const matrix::Dense<float> &A, const size_t num,
3144  const view1D<matrix::Dense<float>, float> &x,
3145  view_Dense<matrix::Dense<float>, float> &C);
3146 void adds_col(const matrix::Dense<float> &A, const size_t num,
3147  const view1D<matrix::Dense<float>, float> &x,
3149 void adds_col(const matrix::Dense<float> &A, const size_t num,
3150  const view1D<tensor::tensor_Dense<float>, float> &x,
3152 void adds_col(const matrix::Dense<float> &A, const size_t num,
3153  const view1D<tensor::tensor_Dense<float>, float> &x,
3154  view_Dense<vector<float>, float> &C);
3155 void adds_col(const matrix::Dense<float> &A, const size_t num,
3156  const view1D<tensor::tensor_Dense<float>, float> &x,
3157  view_Dense<matrix::Dense<float>, float> &C);
3158 void adds_col(const matrix::Dense<float> &A, const size_t num,
3159  const view1D<tensor::tensor_Dense<float>, float> &x,
3161 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3162  const vector<float> &x, matrix::Dense<float> &C);
3163 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3164  const vector<float> &x, view_Dense<vector<float>, float> &C);
3165 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3166  const vector<float> &x,
3167  view_Dense<matrix::Dense<float>, float> &C);
3168 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3169  const vector<float> &x,
3171 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3172  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
3173 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3174  const view1D<vector<float>, float> &x,
3175  view_Dense<vector<float>, float> &C);
3176 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3177  const view1D<vector<float>, float> &x,
3178  view_Dense<matrix::Dense<float>, float> &C);
3179 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3180  const view1D<vector<float>, float> &x,
3182 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3183  const view1D<matrix::Dense<float>, float> &x,
3185 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3186  const view1D<matrix::Dense<float>, float> &x,
3187  view_Dense<vector<float>, float> &C);
3188 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3189  const view1D<matrix::Dense<float>, float> &x,
3190  view_Dense<matrix::Dense<float>, float> &C);
3191 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3192  const view1D<matrix::Dense<float>, float> &x,
3194 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3195  const view1D<tensor::tensor_Dense<float>, float> &x,
3197 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3198  const view1D<tensor::tensor_Dense<float>, float> &x,
3199  view_Dense<vector<float>, float> &C);
3200 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3201  const view1D<tensor::tensor_Dense<float>, float> &x,
3202  view_Dense<matrix::Dense<float>, float> &C);
3203 void adds_col(const view_Dense<vector<float>, float> &A, const size_t num,
3204  const view1D<tensor::tensor_Dense<float>, float> &x,
3207  const size_t num, const vector<float> &x,
3210  const size_t num, const vector<float> &x,
3211  view_Dense<vector<float>, float> &C);
3213  const size_t num, const vector<float> &x,
3214  view_Dense<matrix::Dense<float>, float> &C);
3216  const size_t num, const vector<float> &x,
3219  const size_t num, const view1D<vector<float>, float> &x,
3222  const size_t num, const view1D<vector<float>, float> &x,
3223  view_Dense<vector<float>, float> &C);
3225  const size_t num, const view1D<vector<float>, float> &x,
3226  view_Dense<matrix::Dense<float>, float> &C);
3228  const size_t num, const view1D<vector<float>, float> &x,
3231  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3234  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3235  view_Dense<vector<float>, float> &C);
3237  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3238  view_Dense<matrix::Dense<float>, float> &C);
3240  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3243  const size_t num,
3244  const view1D<tensor::tensor_Dense<float>, float> &x,
3247  const size_t num,
3248  const view1D<tensor::tensor_Dense<float>, float> &x,
3249  view_Dense<vector<float>, float> &C);
3251  const size_t num,
3252  const view1D<tensor::tensor_Dense<float>, float> &x,
3253  view_Dense<matrix::Dense<float>, float> &C);
3255  const size_t num,
3256  const view1D<tensor::tensor_Dense<float>, float> &x,
3259  const size_t num, const vector<float> &x,
3262  const size_t num, const vector<float> &x,
3263  view_Dense<vector<float>, float> &C);
3265  const size_t num, const vector<float> &x,
3266  view_Dense<matrix::Dense<float>, float> &C);
3268  const size_t num, const vector<float> &x,
3271  const size_t num, const view1D<vector<float>, float> &x,
3274  const size_t num, const view1D<vector<float>, float> &x,
3275  view_Dense<vector<float>, float> &C);
3277  const size_t num, const view1D<vector<float>, float> &x,
3278  view_Dense<matrix::Dense<float>, float> &C);
3280  const size_t num, const view1D<vector<float>, float> &x,
3283  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3286  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3287  view_Dense<vector<float>, float> &C);
3289  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3290  view_Dense<matrix::Dense<float>, float> &C);
3292  const size_t num, const view1D<matrix::Dense<float>, float> &x,
3295  const size_t num,
3296  const view1D<tensor::tensor_Dense<float>, float> &x,
3299  const size_t num,
3300  const view1D<tensor::tensor_Dense<float>, float> &x,
3301  view_Dense<vector<float>, float> &C);
3303  const size_t num,
3304  const view1D<tensor::tensor_Dense<float>, float> &x,
3305  view_Dense<matrix::Dense<float>, float> &C);
3307  const size_t num,
3308  const view1D<tensor::tensor_Dense<float>, float> &x,
3329  vector<double> &y);
3331  view1D<vector<double>, double> &y);
3333  view1D<matrix::Dense<double>, double> &y);
3335  view1D<tensor::tensor_Dense<double>, double> &y);
3337  const view1D<vector<double>, double> &x, vector<double> &y);
3339  const view1D<vector<double>, double> &x,
3340  view1D<vector<double>, double> &y);
3342  const view1D<vector<double>, double> &x,
3343  view1D<matrix::Dense<double>, double> &y);
3345  const view1D<vector<double>, double> &x,
3346  view1D<tensor::tensor_Dense<double>, double> &y);
3348  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
3350  const view1D<matrix::Dense<double>, double> &x,
3351  view1D<vector<double>, double> &y);
3353  const view1D<matrix::Dense<double>, double> &x,
3354  view1D<matrix::Dense<double>, double> &y);
3356  const view1D<matrix::Dense<double>, double> &x,
3357  view1D<tensor::tensor_Dense<double>, double> &y);
3359  const view1D<tensor::tensor_Dense<double>, double> &x,
3360  vector<double> &y);
3362  const view1D<tensor::tensor_Dense<double>, double> &x,
3363  view1D<vector<double>, double> &y);
3365  const view1D<tensor::tensor_Dense<double>, double> &x,
3366  view1D<matrix::Dense<double>, double> &y);
3368  const view1D<tensor::tensor_Dense<double>, double> &x,
3369  view1D<tensor::tensor_Dense<double>, double> &y);
3371  vector<float> &y);
3373  view1D<vector<float>, float> &y);
3375  view1D<matrix::Dense<float>, float> &y);
3377  view1D<tensor::tensor_Dense<float>, float> &y);
3379  const view1D<vector<float>, float> &x, vector<float> &y);
3381  const view1D<vector<float>, float> &x,
3382  view1D<vector<float>, float> &y);
3384  const view1D<vector<float>, float> &x,
3385  view1D<matrix::Dense<float>, float> &y);
3387  const view1D<vector<float>, float> &x,
3388  view1D<tensor::tensor_Dense<float>, float> &y);
3390  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3392  const view1D<matrix::Dense<float>, float> &x,
3393  view1D<vector<float>, float> &y);
3395  const view1D<matrix::Dense<float>, float> &x,
3396  view1D<matrix::Dense<float>, float> &y);
3398  const view1D<matrix::Dense<float>, float> &x,
3399  view1D<tensor::tensor_Dense<float>, float> &y);
3401  const view1D<tensor::tensor_Dense<float>, float> &x,
3402  vector<float> &y);
3404  const view1D<tensor::tensor_Dense<float>, float> &x,
3405  view1D<vector<float>, float> &y);
3407  const view1D<tensor::tensor_Dense<float>, float> &x,
3408  view1D<matrix::Dense<float>, float> &y);
3410  const view1D<tensor::tensor_Dense<float>, float> &x,
3411  view1D<tensor::tensor_Dense<float>, float> &y);
3430 void matvec(const double &a, const matrix::Dense<double> &A,
3431  const vector<double> &x, const double &b, vector<double> &y);
3432 void matvec(const double &a, const matrix::Dense<double> &A,
3433  const vector<double> &x, const double &b,
3434  view1D<vector<double>, double> &y);
3435 void matvec(const double &a, const matrix::Dense<double> &A,
3436  const vector<double> &x, const double &b,
3437  view1D<matrix::Dense<double>, double> &y);
3438 void matvec(const double &a, const matrix::Dense<double> &A,
3439  const vector<double> &x, const double &b,
3440  view1D<tensor::tensor_Dense<double>, double> &y);
3441 void matvec(const double &a, const matrix::Dense<double> &A,
3442  const view1D<vector<double>, double> &x, const double &b,
3443  vector<double> &y);
3444 void matvec(const double &a, const matrix::Dense<double> &A,
3445  const view1D<vector<double>, double> &x, const double &b,
3446  view1D<vector<double>, double> &y);
3447 void matvec(const double &a, const matrix::Dense<double> &A,
3448  const view1D<vector<double>, double> &x, const double &b,
3449  view1D<matrix::Dense<double>, double> &y);
3450 void matvec(const double &a, const matrix::Dense<double> &A,
3451  const view1D<vector<double>, double> &x, const double &b,
3452  view1D<tensor::tensor_Dense<double>, double> &y);
3453 void matvec(const double &a, const matrix::Dense<double> &A,
3454  const view1D<matrix::Dense<double>, double> &x, const double &b,
3455  vector<double> &y);
3456 void matvec(const double &a, const matrix::Dense<double> &A,
3457  const view1D<matrix::Dense<double>, double> &x, const double &b,
3458  view1D<vector<double>, double> &y);
3459 void matvec(const double &a, const matrix::Dense<double> &A,
3460  const view1D<matrix::Dense<double>, double> &x, const double &b,
3461  view1D<matrix::Dense<double>, double> &y);
3462 void matvec(const double &a, const matrix::Dense<double> &A,
3463  const view1D<matrix::Dense<double>, double> &x, const double &b,
3464  view1D<tensor::tensor_Dense<double>, double> &y);
3465 void matvec(const double &a, const matrix::Dense<double> &A,
3466  const view1D<tensor::tensor_Dense<double>, double> &x,
3467  const double &b, vector<double> &y);
3468 void matvec(const double &a, const matrix::Dense<double> &A,
3469  const view1D<tensor::tensor_Dense<double>, double> &x,
3470  const double &b, view1D<vector<double>, double> &y);
3471 void matvec(const double &a, const matrix::Dense<double> &A,
3472  const view1D<tensor::tensor_Dense<double>, double> &x,
3473  const double &b, view1D<matrix::Dense<double>, double> &y);
3474 void matvec(const double &a, const matrix::Dense<double> &A,
3475  const view1D<tensor::tensor_Dense<double>, double> &x,
3476  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
3477 void matvec(const float &a, const matrix::Dense<float> &A,
3478  const vector<float> &x, const float &b, vector<float> &y);
3479 void matvec(const float &a, const matrix::Dense<float> &A,
3480  const vector<float> &x, const float &b,
3481  view1D<vector<float>, float> &y);
3482 void matvec(const float &a, const matrix::Dense<float> &A,
3483  const vector<float> &x, const float &b,
3484  view1D<matrix::Dense<float>, float> &y);
3485 void matvec(const float &a, const matrix::Dense<float> &A,
3486  const vector<float> &x, const float &b,
3487  view1D<tensor::tensor_Dense<float>, float> &y);
3488 void matvec(const float &a, const matrix::Dense<float> &A,
3489  const view1D<vector<float>, float> &x, const float &b,
3490  vector<float> &y);
3491 void matvec(const float &a, const matrix::Dense<float> &A,
3492  const view1D<vector<float>, float> &x, const float &b,
3493  view1D<vector<float>, float> &y);
3494 void matvec(const float &a, const matrix::Dense<float> &A,
3495  const view1D<vector<float>, float> &x, const float &b,
3496  view1D<matrix::Dense<float>, float> &y);
3497 void matvec(const float &a, const matrix::Dense<float> &A,
3498  const view1D<vector<float>, float> &x, const float &b,
3499  view1D<tensor::tensor_Dense<float>, float> &y);
3500 void matvec(const float &a, const matrix::Dense<float> &A,
3501  const view1D<matrix::Dense<float>, float> &x, const float &b,
3502  vector<float> &y);
3503 void matvec(const float &a, const matrix::Dense<float> &A,
3504  const view1D<matrix::Dense<float>, float> &x, const float &b,
3505  view1D<vector<float>, float> &y);
3506 void matvec(const float &a, const matrix::Dense<float> &A,
3507  const view1D<matrix::Dense<float>, float> &x, const float &b,
3508  view1D<matrix::Dense<float>, float> &y);
3509 void matvec(const float &a, const matrix::Dense<float> &A,
3510  const view1D<matrix::Dense<float>, float> &x, const float &b,
3511  view1D<tensor::tensor_Dense<float>, float> &y);
3512 void matvec(const float &a, const matrix::Dense<float> &A,
3513  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
3514  vector<float> &y);
3515 void matvec(const float &a, const matrix::Dense<float> &A,
3516  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
3517  view1D<vector<float>, float> &y);
3518 void matvec(const float &a, const matrix::Dense<float> &A,
3519  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
3520  view1D<matrix::Dense<float>, float> &y);
3521 void matvec(const float &a, const matrix::Dense<float> &A,
3522  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
3523  view1D<tensor::tensor_Dense<float>, float> &y);
3543  vector<double> &y);
3545  view1D<vector<double>, double> &y);
3547  view1D<matrix::Dense<double>, double> &y);
3549  view1D<tensor::tensor_Dense<double>, double> &y);
3551  const view1D<vector<double>, double> &x, vector<double> &y);
3553  const view1D<vector<double>, double> &x,
3554  view1D<vector<double>, double> &y);
3556  const view1D<vector<double>, double> &x,
3557  view1D<matrix::Dense<double>, double> &y);
3559  const view1D<vector<double>, double> &x,
3560  view1D<tensor::tensor_Dense<double>, double> &y);
3562  const view1D<matrix::Dense<double>, double> &x,
3563  vector<double> &y);
3565  const view1D<matrix::Dense<double>, double> &x,
3566  view1D<vector<double>, double> &y);
3568  const view1D<matrix::Dense<double>, double> &x,
3569  view1D<matrix::Dense<double>, double> &y);
3571  const view1D<matrix::Dense<double>, double> &x,
3572  view1D<tensor::tensor_Dense<double>, double> &y);
3574  const view1D<tensor::tensor_Dense<double>, double> &x,
3575  vector<double> &y);
3577  const view1D<tensor::tensor_Dense<double>, double> &x,
3578  view1D<vector<double>, double> &y);
3580  const view1D<tensor::tensor_Dense<double>, double> &x,
3581  view1D<matrix::Dense<double>, double> &y);
3583  const view1D<tensor::tensor_Dense<double>, double> &x,
3584  view1D<tensor::tensor_Dense<double>, double> &y);
3586  vector<float> &y);
3588  view1D<vector<float>, float> &y);
3590  view1D<matrix::Dense<float>, float> &y);
3592  view1D<tensor::tensor_Dense<float>, float> &y);
3594  const view1D<vector<float>, float> &x, vector<float> &y);
3596  const view1D<vector<float>, float> &x,
3597  view1D<vector<float>, float> &y);
3599  const view1D<vector<float>, float> &x,
3600  view1D<matrix::Dense<float>, float> &y);
3602  const view1D<vector<float>, float> &x,
3603  view1D<tensor::tensor_Dense<float>, float> &y);
3605  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3607  const view1D<matrix::Dense<float>, float> &x,
3608  view1D<vector<float>, float> &y);
3610  const view1D<matrix::Dense<float>, float> &x,
3611  view1D<matrix::Dense<float>, float> &y);
3613  const view1D<matrix::Dense<float>, float> &x,
3614  view1D<tensor::tensor_Dense<float>, float> &y);
3616  const view1D<tensor::tensor_Dense<float>, float> &x,
3617  vector<float> &y);
3619  const view1D<tensor::tensor_Dense<float>, float> &x,
3620  view1D<vector<float>, float> &y);
3622  const view1D<tensor::tensor_Dense<float>, float> &x,
3623  view1D<matrix::Dense<float>, float> &y);
3625  const view1D<tensor::tensor_Dense<float>, float> &x,
3626  view1D<tensor::tensor_Dense<float>, float> &y);
3646  vector<double> &y);
3648  view1D<vector<double>, double> &y);
3650  view1D<matrix::Dense<double>, double> &y);
3652  view1D<tensor::tensor_Dense<double>, double> &y);
3654  const view1D<vector<double>, double> &x, vector<double> &y);
3656  const view1D<vector<double>, double> &x,
3657  view1D<vector<double>, double> &y);
3659  const view1D<vector<double>, double> &x,
3660  view1D<matrix::Dense<double>, double> &y);
3662  const view1D<vector<double>, double> &x,
3663  view1D<tensor::tensor_Dense<double>, double> &y);
3665  const view1D<matrix::Dense<double>, double> &x,
3666  vector<double> &y);
3668  const view1D<matrix::Dense<double>, double> &x,
3669  view1D<vector<double>, double> &y);
3671  const view1D<matrix::Dense<double>, double> &x,
3672  view1D<matrix::Dense<double>, double> &y);
3674  const view1D<matrix::Dense<double>, double> &x,
3675  view1D<tensor::tensor_Dense<double>, double> &y);
3677  const view1D<tensor::tensor_Dense<double>, double> &x,
3678  vector<double> &y);
3680  const view1D<tensor::tensor_Dense<double>, double> &x,
3681  view1D<vector<double>, double> &y);
3683  const view1D<tensor::tensor_Dense<double>, double> &x,
3684  view1D<matrix::Dense<double>, double> &y);
3686  const view1D<tensor::tensor_Dense<double>, double> &x,
3687  view1D<tensor::tensor_Dense<double>, double> &y);
3689  vector<float> &y);
3691  view1D<vector<float>, float> &y);
3693  view1D<matrix::Dense<float>, float> &y);
3695  view1D<tensor::tensor_Dense<float>, float> &y);
3697  const view1D<vector<float>, float> &x, vector<float> &y);
3699  const view1D<vector<float>, float> &x,
3700  view1D<vector<float>, float> &y);
3702  const view1D<vector<float>, float> &x,
3703  view1D<matrix::Dense<float>, float> &y);
3705  const view1D<vector<float>, float> &x,
3706  view1D<tensor::tensor_Dense<float>, float> &y);
3708  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3710  const view1D<matrix::Dense<float>, float> &x,
3711  view1D<vector<float>, float> &y);
3713  const view1D<matrix::Dense<float>, float> &x,
3714  view1D<matrix::Dense<float>, float> &y);
3716  const view1D<matrix::Dense<float>, float> &x,
3717  view1D<tensor::tensor_Dense<float>, float> &y);
3719  const view1D<tensor::tensor_Dense<float>, float> &x,
3720  vector<float> &y);
3722  const view1D<tensor::tensor_Dense<float>, float> &x,
3723  view1D<vector<float>, float> &y);
3725  const view1D<tensor::tensor_Dense<float>, float> &x,
3726  view1D<matrix::Dense<float>, float> &y);
3728  const view1D<tensor::tensor_Dense<float>, float> &x,
3729  view1D<tensor::tensor_Dense<float>, float> &y);
3748 void matvec_N(const double &a, const matrix::Dense<double> &A,
3749  const vector<double> &x, const double &b, vector<double> &y);
3750 void matvec_N(const double &a, const matrix::Dense<double> &A,
3751  const vector<double> &x, const double &b,
3752  view1D<vector<double>, double> &y);
3753 void matvec_N(const double &a, const matrix::Dense<double> &A,
3754  const vector<double> &x, const double &b,
3755  view1D<matrix::Dense<double>, double> &y);
3756 void matvec_N(const double &a, const matrix::Dense<double> &A,
3757  const vector<double> &x, const double &b,
3758  view1D<tensor::tensor_Dense<double>, double> &y);
3759 void matvec_N(const double &a, const matrix::Dense<double> &A,
3760  const view1D<vector<double>, double> &x, const double &b,
3761  vector<double> &y);
3762 void matvec_N(const double &a, const matrix::Dense<double> &A,
3763  const view1D<vector<double>, double> &x, const double &b,
3764  view1D<vector<double>, double> &y);
3765 void matvec_N(const double &a, const matrix::Dense<double> &A,
3766  const view1D<vector<double>, double> &x, const double &b,
3767  view1D<matrix::Dense<double>, double> &y);
3768 void matvec_N(const double &a, const matrix::Dense<double> &A,
3769  const view1D<vector<double>, double> &x, const double &b,
3770  view1D<tensor::tensor_Dense<double>, double> &y);
3771 void matvec_N(const double &a, const matrix::Dense<double> &A,
3772  const view1D<matrix::Dense<double>, double> &x, const double &b,
3773  vector<double> &y);
3774 void matvec_N(const double &a, const matrix::Dense<double> &A,
3775  const view1D<matrix::Dense<double>, double> &x, const double &b,
3776  view1D<vector<double>, double> &y);
3777 void matvec_N(const double &a, const matrix::Dense<double> &A,
3778  const view1D<matrix::Dense<double>, double> &x, const double &b,
3779  view1D<matrix::Dense<double>, double> &y);
3780 void matvec_N(const double &a, const matrix::Dense<double> &A,
3781  const view1D<matrix::Dense<double>, double> &x, const double &b,
3782  view1D<tensor::tensor_Dense<double>, double> &y);
3783 void matvec_N(const double &a, const matrix::Dense<double> &A,
3784  const view1D<tensor::tensor_Dense<double>, double> &x,
3785  const double &b, vector<double> &y);
3786 void matvec_N(const double &a, const matrix::Dense<double> &A,
3787  const view1D<tensor::tensor_Dense<double>, double> &x,
3788  const double &b, view1D<vector<double>, double> &y);
3789 void matvec_N(const double &a, const matrix::Dense<double> &A,
3790  const view1D<tensor::tensor_Dense<double>, double> &x,
3791  const double &b, view1D<matrix::Dense<double>, double> &y);
3792 void matvec_N(const double &a, const matrix::Dense<double> &A,
3793  const view1D<tensor::tensor_Dense<double>, double> &x,
3794  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
3795 void matvec_N(const float &a, const matrix::Dense<float> &A,
3796  const vector<float> &x, const float &b, vector<float> &y);
3797 void matvec_N(const float &a, const matrix::Dense<float> &A,
3798  const vector<float> &x, const float &b,
3799  view1D<vector<float>, float> &y);
3800 void matvec_N(const float &a, const matrix::Dense<float> &A,
3801  const vector<float> &x, const float &b,
3802  view1D<matrix::Dense<float>, float> &y);
3803 void matvec_N(const float &a, const matrix::Dense<float> &A,
3804  const vector<float> &x, const float &b,
3805  view1D<tensor::tensor_Dense<float>, float> &y);
3806 void matvec_N(const float &a, const matrix::Dense<float> &A,
3807  const view1D<vector<float>, float> &x, const float &b,
3808  vector<float> &y);
3809 void matvec_N(const float &a, const matrix::Dense<float> &A,
3810  const view1D<vector<float>, float> &x, const float &b,
3811  view1D<vector<float>, float> &y);
3812 void matvec_N(const float &a, const matrix::Dense<float> &A,
3813  const view1D<vector<float>, float> &x, const float &b,
3814  view1D<matrix::Dense<float>, float> &y);
3815 void matvec_N(const float &a, const matrix::Dense<float> &A,
3816  const view1D<vector<float>, float> &x, const float &b,
3817  view1D<tensor::tensor_Dense<float>, float> &y);
3818 void matvec_N(const float &a, const matrix::Dense<float> &A,
3819  const view1D<matrix::Dense<float>, float> &x, const float &b,
3820  vector<float> &y);
3821 void matvec_N(const float &a, const matrix::Dense<float> &A,
3822  const view1D<matrix::Dense<float>, float> &x, const float &b,
3823  view1D<vector<float>, float> &y);
3824 void matvec_N(const float &a, const matrix::Dense<float> &A,
3825  const view1D<matrix::Dense<float>, float> &x, const float &b,
3826  view1D<matrix::Dense<float>, float> &y);
3827 void matvec_N(const float &a, const matrix::Dense<float> &A,
3828  const view1D<matrix::Dense<float>, float> &x, const float &b,
3829  view1D<tensor::tensor_Dense<float>, float> &y);
3830 void matvec_N(const float &a, const matrix::Dense<float> &A,
3831  const view1D<tensor::tensor_Dense<float>, float> &x,
3832  const float &b, vector<float> &y);
3833 void matvec_N(const float &a, const matrix::Dense<float> &A,
3834  const view1D<tensor::tensor_Dense<float>, float> &x,
3835  const float &b, view1D<vector<float>, float> &y);
3836 void matvec_N(const float &a, const matrix::Dense<float> &A,
3837  const view1D<tensor::tensor_Dense<float>, float> &x,
3838  const float &b, view1D<matrix::Dense<float>, float> &y);
3839 void matvec_N(const float &a, const matrix::Dense<float> &A,
3840  const view1D<tensor::tensor_Dense<float>, float> &x,
3841  const float &b, view1D<tensor::tensor_Dense<float>, float> &y);
3860 void matvec_T(const double &a, const matrix::Dense<double> &A,
3861  const vector<double> &x, const double &b, vector<double> &y);
3862 void matvec_T(const double &a, const matrix::Dense<double> &A,
3863  const vector<double> &x, const double &b,
3864  view1D<vector<double>, double> &y);
3865 void matvec_T(const double &a, const matrix::Dense<double> &A,
3866  const vector<double> &x, const double &b,
3867  view1D<matrix::Dense<double>, double> &y);
3868 void matvec_T(const double &a, const matrix::Dense<double> &A,
3869  const vector<double> &x, const double &b,
3870  view1D<tensor::tensor_Dense<double>, double> &y);
3871 void matvec_T(const double &a, const matrix::Dense<double> &A,
3872  const view1D<vector<double>, double> &x, const double &b,
3873  vector<double> &y);
3874 void matvec_T(const double &a, const matrix::Dense<double> &A,
3875  const view1D<vector<double>, double> &x, const double &b,
3876  view1D<vector<double>, double> &y);
3877 void matvec_T(const double &a, const matrix::Dense<double> &A,
3878  const view1D<vector<double>, double> &x, const double &b,
3879  view1D<matrix::Dense<double>, double> &y);
3880 void matvec_T(const double &a, const matrix::Dense<double> &A,
3881  const view1D<vector<double>, double> &x, const double &b,
3882  view1D<tensor::tensor_Dense<double>, double> &y);
3883 void matvec_T(const double &a, const matrix::Dense<double> &A,
3884  const view1D<matrix::Dense<double>, double> &x, const double &b,
3885  vector<double> &y);
3886 void matvec_T(const double &a, const matrix::Dense<double> &A,
3887  const view1D<matrix::Dense<double>, double> &x, const double &b,
3888  view1D<vector<double>, double> &y);
3889 void matvec_T(const double &a, const matrix::Dense<double> &A,
3890  const view1D<matrix::Dense<double>, double> &x, const double &b,
3891  view1D<matrix::Dense<double>, double> &y);
3892 void matvec_T(const double &a, const matrix::Dense<double> &A,
3893  const view1D<matrix::Dense<double>, double> &x, const double &b,
3894  view1D<tensor::tensor_Dense<double>, double> &y);
3895 void matvec_T(const double &a, const matrix::Dense<double> &A,
3896  const view1D<tensor::tensor_Dense<double>, double> &x,
3897  const double &b, vector<double> &y);
3898 void matvec_T(const double &a, const matrix::Dense<double> &A,
3899  const view1D<tensor::tensor_Dense<double>, double> &x,
3900  const double &b, view1D<vector<double>, double> &y);
3901 void matvec_T(const double &a, const matrix::Dense<double> &A,
3902  const view1D<tensor::tensor_Dense<double>, double> &x,
3903  const double &b, view1D<matrix::Dense<double>, double> &y);
3904 void matvec_T(const double &a, const matrix::Dense<double> &A,
3905  const view1D<tensor::tensor_Dense<double>, double> &x,
3906  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
3907 void matvec_T(const float &a, const matrix::Dense<float> &A,
3908  const vector<float> &x, const float &b, vector<float> &y);
3909 void matvec_T(const float &a, const matrix::Dense<float> &A,
3910  const vector<float> &x, const float &b,
3911  view1D<vector<float>, float> &y);
3912 void matvec_T(const float &a, const matrix::Dense<float> &A,
3913  const vector<float> &x, const float &b,
3914  view1D<matrix::Dense<float>, float> &y);
3915 void matvec_T(const float &a, const matrix::Dense<float> &A,
3916  const vector<float> &x, const float &b,
3917  view1D<tensor::tensor_Dense<float>, float> &y);
3918 void matvec_T(const float &a, const matrix::Dense<float> &A,
3919  const view1D<vector<float>, float> &x, const float &b,
3920  vector<float> &y);
3921 void matvec_T(const float &a, const matrix::Dense<float> &A,
3922  const view1D<vector<float>, float> &x, const float &b,
3923  view1D<vector<float>, float> &y);
3924 void matvec_T(const float &a, const matrix::Dense<float> &A,
3925  const view1D<vector<float>, float> &x, const float &b,
3926  view1D<matrix::Dense<float>, float> &y);
3927 void matvec_T(const float &a, const matrix::Dense<float> &A,
3928  const view1D<vector<float>, float> &x, const float &b,
3929  view1D<tensor::tensor_Dense<float>, float> &y);
3930 void matvec_T(const float &a, const matrix::Dense<float> &A,
3931  const view1D<matrix::Dense<float>, float> &x, const float &b,
3932  vector<float> &y);
3933 void matvec_T(const float &a, const matrix::Dense<float> &A,
3934  const view1D<matrix::Dense<float>, float> &x, const float &b,
3935  view1D<vector<float>, float> &y);
3936 void matvec_T(const float &a, const matrix::Dense<float> &A,
3937  const view1D<matrix::Dense<float>, float> &x, const float &b,
3938  view1D<matrix::Dense<float>, float> &y);
3939 void matvec_T(const float &a, const matrix::Dense<float> &A,
3940  const view1D<matrix::Dense<float>, float> &x, const float &b,
3941  view1D<tensor::tensor_Dense<float>, float> &y);
3942 void matvec_T(const float &a, const matrix::Dense<float> &A,
3943  const view1D<tensor::tensor_Dense<float>, float> &x,
3944  const float &b, vector<float> &y);
3945 void matvec_T(const float &a, const matrix::Dense<float> &A,
3946  const view1D<tensor::tensor_Dense<float>, float> &x,
3947  const float &b, view1D<vector<float>, float> &y);
3948 void matvec_T(const float &a, const matrix::Dense<float> &A,
3949  const view1D<tensor::tensor_Dense<float>, float> &x,
3950  const float &b, view1D<matrix::Dense<float>, float> &y);
3951 void matvec_T(const float &a, const matrix::Dense<float> &A,
3952  const view1D<tensor::tensor_Dense<float>, float> &x,
3953  const float &b, view1D<tensor::tensor_Dense<float>, float> &y);
3973  vector<double> &y);
3975  view1D<vector<double>, double> &y);
3977  view1D<matrix::Dense<double>, double> &y);
3979  view1D<tensor::tensor_Dense<double>, double> &y);
3981  const view1D<vector<double>, double> &x, vector<double> &y);
3983  const view1D<vector<double>, double> &x,
3984  view1D<vector<double>, double> &y);
3986  const view1D<vector<double>, double> &x,
3987  view1D<matrix::Dense<double>, double> &y);
3989  const view1D<vector<double>, double> &x,
3990  view1D<tensor::tensor_Dense<double>, double> &y);
3992  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
3994  const view1D<matrix::Dense<double>, double> &x,
3995  view1D<vector<double>, double> &y);
3997  const view1D<matrix::Dense<double>, double> &x,
3998  view1D<matrix::Dense<double>, double> &y);
4000  const view1D<matrix::Dense<double>, double> &x,
4001  view1D<tensor::tensor_Dense<double>, double> &y);
4003  const view1D<tensor::tensor_Dense<double>, double> &x,
4004  vector<double> &y);
4006  const view1D<tensor::tensor_Dense<double>, double> &x,
4007  view1D<vector<double>, double> &y);
4009  const view1D<tensor::tensor_Dense<double>, double> &x,
4010  view1D<matrix::Dense<double>, double> &y);
4012  const view1D<tensor::tensor_Dense<double>, double> &x,
4013  view1D<tensor::tensor_Dense<double>, double> &y);
4014 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
4015  vector<float> &y);
4016 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
4017  view1D<vector<float>, float> &y);
4018 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
4019  view1D<matrix::Dense<float>, float> &y);
4020 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
4021  view1D<tensor::tensor_Dense<float>, float> &y);
4022 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
4023  vector<float> &y);
4024 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
4025  view1D<vector<float>, float> &y);
4026 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
4027  view1D<matrix::Dense<float>, float> &y);
4028 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
4029  view1D<tensor::tensor_Dense<float>, float> &y);
4031  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4033  const view1D<matrix::Dense<float>, float> &x,
4034  view1D<vector<float>, float> &y);
4036  const view1D<matrix::Dense<float>, float> &x,
4037  view1D<matrix::Dense<float>, float> &y);
4039  const view1D<matrix::Dense<float>, float> &x,
4040  view1D<tensor::tensor_Dense<float>, float> &y);
4042  const view1D<tensor::tensor_Dense<float>, float> &x,
4043  vector<float> &y);
4045  const view1D<tensor::tensor_Dense<float>, float> &x,
4046  view1D<vector<float>, float> &y);
4048  const view1D<tensor::tensor_Dense<float>, float> &x,
4049  view1D<matrix::Dense<float>, float> &y);
4051  const view1D<tensor::tensor_Dense<float>, float> &x,
4052  view1D<tensor::tensor_Dense<float>, float> &y);
4071 void matvec(const double &a, const matrix::CRS<double> &A,
4072  const vector<double> &x, const double &b, vector<double> &y);
4073 void matvec(const double &a, const matrix::CRS<double> &A,
4074  const vector<double> &x, const double &b,
4075  view1D<vector<double>, double> &y);
4076 void matvec(const double &a, const matrix::CRS<double> &A,
4077  const vector<double> &x, const double &b,
4078  view1D<matrix::Dense<double>, double> &y);
4079 void matvec(const double &a, const matrix::CRS<double> &A,
4080  const vector<double> &x, const double &b,
4081  view1D<tensor::tensor_Dense<double>, double> &y);
4082 void matvec(const double &a, const matrix::CRS<double> &A,
4083  const view1D<vector<double>, double> &x, const double &b,
4084  vector<double> &y);
4085 void matvec(const double &a, const matrix::CRS<double> &A,
4086  const view1D<vector<double>, double> &x, const double &b,
4087  view1D<vector<double>, double> &y);
4088 void matvec(const double &a, const matrix::CRS<double> &A,
4089  const view1D<vector<double>, double> &x, const double &b,
4090  view1D<matrix::Dense<double>, double> &y);
4091 void matvec(const double &a, const matrix::CRS<double> &A,
4092  const view1D<vector<double>, double> &x, const double &b,
4093  view1D<tensor::tensor_Dense<double>, double> &y);
4094 void matvec(const double &a, const matrix::CRS<double> &A,
4095  const view1D<matrix::Dense<double>, double> &x, const double &b,
4096  vector<double> &y);
4097 void matvec(const double &a, const matrix::CRS<double> &A,
4098  const view1D<matrix::Dense<double>, double> &x, const double &b,
4099  view1D<vector<double>, double> &y);
4100 void matvec(const double &a, const matrix::CRS<double> &A,
4101  const view1D<matrix::Dense<double>, double> &x, const double &b,
4102  view1D<matrix::Dense<double>, double> &y);
4103 void matvec(const double &a, const matrix::CRS<double> &A,
4104  const view1D<matrix::Dense<double>, double> &x, const double &b,
4105  view1D<tensor::tensor_Dense<double>, double> &y);
4106 void matvec(const double &a, const matrix::CRS<double> &A,
4107  const view1D<tensor::tensor_Dense<double>, double> &x,
4108  const double &b, vector<double> &y);
4109 void matvec(const double &a, const matrix::CRS<double> &A,
4110  const view1D<tensor::tensor_Dense<double>, double> &x,
4111  const double &b, view1D<vector<double>, double> &y);
4112 void matvec(const double &a, const matrix::CRS<double> &A,
4113  const view1D<tensor::tensor_Dense<double>, double> &x,
4114  const double &b, view1D<matrix::Dense<double>, double> &y);
4115 void matvec(const double &a, const matrix::CRS<double> &A,
4116  const view1D<tensor::tensor_Dense<double>, double> &x,
4117  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
4118 void matvec(const float &a, const matrix::CRS<float> &A, const vector<float> &x,
4119  const float &b, vector<float> &y);
4120 void matvec(const float &a, const matrix::CRS<float> &A, const vector<float> &x,
4121  const float &b, view1D<vector<float>, float> &y);
4122 void matvec(const float &a, const matrix::CRS<float> &A, const vector<float> &x,
4123  const float &b, view1D<matrix::Dense<float>, float> &y);
4124 void matvec(const float &a, const matrix::CRS<float> &A, const vector<float> &x,
4125  const float &b, view1D<tensor::tensor_Dense<float>, float> &y);
4126 void matvec(const float &a, const matrix::CRS<float> &A,
4127  const view1D<vector<float>, float> &x, const float &b,
4128  vector<float> &y);
4129 void matvec(const float &a, const matrix::CRS<float> &A,
4130  const view1D<vector<float>, float> &x, const float &b,
4131  view1D<vector<float>, float> &y);
4132 void matvec(const float &a, const matrix::CRS<float> &A,
4133  const view1D<vector<float>, float> &x, const float &b,
4134  view1D<matrix::Dense<float>, float> &y);
4135 void matvec(const float &a, const matrix::CRS<float> &A,
4136  const view1D<vector<float>, float> &x, const float &b,
4137  view1D<tensor::tensor_Dense<float>, float> &y);
4138 void matvec(const float &a, const matrix::CRS<float> &A,
4139  const view1D<matrix::Dense<float>, float> &x, const float &b,
4140  vector<float> &y);
4141 void matvec(const float &a, const matrix::CRS<float> &A,
4142  const view1D<matrix::Dense<float>, float> &x, const float &b,
4143  view1D<vector<float>, float> &y);
4144 void matvec(const float &a, const matrix::CRS<float> &A,
4145  const view1D<matrix::Dense<float>, float> &x, const float &b,
4146  view1D<matrix::Dense<float>, float> &y);
4147 void matvec(const float &a, const matrix::CRS<float> &A,
4148  const view1D<matrix::Dense<float>, float> &x, const float &b,
4149  view1D<tensor::tensor_Dense<float>, float> &y);
4150 void matvec(const float &a, const matrix::CRS<float> &A,
4151  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
4152  vector<float> &y);
4153 void matvec(const float &a, const matrix::CRS<float> &A,
4154  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
4155  view1D<vector<float>, float> &y);
4156 void matvec(const float &a, const matrix::CRS<float> &A,
4157  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
4158  view1D<matrix::Dense<float>, float> &y);
4159 void matvec(const float &a, const matrix::CRS<float> &A,
4160  const view1D<tensor::tensor_Dense<float>, float> &x, const float &b,
4161  view1D<tensor::tensor_Dense<float>, float> &y);
4181  vector<double> &y);
4183  view1D<vector<double>, double> &y);
4185  view1D<matrix::Dense<double>, double> &y);
4187  view1D<tensor::tensor_Dense<double>, double> &y);
4189  const view1D<vector<double>, double> &x, vector<double> &y);
4191  const view1D<vector<double>, double> &x,
4192  view1D<vector<double>, double> &y);
4194  const view1D<vector<double>, double> &x,
4195  view1D<matrix::Dense<double>, double> &y);
4197  const view1D<vector<double>, double> &x,
4198  view1D<tensor::tensor_Dense<double>, double> &y);
4200  const view1D<matrix::Dense<double>, double> &x,
4201  vector<double> &y);
4203  const view1D<matrix::Dense<double>, double> &x,
4204  view1D<vector<double>, double> &y);
4206  const view1D<matrix::Dense<double>, double> &x,
4207  view1D<matrix::Dense<double>, double> &y);
4209  const view1D<matrix::Dense<double>, double> &x,
4210  view1D<tensor::tensor_Dense<double>, double> &y);
4212  const view1D<tensor::tensor_Dense<double>, double> &x,
4213  vector<double> &y);
4215  const view1D<tensor::tensor_Dense<double>, double> &x,
4216  view1D<vector<double>, double> &y);
4218  const view1D<tensor::tensor_Dense<double>, double> &x,
4219  view1D<matrix::Dense<double>, double> &y);
4221  const view1D<tensor::tensor_Dense<double>, double> &x,
4222  view1D<tensor::tensor_Dense<double>, double> &y);
4224  vector<float> &y);
4226  view1D<vector<float>, float> &y);
4228  view1D<matrix::Dense<float>, float> &y);
4230  view1D<tensor::tensor_Dense<float>, float> &y);
4232  const view1D<vector<float>, float> &x, vector<float> &y);
4234  const view1D<vector<float>, float> &x,
4235  view1D<vector<float>, float> &y);
4237  const view1D<vector<float>, float> &x,
4238  view1D<matrix::Dense<float>, float> &y);
4240  const view1D<vector<float>, float> &x,
4241  view1D<tensor::tensor_Dense<float>, float> &y);
4243  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4245  const view1D<matrix::Dense<float>, float> &x,
4246  view1D<vector<float>, float> &y);
4248  const view1D<matrix::Dense<float>, float> &x,
4249  view1D<matrix::Dense<float>, float> &y);
4251  const view1D<matrix::Dense<float>, float> &x,
4252  view1D<tensor::tensor_Dense<float>, float> &y);
4254  const view1D<tensor::tensor_Dense<float>, float> &x,
4255  vector<float> &y);
4257  const view1D<tensor::tensor_Dense<float>, float> &x,
4258  view1D<vector<float>, float> &y);
4260  const view1D<tensor::tensor_Dense<float>, float> &x,
4261  view1D<matrix::Dense<float>, float> &y);
4263  const view1D<tensor::tensor_Dense<float>, float> &x,
4264  view1D<tensor::tensor_Dense<float>, float> &y);
4284  vector<double> &y);
4286  view1D<vector<double>, double> &y);
4288  view1D<matrix::Dense<double>, double> &y);
4290  view1D<tensor::tensor_Dense<double>, double> &y);
4292  const view1D<vector<double>, double> &x, vector<double> &y);
4294  const view1D<vector<double>, double> &x,
4295  view1D<vector<double>, double> &y);
4297  const view1D<vector<double>, double> &x,
4298  view1D<matrix::Dense<double>, double> &y);
4300  const view1D<vector<double>, double> &x,
4301  view1D<tensor::tensor_Dense<double>, double> &y);
4303  const view1D<matrix::Dense<double>, double> &x,
4304  vector<double> &y);
4306  const view1D<matrix::Dense<double>, double> &x,
4307  view1D<vector<double>, double> &y);
4309  const view1D<matrix::Dense<double>, double> &x,
4310  view1D<matrix::Dense<double>, double> &y);
4312  const view1D<matrix::Dense<double>, double> &x,
4313  view1D<tensor::tensor_Dense<double>, double> &y);
4315  const view1D<tensor::tensor_Dense<double>, double> &x,
4316  vector<double> &y);
4318  const view1D<tensor::tensor_Dense<double>, double> &x,
4319  view1D<vector<double>, double> &y);
4321  const view1D<tensor::tensor_Dense<double>, double> &x,
4322  view1D<matrix::Dense<double>, double> &y);
4324  const view1D<tensor::tensor_Dense<double>, double> &x,
4325  view1D<tensor::tensor_Dense<double>, double> &y);
4327  vector<float> &y);
4329  view1D<vector<float>, float> &y);
4331  view1D<matrix::Dense<float>, float> &y);
4333  view1D<tensor::tensor_Dense<float>, float> &y);
4335  const view1D<vector<float>, float> &x, vector<float> &y);
4337  const view1D<vector<float>, float> &x,
4338  view1D<vector<float>, float> &y);
4340  const view1D<vector<float>, float> &x,
4341  view1D<matrix::Dense<float>, float> &y);
4343  const view1D<vector<float>, float> &x,
4344  view1D<tensor::tensor_Dense<float>, float> &y);
4346  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4348  const view1D<matrix::Dense<float>, float> &x,
4349  view1D<vector<float>, float> &y);
4351  const view1D<matrix::Dense<float>, float> &x,
4352  view1D<matrix::Dense<float>, float> &y);
4354  const view1D<matrix::Dense<float>, float> &x,
4355  view1D<tensor::tensor_Dense<float>, float> &y);
4357  const view1D<tensor::tensor_Dense<float>, float> &x,
4358  vector<float> &y);
4360  const view1D<tensor::tensor_Dense<float>, float> &x,
4361  view1D<vector<float>, float> &y);
4363  const view1D<tensor::tensor_Dense<float>, float> &x,
4364  view1D<matrix::Dense<float>, float> &y);
4366  const view1D<tensor::tensor_Dense<float>, float> &x,
4367  view1D<tensor::tensor_Dense<float>, float> &y);
4386 void matvec_N(const double &a, const matrix::CRS<double> &A,
4387  const vector<double> &x, const double &b, vector<double> &y);
4388 void matvec_N(const double &a, const matrix::CRS<double> &A,
4389  const vector<double> &x, const double &b,
4390  view1D<vector<double>, double> &y);
4391 void matvec_N(const double &a, const matrix::CRS<double> &A,
4392  const vector<double> &x, const double &b,
4393  view1D<matrix::Dense<double>, double> &y);
4394 void matvec_N(const double &a, const matrix::CRS<double> &A,
4395  const vector<double> &x, const double &b,
4396  view1D<tensor::tensor_Dense<double>, double> &y);
4397 void matvec_N(const double &a, const matrix::CRS<double> &A,
4398  const view1D<vector<double>, double> &x, const double &b,
4399  vector<double> &y);
4400 void matvec_N(const double &a, const matrix::CRS<double> &A,
4401  const view1D<vector<double>, double> &x, const double &b,
4402  view1D<vector<double>, double> &y);
4403 void matvec_N(const double &a, const matrix::CRS<double> &A,
4404  const view1D<vector<double>, double> &x, const double &b,
4405  view1D<matrix::Dense<double>, double> &y);
4406 void matvec_N(const double &a, const matrix::CRS<double> &A,
4407  const view1D<vector<double>, double> &x, const double &b,
4408  view1D<tensor::tensor_Dense<double>, double> &y);
4409 void matvec_N(const double &a, const matrix::CRS<double> &A,
4410  const view1D<matrix::Dense<double>, double> &x, const double &b,
4411  vector<double> &y);
4412 void matvec_N(const double &a, const matrix::CRS<double> &A,
4413  const view1D<matrix::Dense<double>, double> &x, const double &b,
4414  view1D<vector<double>, double> &y);
4415 void matvec_N(const double &a, const matrix::CRS<double> &A,
4416  const view1D<matrix::Dense<double>, double> &x, const double &b,
4417  view1D<matrix::Dense<double>, double> &y);
4418 void matvec_N(const double &a, const matrix::CRS<double> &A,
4419  const view1D<matrix::Dense<double>, double> &x, const double &b,
4420  view1D<tensor::tensor_Dense<double>, double> &y);
4421 void matvec_N(const double &a, const matrix::CRS<double> &A,
4422  const view1D<tensor::tensor_Dense<double>, double> &x,
4423  const double &b, vector<double> &y);
4424 void matvec_N(const double &a, const matrix::CRS<double> &A,
4425  const view1D<tensor::tensor_Dense<double>, double> &x,
4426  const double &b, view1D<vector<double>, double> &y);
4427 void matvec_N(const double &a, const matrix::CRS<double> &A,
4428  const view1D<tensor::tensor_Dense<double>, double> &x,
4429  const double &b, view1D<matrix::Dense<double>, double> &y);
4430 void matvec_N(const double &a, const matrix::CRS<double> &A,
4431  const view1D<tensor::tensor_Dense<double>, double> &x,
4432  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
4433 void matvec_N(const float &a, const matrix::CRS<float> &A,
4434  const vector<float> &x, const float &b, vector<float> &y);
4435 void matvec_N(const float &a, const matrix::CRS<float> &A,
4436  const vector<float> &x, const float &b,
4437  view1D<vector<float>, float> &y);
4438 void matvec_N(const float &a, const matrix::CRS<float> &A,
4439  const vector<float> &x, const float &b,
4440  view1D<matrix::Dense<float>, float> &y);
4441 void matvec_N(const float &a, const matrix::CRS<float> &A,
4442  const vector<float> &x, const float &b,
4443  view1D<tensor::tensor_Dense<float>, float> &y);
4444 void matvec_N(const float &a, const matrix::CRS<float> &A,
4445  const view1D<vector<float>, float> &x, const float &b,
4446  vector<float> &y);
4447 void matvec_N(const float &a, const matrix::CRS<float> &A,
4448  const view1D<vector<float>, float> &x, const float &b,
4449  view1D<vector<float>, float> &y);
4450 void matvec_N(const float &a, const matrix::CRS<float> &A,
4451  const view1D<vector<float>, float> &x, const float &b,
4452  view1D<matrix::Dense<float>, float> &y);
4453 void matvec_N(const float &a, const matrix::CRS<float> &A,
4454  const view1D<vector<float>, float> &x, const float &b,
4455  view1D<tensor::tensor_Dense<float>, float> &y);
4456 void matvec_N(const float &a, const matrix::CRS<float> &A,
4457  const view1D<matrix::Dense<float>, float> &x, const float &b,
4458  vector<float> &y);
4459 void matvec_N(const float &a, const matrix::CRS<float> &A,
4460  const view1D<matrix::Dense<float>, float> &x, const float &b,
4461  view1D<vector<float>, float> &y);
4462 void matvec_N(const float &a, const matrix::CRS<float> &A,
4463  const view1D<matrix::Dense<float>, float> &x, const float &b,
4464  view1D<matrix::Dense<float>, float> &y);
4465 void matvec_N(const float &a, const matrix::CRS<float> &A,
4466  const view1D<matrix::Dense<float>, float> &x, const float &b,
4467  view1D<tensor::tensor_Dense<float>, float> &y);
4468 void matvec_N(const float &a, const matrix::CRS<float> &A,
4469  const view1D<tensor::tensor_Dense<float>, float> &x,
4470  const float &b, vector<float> &y);
4471 void matvec_N(const float &a, const matrix::CRS<float> &A,
4472  const view1D<tensor::tensor_Dense<float>, float> &x,
4473  const float &b, view1D<vector<float>, float> &y);
4474 void matvec_N(const float &a, const matrix::CRS<float> &A,
4475  const view1D<tensor::tensor_Dense<float>, float> &x,
4476  const float &b, view1D<matrix::Dense<float>, float> &y);
4477 void matvec_N(const float &a, const matrix::CRS<float> &A,
4478  const view1D<tensor::tensor_Dense<float>, float> &x,
4479  const float &b, view1D<tensor::tensor_Dense<float>, float> &y);
4498 void matvec_T(const double &a, const matrix::CRS<double> &A,
4499  const vector<double> &x, const double &b, vector<double> &y);
4500 void matvec_T(const double &a, const matrix::CRS<double> &A,
4501  const vector<double> &x, const double &b,
4502  view1D<vector<double>, double> &y);
4503 void matvec_T(const double &a, const matrix::CRS<double> &A,
4504  const vector<double> &x, const double &b,
4505  view1D<matrix::Dense<double>, double> &y);
4506 void matvec_T(const double &a, const matrix::CRS<double> &A,
4507  const vector<double> &x, const double &b,
4508  view1D<tensor::tensor_Dense<double>, double> &y);
4509 void matvec_T(const double &a, const matrix::CRS<double> &A,
4510  const view1D<vector<double>, double> &x, const double &b,
4511  vector<double> &y);
4512 void matvec_T(const double &a, const matrix::CRS<double> &A,
4513  const view1D<vector<double>, double> &x, const double &b,
4514  view1D<vector<double>, double> &y);
4515 void matvec_T(const double &a, const matrix::CRS<double> &A,
4516  const view1D<vector<double>, double> &x, const double &b,
4517  view1D<matrix::Dense<double>, double> &y);
4518 void matvec_T(const double &a, const matrix::CRS<double> &A,
4519  const view1D<vector<double>, double> &x, const double &b,
4520  view1D<tensor::tensor_Dense<double>, double> &y);
4521 void matvec_T(const double &a, const matrix::CRS<double> &A,
4522  const view1D<matrix::Dense<double>, double> &x, const double &b,
4523  vector<double> &y);
4524 void matvec_T(const double &a, const matrix::CRS<double> &A,
4525  const view1D<matrix::Dense<double>, double> &x, const double &b,
4526  view1D<vector<double>, double> &y);
4527 void matvec_T(const double &a, const matrix::CRS<double> &A,
4528  const view1D<matrix::Dense<double>, double> &x, const double &b,
4529  view1D<matrix::Dense<double>, double> &y);
4530 void matvec_T(const double &a, const matrix::CRS<double> &A,
4531  const view1D<matrix::Dense<double>, double> &x, const double &b,
4532  view1D<tensor::tensor_Dense<double>, double> &y);
4533 void matvec_T(const double &a, const matrix::CRS<double> &A,
4534  const view1D<tensor::tensor_Dense<double>, double> &x,
4535  const double &b, vector<double> &y);
4536 void matvec_T(const double &a, const matrix::CRS<double> &A,
4537  const view1D<tensor::tensor_Dense<double>, double> &x,
4538  const double &b, view1D<vector<double>, double> &y);
4539 void matvec_T(const double &a, const matrix::CRS<double> &A,
4540  const view1D<tensor::tensor_Dense<double>, double> &x,
4541  const double &b, view1D<matrix::Dense<double>, double> &y);
4542 void matvec_T(const double &a, const matrix::CRS<double> &A,
4543  const view1D<tensor::tensor_Dense<double>, double> &x,
4544  const double &b, view1D<tensor::tensor_Dense<double>, double> &y);
4545 void matvec_T(const float &a, const matrix::CRS<float> &A,
4546  const vector<float> &x, const float &b, vector<float> &y);
4547 void matvec_T(const float &a, const matrix::CRS<float> &A,
4548  const vector<float> &x, const float &b,
4549  view1D<vector<float>, float> &y);
4550 void matvec_T(const float &a, const matrix::CRS<float> &A,
4551  const vector<float> &x, const float &b,
4552  view1D<matrix::Dense<float>, float> &y);
4553 void matvec_T(const float &a, const matrix::CRS<float> &A,
4554  const vector<float> &x, const float &b,
4555  view1D<tensor::tensor_Dense<float>, float> &y);
4556 void matvec_T(const float &a, const matrix::CRS<float> &A,
4557  const view1D<vector<float>, float> &x, const float &b,
4558  vector<float> &y);
4559 void matvec_T(const float &a, const matrix::CRS<float> &A,
4560  const view1D<vector<float>, float> &x, const float &b,
4561  view1D<vector<float>, float> &y);
4562 void matvec_T(const float &a, const matrix::CRS<float> &A,
4563  const view1D<vector<float>, float> &x, const float &b,
4564  view1D<matrix::Dense<float>, float> &y);
4565 void matvec_T(const float &a, const matrix::CRS<float> &A,
4566  const view1D<vector<float>, float> &x, const float &b,
4567  view1D<tensor::tensor_Dense<float>, float> &y);
4568 void matvec_T(const float &a, const matrix::CRS<float> &A,
4569  const view1D<matrix::Dense<float>, float> &x, const float &b,
4570  vector<float> &y);
4571 void matvec_T(const float &a, const matrix::CRS<float> &A,
4572  const view1D<matrix::Dense<float>, float> &x, const float &b,
4573  view1D<vector<float>, float> &y);
4574 void matvec_T(const float &a, const matrix::CRS<float> &A,
4575  const view1D<matrix::Dense<float>, float> &x, const float &b,
4576  view1D<matrix::Dense<float>, float> &y);
4577 void matvec_T(const float &a, const matrix::CRS<float> &A,
4578  const view1D<matrix::Dense<float>, float> &x, const float &b,
4579  view1D<tensor::tensor_Dense<float>, float> &y);
4580 void matvec_T(const float &a, const matrix::CRS<float> &A,
4581  const view1D<tensor::tensor_Dense<float>, float> &x,
4582  const float &b, vector<float> &y);
4583 void matvec_T(const float &a, const matrix::CRS<float> &A,
4584  const view1D<tensor::tensor_Dense<float>, float> &x,
4585  const float &b, view1D<vector<float>, float> &y);
4586 void matvec_T(const float &a, const matrix::CRS<float> &A,
4587  const view1D<tensor::tensor_Dense<float>, float> &x,
4588  const float &b, view1D<matrix::Dense<float>, float> &y);
4589 void matvec_T(const float &a, const matrix::CRS<float> &A,
4590  const view1D<tensor::tensor_Dense<float>, float> &x,
4591  const float &b, view1D<tensor::tensor_Dense<float>, float> &y);
4610  vector<double> &y);
4612  view1D<vector<double>, double> &y);
4614  view1D<matrix::Dense<double>, double> &y);
4616  view1D<tensor::tensor_Dense<double>, double> &y);
4618  const view1D<vector<double>, double> &x, vector<double> &y);
4620  const view1D<vector<double>, double> &x,
4621  view1D<vector<double>, double> &y);
4623  const view1D<vector<double>, double> &x,
4624  view1D<matrix::Dense<double>, double> &y);
4626  const view1D<vector<double>, double> &x,
4627  view1D<tensor::tensor_Dense<double>, double> &y);
4629  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
4631  const view1D<matrix::Dense<double>, double> &x,
4632  view1D<vector<double>, double> &y);
4634  const view1D<matrix::Dense<double>, double> &x,
4635  view1D<matrix::Dense<double>, double> &y);
4637  const view1D<matrix::Dense<double>, double> &x,
4638  view1D<tensor::tensor_Dense<double>, double> &y);
4640  const view1D<tensor::tensor_Dense<double>, double> &x,
4641  vector<double> &y);
4643  const view1D<tensor::tensor_Dense<double>, double> &x,
4644  view1D<vector<double>, double> &y);
4646  const view1D<tensor::tensor_Dense<double>, double> &x,
4647  view1D<matrix::Dense<double>, double> &y);
4649  const view1D<tensor::tensor_Dense<double>, double> &x,
4650  view1D<tensor::tensor_Dense<double>, double> &y);
4652  vector<float> &y);
4654  view1D<vector<float>, float> &y);
4656  view1D<matrix::Dense<float>, float> &y);
4658  view1D<tensor::tensor_Dense<float>, float> &y);
4660  const view1D<vector<float>, float> &x, vector<float> &y);
4662  const view1D<vector<float>, float> &x,
4663  view1D<vector<float>, float> &y);
4665  const view1D<vector<float>, float> &x,
4666  view1D<matrix::Dense<float>, float> &y);
4668  const view1D<vector<float>, float> &x,
4669  view1D<tensor::tensor_Dense<float>, float> &y);
4671  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4673  const view1D<matrix::Dense<float>, float> &x,
4674  view1D<vector<float>, float> &y);
4676  const view1D<matrix::Dense<float>, float> &x,
4677  view1D<matrix::Dense<float>, float> &y);
4679  const view1D<matrix::Dense<float>, float> &x,
4680  view1D<tensor::tensor_Dense<float>, float> &y);
4682  const view1D<tensor::tensor_Dense<float>, float> &x,
4683  vector<float> &y);
4685  const view1D<tensor::tensor_Dense<float>, float> &x,
4686  view1D<vector<float>, float> &y);
4688  const view1D<tensor::tensor_Dense<float>, float> &x,
4689  view1D<matrix::Dense<float>, float> &y);
4691  const view1D<tensor::tensor_Dense<float>, float> &x,
4692  view1D<tensor::tensor_Dense<float>, float> &y);
4711  vector<double> &y);
4713  view1D<vector<double>, double> &y);
4715  view1D<matrix::Dense<double>, double> &y);
4717  view1D<tensor::tensor_Dense<double>, double> &y);
4719  const view1D<vector<double>, double> &x, vector<double> &y);
4721  const view1D<vector<double>, double> &x,
4722  view1D<vector<double>, double> &y);
4724  const view1D<vector<double>, double> &x,
4725  view1D<matrix::Dense<double>, double> &y);
4727  const view1D<vector<double>, double> &x,
4728  view1D<tensor::tensor_Dense<double>, double> &y);
4730  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
4732  const view1D<matrix::Dense<double>, double> &x,
4733  view1D<vector<double>, double> &y);
4735  const view1D<matrix::Dense<double>, double> &x,
4736  view1D<matrix::Dense<double>, double> &y);
4738  const view1D<matrix::Dense<double>, double> &x,
4739  view1D<tensor::tensor_Dense<double>, double> &y);
4741  const view1D<tensor::tensor_Dense<double>, double> &x,
4742  vector<double> &y);
4744  const view1D<tensor::tensor_Dense<double>, double> &x,
4745  view1D<vector<double>, double> &y);
4747  const view1D<tensor::tensor_Dense<double>, double> &x,
4748  view1D<matrix::Dense<double>, double> &y);
4750  const view1D<tensor::tensor_Dense<double>, double> &x,
4751  view1D<tensor::tensor_Dense<double>, double> &y);
4753  vector<float> &y);
4755  view1D<vector<float>, float> &y);
4757  view1D<matrix::Dense<float>, float> &y);
4759  view1D<tensor::tensor_Dense<float>, float> &y);
4761  const view1D<vector<float>, float> &x, vector<float> &y);
4763  const view1D<vector<float>, float> &x,
4764  view1D<vector<float>, float> &y);
4766  const view1D<vector<float>, float> &x,
4767  view1D<matrix::Dense<float>, float> &y);
4769  const view1D<vector<float>, float> &x,
4770  view1D<tensor::tensor_Dense<float>, float> &y);
4772  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4774  const view1D<matrix::Dense<float>, float> &x,
4775  view1D<vector<float>, float> &y);
4777  const view1D<matrix::Dense<float>, float> &x,
4778  view1D<matrix::Dense<float>, float> &y);
4780  const view1D<matrix::Dense<float>, float> &x,
4781  view1D<tensor::tensor_Dense<float>, float> &y);
4783  const view1D<tensor::tensor_Dense<float>, float> &x,
4784  vector<float> &y);
4786  const view1D<tensor::tensor_Dense<float>, float> &x,
4787  view1D<vector<float>, float> &y);
4789  const view1D<tensor::tensor_Dense<float>, float> &x,
4790  view1D<matrix::Dense<float>, float> &y);
4792  const view1D<tensor::tensor_Dense<float>, float> &x,
4793  view1D<tensor::tensor_Dense<float>, float> &y);
4796 } // namespace blas
4797 } // namespace monolish
Compressed Row Storage (CRS) format Matrix.
Dense format Matrix.
Linear Operator imitating Matrix.
void matvec_N(const matrix::Dense< double > &A, const vector< double > &x, vector< double > &y)
Dense matrix and vector multiplication: y = A^N x.
void matvec_T(const matrix::Dense< double > &A, const vector< double > &x, vector< double > &y)
Dense matrix and vector multiplication: y = A^T x.
void matvec(const matrix::Dense< double > &A, const vector< double > &x, vector< double > &y)
Dense matrix and vector multiplication: y = Ax.
void rmatvec(const matrix::LinearOperator< double > &A, const vector< double > &x, vector< double > &y)
Adjoint LinearOperator matrix and vector multiplication: y = A^Hx.
void adds_col(const matrix::Dense< double > &A, const vector< double > &x, matrix::Dense< double > &C)
Row-wise Dense matrix and vector adds: C[i][j] = A[i][j] + x[i].
void times_col(const matrix::Dense< double > &A, const vector< double > &x, matrix::Dense< double > &C)
Column-wise Dense matrix and vector times: C[i][j] = A[i][j] * x[i].
void adds_row(const matrix::Dense< double > &A, const vector< double > &x, matrix::Dense< double > &C)
Row-wise Dense matrix and vector adds: C[i][j] = A[i][j] + x[j].
void times_row(const matrix::Dense< double > &A, const vector< double > &x, matrix::Dense< double > &C)
Row-wise Dense matrix and vector times: C[i][j] = A[i][j] * x[j].
monolish namespaces