monolish  0.17.2
MONOlithic LInear equation Solvers for Highly-parallel architecture
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);
3431  vector<double> &y);
3433  view1D<vector<double>, double> &y);
3435  view1D<matrix::Dense<double>, double> &y);
3437  view1D<tensor::tensor_Dense<double>, double> &y);
3439  const view1D<vector<double>, double> &x, vector<double> &y);
3441  const view1D<vector<double>, double> &x,
3442  view1D<vector<double>, double> &y);
3444  const view1D<vector<double>, double> &x,
3445  view1D<matrix::Dense<double>, double> &y);
3447  const view1D<vector<double>, double> &x,
3448  view1D<tensor::tensor_Dense<double>, double> &y);
3450  const view1D<matrix::Dense<double>, double> &x,
3451  vector<double> &y);
3453  const view1D<matrix::Dense<double>, double> &x,
3454  view1D<vector<double>, double> &y);
3456  const view1D<matrix::Dense<double>, double> &x,
3457  view1D<matrix::Dense<double>, double> &y);
3459  const view1D<matrix::Dense<double>, double> &x,
3460  view1D<tensor::tensor_Dense<double>, double> &y);
3462  const view1D<tensor::tensor_Dense<double>, double> &x,
3463  vector<double> &y);
3465  const view1D<tensor::tensor_Dense<double>, double> &x,
3466  view1D<vector<double>, double> &y);
3468  const view1D<tensor::tensor_Dense<double>, double> &x,
3469  view1D<matrix::Dense<double>, double> &y);
3471  const view1D<tensor::tensor_Dense<double>, double> &x,
3472  view1D<tensor::tensor_Dense<double>, double> &y);
3474  vector<float> &y);
3476  view1D<vector<float>, float> &y);
3478  view1D<matrix::Dense<float>, float> &y);
3480  view1D<tensor::tensor_Dense<float>, float> &y);
3482  const view1D<vector<float>, float> &x, vector<float> &y);
3484  const view1D<vector<float>, float> &x,
3485  view1D<vector<float>, float> &y);
3487  const view1D<vector<float>, float> &x,
3488  view1D<matrix::Dense<float>, float> &y);
3490  const view1D<vector<float>, float> &x,
3491  view1D<tensor::tensor_Dense<float>, float> &y);
3493  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3495  const view1D<matrix::Dense<float>, float> &x,
3496  view1D<vector<float>, float> &y);
3498  const view1D<matrix::Dense<float>, float> &x,
3499  view1D<matrix::Dense<float>, float> &y);
3501  const view1D<matrix::Dense<float>, float> &x,
3502  view1D<tensor::tensor_Dense<float>, float> &y);
3504  const view1D<tensor::tensor_Dense<float>, float> &x,
3505  vector<float> &y);
3507  const view1D<tensor::tensor_Dense<float>, float> &x,
3508  view1D<vector<float>, float> &y);
3510  const view1D<tensor::tensor_Dense<float>, float> &x,
3511  view1D<matrix::Dense<float>, float> &y);
3513  const view1D<tensor::tensor_Dense<float>, float> &x,
3514  view1D<tensor::tensor_Dense<float>, float> &y);
3534  vector<double> &y);
3536  view1D<vector<double>, double> &y);
3538  view1D<matrix::Dense<double>, double> &y);
3540  view1D<tensor::tensor_Dense<double>, double> &y);
3542  const view1D<vector<double>, double> &x, vector<double> &y);
3544  const view1D<vector<double>, double> &x,
3545  view1D<vector<double>, double> &y);
3547  const view1D<vector<double>, double> &x,
3548  view1D<matrix::Dense<double>, double> &y);
3550  const view1D<vector<double>, double> &x,
3551  view1D<tensor::tensor_Dense<double>, double> &y);
3553  const view1D<matrix::Dense<double>, double> &x,
3554  vector<double> &y);
3556  const view1D<matrix::Dense<double>, double> &x,
3557  view1D<vector<double>, double> &y);
3559  const view1D<matrix::Dense<double>, double> &x,
3560  view1D<matrix::Dense<double>, double> &y);
3562  const view1D<matrix::Dense<double>, double> &x,
3563  view1D<tensor::tensor_Dense<double>, double> &y);
3565  const view1D<tensor::tensor_Dense<double>, double> &x,
3566  vector<double> &y);
3568  const view1D<tensor::tensor_Dense<double>, double> &x,
3569  view1D<vector<double>, double> &y);
3571  const view1D<tensor::tensor_Dense<double>, double> &x,
3572  view1D<matrix::Dense<double>, double> &y);
3574  const view1D<tensor::tensor_Dense<double>, double> &x,
3575  view1D<tensor::tensor_Dense<double>, double> &y);
3577  vector<float> &y);
3579  view1D<vector<float>, float> &y);
3581  view1D<matrix::Dense<float>, float> &y);
3583  view1D<tensor::tensor_Dense<float>, float> &y);
3585  const view1D<vector<float>, float> &x, vector<float> &y);
3587  const view1D<vector<float>, float> &x,
3588  view1D<vector<float>, float> &y);
3590  const view1D<vector<float>, float> &x,
3591  view1D<matrix::Dense<float>, float> &y);
3593  const view1D<vector<float>, float> &x,
3594  view1D<tensor::tensor_Dense<float>, float> &y);
3596  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3598  const view1D<matrix::Dense<float>, float> &x,
3599  view1D<vector<float>, float> &y);
3601  const view1D<matrix::Dense<float>, float> &x,
3602  view1D<matrix::Dense<float>, float> &y);
3604  const view1D<matrix::Dense<float>, float> &x,
3605  view1D<tensor::tensor_Dense<float>, float> &y);
3607  const view1D<tensor::tensor_Dense<float>, float> &x,
3608  vector<float> &y);
3610  const view1D<tensor::tensor_Dense<float>, float> &x,
3611  view1D<vector<float>, float> &y);
3613  const view1D<tensor::tensor_Dense<float>, float> &x,
3614  view1D<matrix::Dense<float>, float> &y);
3616  const view1D<tensor::tensor_Dense<float>, float> &x,
3617  view1D<tensor::tensor_Dense<float>, float> &y);
3637  vector<double> &y);
3639  view1D<vector<double>, double> &y);
3641  view1D<matrix::Dense<double>, double> &y);
3643  view1D<tensor::tensor_Dense<double>, double> &y);
3645  const view1D<vector<double>, double> &x, vector<double> &y);
3647  const view1D<vector<double>, double> &x,
3648  view1D<vector<double>, double> &y);
3650  const view1D<vector<double>, double> &x,
3651  view1D<matrix::Dense<double>, double> &y);
3653  const view1D<vector<double>, double> &x,
3654  view1D<tensor::tensor_Dense<double>, double> &y);
3656  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
3658  const view1D<matrix::Dense<double>, double> &x,
3659  view1D<vector<double>, double> &y);
3661  const view1D<matrix::Dense<double>, double> &x,
3662  view1D<matrix::Dense<double>, double> &y);
3664  const view1D<matrix::Dense<double>, double> &x,
3665  view1D<tensor::tensor_Dense<double>, double> &y);
3667  const view1D<tensor::tensor_Dense<double>, double> &x,
3668  vector<double> &y);
3670  const view1D<tensor::tensor_Dense<double>, double> &x,
3671  view1D<vector<double>, double> &y);
3673  const view1D<tensor::tensor_Dense<double>, double> &x,
3674  view1D<matrix::Dense<double>, double> &y);
3676  const view1D<tensor::tensor_Dense<double>, double> &x,
3677  view1D<tensor::tensor_Dense<double>, double> &y);
3678 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
3679  vector<float> &y);
3680 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
3681  view1D<vector<float>, float> &y);
3682 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
3683  view1D<matrix::Dense<float>, float> &y);
3684 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
3685  view1D<tensor::tensor_Dense<float>, float> &y);
3686 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
3687  vector<float> &y);
3688 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
3689  view1D<vector<float>, float> &y);
3690 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
3691  view1D<matrix::Dense<float>, float> &y);
3692 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
3693  view1D<tensor::tensor_Dense<float>, float> &y);
3695  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3697  const view1D<matrix::Dense<float>, float> &x,
3698  view1D<vector<float>, float> &y);
3700  const view1D<matrix::Dense<float>, float> &x,
3701  view1D<matrix::Dense<float>, float> &y);
3703  const view1D<matrix::Dense<float>, float> &x,
3704  view1D<tensor::tensor_Dense<float>, float> &y);
3706  const view1D<tensor::tensor_Dense<float>, float> &x,
3707  vector<float> &y);
3709  const view1D<tensor::tensor_Dense<float>, float> &x,
3710  view1D<vector<float>, float> &y);
3712  const view1D<tensor::tensor_Dense<float>, float> &x,
3713  view1D<matrix::Dense<float>, float> &y);
3715  const view1D<tensor::tensor_Dense<float>, float> &x,
3716  view1D<tensor::tensor_Dense<float>, float> &y);
3736  vector<double> &y);
3738  view1D<vector<double>, double> &y);
3740  view1D<matrix::Dense<double>, double> &y);
3742  view1D<tensor::tensor_Dense<double>, double> &y);
3744  const view1D<vector<double>, double> &x, vector<double> &y);
3746  const view1D<vector<double>, double> &x,
3747  view1D<vector<double>, double> &y);
3749  const view1D<vector<double>, double> &x,
3750  view1D<matrix::Dense<double>, double> &y);
3752  const view1D<vector<double>, double> &x,
3753  view1D<tensor::tensor_Dense<double>, double> &y);
3755  const view1D<matrix::Dense<double>, double> &x,
3756  vector<double> &y);
3758  const view1D<matrix::Dense<double>, double> &x,
3759  view1D<vector<double>, double> &y);
3761  const view1D<matrix::Dense<double>, double> &x,
3762  view1D<matrix::Dense<double>, double> &y);
3764  const view1D<matrix::Dense<double>, double> &x,
3765  view1D<tensor::tensor_Dense<double>, double> &y);
3767  const view1D<tensor::tensor_Dense<double>, double> &x,
3768  vector<double> &y);
3770  const view1D<tensor::tensor_Dense<double>, double> &x,
3771  view1D<vector<double>, double> &y);
3773  const view1D<tensor::tensor_Dense<double>, double> &x,
3774  view1D<matrix::Dense<double>, double> &y);
3776  const view1D<tensor::tensor_Dense<double>, double> &x,
3777  view1D<tensor::tensor_Dense<double>, double> &y);
3779  vector<float> &y);
3781  view1D<vector<float>, float> &y);
3783  view1D<matrix::Dense<float>, float> &y);
3785  view1D<tensor::tensor_Dense<float>, float> &y);
3787  const view1D<vector<float>, float> &x, vector<float> &y);
3789  const view1D<vector<float>, float> &x,
3790  view1D<vector<float>, float> &y);
3792  const view1D<vector<float>, float> &x,
3793  view1D<matrix::Dense<float>, float> &y);
3795  const view1D<vector<float>, float> &x,
3796  view1D<tensor::tensor_Dense<float>, float> &y);
3798  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3800  const view1D<matrix::Dense<float>, float> &x,
3801  view1D<vector<float>, float> &y);
3803  const view1D<matrix::Dense<float>, float> &x,
3804  view1D<matrix::Dense<float>, float> &y);
3806  const view1D<matrix::Dense<float>, float> &x,
3807  view1D<tensor::tensor_Dense<float>, float> &y);
3809  const view1D<tensor::tensor_Dense<float>, float> &x,
3810  vector<float> &y);
3812  const view1D<tensor::tensor_Dense<float>, float> &x,
3813  view1D<vector<float>, float> &y);
3815  const view1D<tensor::tensor_Dense<float>, float> &x,
3816  view1D<matrix::Dense<float>, float> &y);
3818  const view1D<tensor::tensor_Dense<float>, float> &x,
3819  view1D<tensor::tensor_Dense<float>, float> &y);
3839  vector<double> &y);
3841  view1D<vector<double>, double> &y);
3843  view1D<matrix::Dense<double>, double> &y);
3845  view1D<tensor::tensor_Dense<double>, double> &y);
3847  const view1D<vector<double>, double> &x, vector<double> &y);
3849  const view1D<vector<double>, double> &x,
3850  view1D<vector<double>, double> &y);
3852  const view1D<vector<double>, double> &x,
3853  view1D<matrix::Dense<double>, double> &y);
3855  const view1D<vector<double>, double> &x,
3856  view1D<tensor::tensor_Dense<double>, double> &y);
3858  const view1D<matrix::Dense<double>, double> &x,
3859  vector<double> &y);
3861  const view1D<matrix::Dense<double>, double> &x,
3862  view1D<vector<double>, double> &y);
3864  const view1D<matrix::Dense<double>, double> &x,
3865  view1D<matrix::Dense<double>, double> &y);
3867  const view1D<matrix::Dense<double>, double> &x,
3868  view1D<tensor::tensor_Dense<double>, double> &y);
3870  const view1D<tensor::tensor_Dense<double>, double> &x,
3871  vector<double> &y);
3873  const view1D<tensor::tensor_Dense<double>, double> &x,
3874  view1D<vector<double>, double> &y);
3876  const view1D<tensor::tensor_Dense<double>, double> &x,
3877  view1D<matrix::Dense<double>, double> &y);
3879  const view1D<tensor::tensor_Dense<double>, double> &x,
3880  view1D<tensor::tensor_Dense<double>, double> &y);
3882  vector<float> &y);
3884  view1D<vector<float>, float> &y);
3886  view1D<matrix::Dense<float>, float> &y);
3888  view1D<tensor::tensor_Dense<float>, float> &y);
3890  const view1D<vector<float>, float> &x, vector<float> &y);
3892  const view1D<vector<float>, float> &x,
3893  view1D<vector<float>, float> &y);
3895  const view1D<vector<float>, float> &x,
3896  view1D<matrix::Dense<float>, float> &y);
3898  const view1D<vector<float>, float> &x,
3899  view1D<tensor::tensor_Dense<float>, float> &y);
3901  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
3903  const view1D<matrix::Dense<float>, float> &x,
3904  view1D<vector<float>, float> &y);
3906  const view1D<matrix::Dense<float>, float> &x,
3907  view1D<matrix::Dense<float>, float> &y);
3909  const view1D<matrix::Dense<float>, float> &x,
3910  view1D<tensor::tensor_Dense<float>, float> &y);
3912  const view1D<tensor::tensor_Dense<float>, float> &x,
3913  vector<float> &y);
3915  const view1D<tensor::tensor_Dense<float>, float> &x,
3916  view1D<vector<float>, float> &y);
3918  const view1D<tensor::tensor_Dense<float>, float> &x,
3919  view1D<matrix::Dense<float>, float> &y);
3921  const view1D<tensor::tensor_Dense<float>, float> &x,
3922  view1D<tensor::tensor_Dense<float>, float> &y);
3941  vector<double> &y);
3943  view1D<vector<double>, double> &y);
3945  view1D<matrix::Dense<double>, double> &y);
3947  view1D<tensor::tensor_Dense<double>, double> &y);
3949  const view1D<vector<double>, double> &x, vector<double> &y);
3951  const view1D<vector<double>, double> &x,
3952  view1D<vector<double>, double> &y);
3954  const view1D<vector<double>, double> &x,
3955  view1D<matrix::Dense<double>, double> &y);
3957  const view1D<vector<double>, double> &x,
3958  view1D<tensor::tensor_Dense<double>, double> &y);
3960  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
3962  const view1D<matrix::Dense<double>, double> &x,
3963  view1D<vector<double>, double> &y);
3965  const view1D<matrix::Dense<double>, double> &x,
3966  view1D<matrix::Dense<double>, double> &y);
3968  const view1D<matrix::Dense<double>, double> &x,
3969  view1D<tensor::tensor_Dense<double>, double> &y);
3971  const view1D<tensor::tensor_Dense<double>, double> &x,
3972  vector<double> &y);
3974  const view1D<tensor::tensor_Dense<double>, double> &x,
3975  view1D<vector<double>, double> &y);
3977  const view1D<tensor::tensor_Dense<double>, double> &x,
3978  view1D<matrix::Dense<double>, double> &y);
3980  const view1D<tensor::tensor_Dense<double>, double> &x,
3981  view1D<tensor::tensor_Dense<double>, double> &y);
3983  vector<float> &y);
3985  view1D<vector<float>, float> &y);
3987  view1D<matrix::Dense<float>, float> &y);
3989  view1D<tensor::tensor_Dense<float>, float> &y);
3991  const view1D<vector<float>, float> &x, vector<float> &y);
3993  const view1D<vector<float>, float> &x,
3994  view1D<vector<float>, float> &y);
3996  const view1D<vector<float>, float> &x,
3997  view1D<matrix::Dense<float>, float> &y);
3999  const view1D<vector<float>, float> &x,
4000  view1D<tensor::tensor_Dense<float>, float> &y);
4002  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4004  const view1D<matrix::Dense<float>, float> &x,
4005  view1D<vector<float>, float> &y);
4007  const view1D<matrix::Dense<float>, float> &x,
4008  view1D<matrix::Dense<float>, float> &y);
4010  const view1D<matrix::Dense<float>, float> &x,
4011  view1D<tensor::tensor_Dense<float>, float> &y);
4013  const view1D<tensor::tensor_Dense<float>, float> &x,
4014  vector<float> &y);
4016  const view1D<tensor::tensor_Dense<float>, float> &x,
4017  view1D<vector<float>, float> &y);
4019  const view1D<tensor::tensor_Dense<float>, float> &x,
4020  view1D<matrix::Dense<float>, float> &y);
4022  const view1D<tensor::tensor_Dense<float>, float> &x,
4023  view1D<tensor::tensor_Dense<float>, float> &y);
4042  vector<double> &y);
4044  view1D<vector<double>, double> &y);
4046  view1D<matrix::Dense<double>, double> &y);
4048  view1D<tensor::tensor_Dense<double>, double> &y);
4050  const view1D<vector<double>, double> &x, vector<double> &y);
4052  const view1D<vector<double>, double> &x,
4053  view1D<vector<double>, double> &y);
4055  const view1D<vector<double>, double> &x,
4056  view1D<matrix::Dense<double>, double> &y);
4058  const view1D<vector<double>, double> &x,
4059  view1D<tensor::tensor_Dense<double>, double> &y);
4061  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
4063  const view1D<matrix::Dense<double>, double> &x,
4064  view1D<vector<double>, double> &y);
4066  const view1D<matrix::Dense<double>, double> &x,
4067  view1D<matrix::Dense<double>, double> &y);
4069  const view1D<matrix::Dense<double>, double> &x,
4070  view1D<tensor::tensor_Dense<double>, double> &y);
4072  const view1D<tensor::tensor_Dense<double>, double> &x,
4073  vector<double> &y);
4075  const view1D<tensor::tensor_Dense<double>, double> &x,
4076  view1D<vector<double>, double> &y);
4078  const view1D<tensor::tensor_Dense<double>, double> &x,
4079  view1D<matrix::Dense<double>, double> &y);
4081  const view1D<tensor::tensor_Dense<double>, double> &x,
4082  view1D<tensor::tensor_Dense<double>, double> &y);
4084  vector<float> &y);
4086  view1D<vector<float>, float> &y);
4088  view1D<matrix::Dense<float>, float> &y);
4090  view1D<tensor::tensor_Dense<float>, float> &y);
4092  const view1D<vector<float>, float> &x, vector<float> &y);
4094  const view1D<vector<float>, float> &x,
4095  view1D<vector<float>, float> &y);
4097  const view1D<vector<float>, float> &x,
4098  view1D<matrix::Dense<float>, float> &y);
4100  const view1D<vector<float>, float> &x,
4101  view1D<tensor::tensor_Dense<float>, float> &y);
4103  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
4105  const view1D<matrix::Dense<float>, float> &x,
4106  view1D<vector<float>, float> &y);
4108  const view1D<matrix::Dense<float>, float> &x,
4109  view1D<matrix::Dense<float>, float> &y);
4111  const view1D<matrix::Dense<float>, float> &x,
4112  view1D<tensor::tensor_Dense<float>, float> &y);
4114  const view1D<tensor::tensor_Dense<float>, float> &x,
4115  vector<float> &y);
4117  const view1D<tensor::tensor_Dense<float>, float> &x,
4118  view1D<vector<float>, float> &y);
4120  const view1D<tensor::tensor_Dense<float>, float> &x,
4121  view1D<matrix::Dense<float>, float> &y);
4123  const view1D<tensor::tensor_Dense<float>, float> &x,
4124  view1D<tensor::tensor_Dense<float>, float> &y);
4127 } // namespace blas
4128 } // 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