monolish  0.17.3-dev.16
MONOlithic LInear equation Solvers for Highly-parallel architecture
monolish_matrix_blas.hpp
Go to the documentation of this file.
1 // this code is generated by gen_matrix_blas.sh
2 #pragma once
3 #include "../common/monolish_common.hpp"
4 
5 namespace monolish {
11 namespace blas {
12 
35  view_Dense<vector<double>, double> &C);
37  view_Dense<matrix::Dense<double>, double> &C);
40 void copy(const view_Dense<vector<double>, double> &A,
42 void copy(const view_Dense<vector<double>, double> &A,
43  view_Dense<vector<double>, double> &C);
44 void copy(const view_Dense<vector<double>, double> &A,
45  view_Dense<matrix::Dense<double>, double> &C);
46 void copy(const view_Dense<vector<double>, double> &A,
48 void copy(const view_Dense<matrix::Dense<double>, double> &A,
50 void copy(const view_Dense<matrix::Dense<double>, double> &A,
51  view_Dense<vector<double>, double> &C);
52 void copy(const view_Dense<matrix::Dense<double>, double> &A,
53  view_Dense<matrix::Dense<double>, double> &C);
54 void copy(const view_Dense<matrix::Dense<double>, double> &A,
59  view_Dense<vector<double>, double> &C);
61  view_Dense<matrix::Dense<double>, double> &C);
66 void copy(const matrix::Dense<float> &A,
67  view_Dense<matrix::Dense<float>, float> &C);
68 void copy(const matrix::Dense<float> &A,
71 void copy(const view_Dense<vector<float>, float> &A,
72  view_Dense<vector<float>, float> &C);
73 void copy(const view_Dense<vector<float>, float> &A,
74  view_Dense<matrix::Dense<float>, float> &C);
75 void copy(const view_Dense<vector<float>, float> &A,
77 void copy(const view_Dense<matrix::Dense<float>, float> &A,
79 void copy(const view_Dense<matrix::Dense<float>, float> &A,
80  view_Dense<vector<float>, float> &C);
81 void copy(const view_Dense<matrix::Dense<float>, float> &A,
82  view_Dense<matrix::Dense<float>, float> &C);
83 void copy(const view_Dense<matrix::Dense<float>, float> &A,
88  view_Dense<vector<float>, float> &C);
90  view_Dense<matrix::Dense<float>, float> &C);
152 void mscal(const double alpha, matrix::Dense<double> &A);
153 void mscal(const double alpha, view_Dense<vector<double>, double> &A);
154 void mscal(const double alpha, view_Dense<matrix::Dense<double>, double> &A);
155 void mscal(const double alpha,
157 void mscal(const float alpha, matrix::Dense<float> &A);
158 void mscal(const float alpha, view_Dense<vector<float>, float> &A);
159 void mscal(const float alpha, view_Dense<matrix::Dense<float>, float> &A);
160 void mscal(const float alpha,
179 void mscal(const double alpha, matrix::CRS<double> &A);
180 void mscal(const float alpha, matrix::CRS<float> &A);
199 void times(const double alpha, const matrix::Dense<double> &A,
201 void times(const double alpha, const matrix::Dense<double> &A,
202  view_Dense<vector<double>, double> &C);
203 void times(const double alpha, const matrix::Dense<double> &A,
204  view_Dense<matrix::Dense<double>, double> &C);
205 void times(const double alpha, const matrix::Dense<double> &A,
207 void times(const double alpha, const view_Dense<vector<double>, double> &A,
209 void times(const double alpha, const view_Dense<vector<double>, double> &A,
210  view_Dense<vector<double>, double> &C);
211 void times(const double alpha, const view_Dense<vector<double>, double> &A,
212  view_Dense<matrix::Dense<double>, double> &C);
213 void times(const double alpha, const view_Dense<vector<double>, double> &A,
215 void times(const double alpha,
216  const view_Dense<matrix::Dense<double>, double> &A,
218 void times(const double alpha,
219  const view_Dense<matrix::Dense<double>, double> &A,
220  view_Dense<vector<double>, double> &C);
221 void times(const double alpha,
222  const view_Dense<matrix::Dense<double>, double> &A,
223  view_Dense<matrix::Dense<double>, double> &C);
224 void times(const double alpha,
225  const view_Dense<matrix::Dense<double>, double> &A,
227 void times(const double alpha,
228  const view_Dense<tensor::tensor_Dense<double>, double> &A,
230 void times(const double alpha,
231  const view_Dense<tensor::tensor_Dense<double>, double> &A,
232  view_Dense<vector<double>, double> &C);
233 void times(const double alpha,
234  const view_Dense<tensor::tensor_Dense<double>, double> &A,
235  view_Dense<matrix::Dense<double>, double> &C);
236 void times(const double alpha,
237  const view_Dense<tensor::tensor_Dense<double>, double> &A,
239 void times(const float alpha, const matrix::Dense<float> &A,
241 void times(const float alpha, const matrix::Dense<float> &A,
242  view_Dense<vector<float>, float> &C);
243 void times(const float alpha, const matrix::Dense<float> &A,
244  view_Dense<matrix::Dense<float>, float> &C);
245 void times(const float alpha, const matrix::Dense<float> &A,
247 void times(const float alpha, const view_Dense<vector<float>, float> &A,
249 void times(const float alpha, const view_Dense<vector<float>, float> &A,
250  view_Dense<vector<float>, float> &C);
251 void times(const float alpha, const view_Dense<vector<float>, float> &A,
252  view_Dense<matrix::Dense<float>, float> &C);
253 void times(const float alpha, const view_Dense<vector<float>, float> &A,
255 void times(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
257 void times(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
258  view_Dense<vector<float>, float> &C);
259 void times(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
260  view_Dense<matrix::Dense<float>, float> &C);
261 void times(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
263 void times(const float alpha,
264  const view_Dense<tensor::tensor_Dense<float>, float> &A,
266 void times(const float alpha,
267  const view_Dense<tensor::tensor_Dense<float>, float> &A,
268  view_Dense<vector<float>, float> &C);
269 void times(const float alpha,
270  const view_Dense<tensor::tensor_Dense<float>, float> &A,
271  view_Dense<matrix::Dense<float>, float> &C);
272 void times(const float alpha,
273  const view_Dense<tensor::tensor_Dense<float>, float> &A,
295 void times(const double alpha, const matrix::CRS<double> &A,
297 void times(const float alpha, const matrix::CRS<float> &A,
298  matrix::CRS<float> &C);
317 void adds(const double alpha, const matrix::Dense<double> &A,
319 void adds(const double alpha, const matrix::Dense<double> &A,
320  view_Dense<vector<double>, double> &C);
321 void adds(const double alpha, const matrix::Dense<double> &A,
322  view_Dense<matrix::Dense<double>, double> &C);
323 void adds(const double alpha, const matrix::Dense<double> &A,
325 void adds(const double alpha, const view_Dense<vector<double>, double> &A,
327 void adds(const double alpha, const view_Dense<vector<double>, double> &A,
328  view_Dense<vector<double>, double> &C);
329 void adds(const double alpha, const view_Dense<vector<double>, double> &A,
330  view_Dense<matrix::Dense<double>, double> &C);
331 void adds(const double alpha, const view_Dense<vector<double>, double> &A,
333 void adds(const double alpha,
334  const view_Dense<matrix::Dense<double>, double> &A,
336 void adds(const double alpha,
337  const view_Dense<matrix::Dense<double>, double> &A,
338  view_Dense<vector<double>, double> &C);
339 void adds(const double alpha,
340  const view_Dense<matrix::Dense<double>, double> &A,
341  view_Dense<matrix::Dense<double>, double> &C);
342 void adds(const double alpha,
343  const view_Dense<matrix::Dense<double>, double> &A,
345 void adds(const double alpha,
346  const view_Dense<tensor::tensor_Dense<double>, double> &A,
348 void adds(const double alpha,
349  const view_Dense<tensor::tensor_Dense<double>, double> &A,
350  view_Dense<vector<double>, double> &C);
351 void adds(const double alpha,
352  const view_Dense<tensor::tensor_Dense<double>, double> &A,
353  view_Dense<matrix::Dense<double>, double> &C);
354 void adds(const double alpha,
355  const view_Dense<tensor::tensor_Dense<double>, double> &A,
357 void adds(const float alpha, const matrix::Dense<float> &A,
359 void adds(const float alpha, const matrix::Dense<float> &A,
360  view_Dense<vector<float>, float> &C);
361 void adds(const float alpha, const matrix::Dense<float> &A,
362  view_Dense<matrix::Dense<float>, float> &C);
363 void adds(const float alpha, const matrix::Dense<float> &A,
365 void adds(const float alpha, const view_Dense<vector<float>, float> &A,
367 void adds(const float alpha, const view_Dense<vector<float>, float> &A,
368  view_Dense<vector<float>, float> &C);
369 void adds(const float alpha, const view_Dense<vector<float>, float> &A,
370  view_Dense<matrix::Dense<float>, float> &C);
371 void adds(const float alpha, const view_Dense<vector<float>, float> &A,
373 void adds(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
375 void adds(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
376  view_Dense<vector<float>, float> &C);
377 void adds(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
378  view_Dense<matrix::Dense<float>, float> &C);
379 void adds(const float alpha, const view_Dense<matrix::Dense<float>, float> &A,
381 void adds(const float alpha,
382  const view_Dense<tensor::tensor_Dense<float>, float> &A,
384 void adds(const float alpha,
385  const view_Dense<tensor::tensor_Dense<float>, float> &A,
386  view_Dense<vector<float>, float> &C);
387 void adds(const float alpha,
388  const view_Dense<tensor::tensor_Dense<float>, float> &A,
389  view_Dense<matrix::Dense<float>, float> &C);
390 void adds(const float alpha,
391  const view_Dense<tensor::tensor_Dense<float>, float> &A,
414  view_Dense<vector<double>, double> &C);
416  view_Dense<matrix::Dense<double>, double> &C);
420  const view_Dense<vector<double>, double> &B,
423  const view_Dense<vector<double>, double> &B,
424  view_Dense<vector<double>, double> &C);
426  const view_Dense<vector<double>, double> &B,
427  view_Dense<matrix::Dense<double>, double> &C);
429  const view_Dense<vector<double>, double> &B,
432  const view_Dense<matrix::Dense<double>, double> &B,
435  const view_Dense<matrix::Dense<double>, double> &B,
436  view_Dense<vector<double>, double> &C);
438  const view_Dense<matrix::Dense<double>, double> &B,
439  view_Dense<matrix::Dense<double>, double> &C);
441  const view_Dense<matrix::Dense<double>, double> &B,
444  const view_Dense<tensor::tensor_Dense<double>, double> &B,
447  const view_Dense<tensor::tensor_Dense<double>, double> &B,
448  view_Dense<vector<double>, double> &C);
450  const view_Dense<tensor::tensor_Dense<double>, double> &B,
451  view_Dense<matrix::Dense<double>, double> &C);
453  const view_Dense<tensor::tensor_Dense<double>, double> &B,
455 void matadd(const view_Dense<vector<double>, double> &A,
457 void matadd(const view_Dense<vector<double>, double> &A,
458  const matrix::Dense<double> &B,
459  view_Dense<vector<double>, double> &C);
460 void matadd(const view_Dense<vector<double>, double> &A,
461  const matrix::Dense<double> &B,
462  view_Dense<matrix::Dense<double>, double> &C);
463 void matadd(const view_Dense<vector<double>, double> &A,
464  const matrix::Dense<double> &B,
466 void matadd(const view_Dense<vector<double>, double> &A,
467  const view_Dense<vector<double>, double> &B,
469 void matadd(const view_Dense<vector<double>, double> &A,
470  const view_Dense<vector<double>, double> &B,
471  view_Dense<vector<double>, double> &C);
472 void matadd(const view_Dense<vector<double>, double> &A,
473  const view_Dense<vector<double>, double> &B,
474  view_Dense<matrix::Dense<double>, double> &C);
475 void matadd(const view_Dense<vector<double>, double> &A,
476  const view_Dense<vector<double>, double> &B,
478 void matadd(const view_Dense<vector<double>, double> &A,
479  const view_Dense<matrix::Dense<double>, double> &B,
481 void matadd(const view_Dense<vector<double>, double> &A,
482  const view_Dense<matrix::Dense<double>, double> &B,
483  view_Dense<vector<double>, double> &C);
484 void matadd(const view_Dense<vector<double>, double> &A,
485  const view_Dense<matrix::Dense<double>, double> &B,
486  view_Dense<matrix::Dense<double>, double> &C);
487 void matadd(const view_Dense<vector<double>, double> &A,
488  const view_Dense<matrix::Dense<double>, double> &B,
490 void matadd(const view_Dense<vector<double>, double> &A,
491  const view_Dense<tensor::tensor_Dense<double>, double> &B,
493 void matadd(const view_Dense<vector<double>, double> &A,
494  const view_Dense<tensor::tensor_Dense<double>, double> &B,
495  view_Dense<vector<double>, double> &C);
496 void matadd(const view_Dense<vector<double>, double> &A,
497  const view_Dense<tensor::tensor_Dense<double>, double> &B,
498  view_Dense<matrix::Dense<double>, double> &C);
499 void matadd(const view_Dense<vector<double>, double> &A,
500  const view_Dense<tensor::tensor_Dense<double>, double> &B,
502 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
504 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
505  const matrix::Dense<double> &B,
506  view_Dense<vector<double>, double> &C);
507 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
508  const matrix::Dense<double> &B,
509  view_Dense<matrix::Dense<double>, double> &C);
510 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
511  const matrix::Dense<double> &B,
513 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
514  const view_Dense<vector<double>, double> &B,
516 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
517  const view_Dense<vector<double>, double> &B,
518  view_Dense<vector<double>, double> &C);
519 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
520  const view_Dense<vector<double>, double> &B,
521  view_Dense<matrix::Dense<double>, double> &C);
522 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
523  const view_Dense<vector<double>, double> &B,
525 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
526  const view_Dense<matrix::Dense<double>, double> &B,
528 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
529  const view_Dense<matrix::Dense<double>, double> &B,
530  view_Dense<vector<double>, double> &C);
531 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
532  const view_Dense<matrix::Dense<double>, double> &B,
533  view_Dense<matrix::Dense<double>, double> &C);
534 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
535  const view_Dense<matrix::Dense<double>, double> &B,
537 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
538  const view_Dense<tensor::tensor_Dense<double>, double> &B,
540 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
541  const view_Dense<tensor::tensor_Dense<double>, double> &B,
542  view_Dense<vector<double>, double> &C);
543 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
544  const view_Dense<tensor::tensor_Dense<double>, double> &B,
545  view_Dense<matrix::Dense<double>, double> &C);
546 void matadd(const view_Dense<matrix::Dense<double>, double> &A,
547  const view_Dense<tensor::tensor_Dense<double>, double> &B,
552  const matrix::Dense<double> &B,
553  view_Dense<vector<double>, double> &C);
555  const matrix::Dense<double> &B,
556  view_Dense<matrix::Dense<double>, double> &C);
558  const matrix::Dense<double> &B,
561  const view_Dense<vector<double>, double> &B,
564  const view_Dense<vector<double>, double> &B,
565  view_Dense<vector<double>, double> &C);
567  const view_Dense<vector<double>, double> &B,
568  view_Dense<matrix::Dense<double>, double> &C);
570  const view_Dense<vector<double>, double> &B,
573  const view_Dense<matrix::Dense<double>, double> &B,
576  const view_Dense<matrix::Dense<double>, double> &B,
577  view_Dense<vector<double>, double> &C);
579  const view_Dense<matrix::Dense<double>, double> &B,
580  view_Dense<matrix::Dense<double>, double> &C);
582  const view_Dense<matrix::Dense<double>, double> &B,
585  const view_Dense<tensor::tensor_Dense<double>, double> &B,
588  const view_Dense<tensor::tensor_Dense<double>, double> &B,
589  view_Dense<vector<double>, double> &C);
591  const view_Dense<tensor::tensor_Dense<double>, double> &B,
592  view_Dense<matrix::Dense<double>, double> &C);
594  const view_Dense<tensor::tensor_Dense<double>, double> &B,
599  view_Dense<vector<float>, float> &C);
601  view_Dense<matrix::Dense<float>, float> &C);
605  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
607  const view_Dense<vector<float>, float> &B,
608  view_Dense<vector<float>, float> &C);
610  const view_Dense<vector<float>, float> &B,
611  view_Dense<matrix::Dense<float>, float> &C);
613  const view_Dense<vector<float>, float> &B,
616  const view_Dense<matrix::Dense<float>, float> &B,
619  const view_Dense<matrix::Dense<float>, float> &B,
620  view_Dense<vector<float>, float> &C);
622  const view_Dense<matrix::Dense<float>, float> &B,
623  view_Dense<matrix::Dense<float>, float> &C);
625  const view_Dense<matrix::Dense<float>, float> &B,
628  const view_Dense<tensor::tensor_Dense<float>, float> &B,
631  const view_Dense<tensor::tensor_Dense<float>, float> &B,
632  view_Dense<vector<float>, float> &C);
634  const view_Dense<tensor::tensor_Dense<float>, float> &B,
635  view_Dense<matrix::Dense<float>, float> &C);
637  const view_Dense<tensor::tensor_Dense<float>, float> &B,
639 void matadd(const view_Dense<vector<float>, float> &A,
641 void matadd(const view_Dense<vector<float>, float> &A,
642  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
643 void matadd(const view_Dense<vector<float>, float> &A,
644  const matrix::Dense<float> &B,
645  view_Dense<matrix::Dense<float>, float> &C);
646 void matadd(const view_Dense<vector<float>, float> &A,
647  const matrix::Dense<float> &B,
649 void matadd(const view_Dense<vector<float>, float> &A,
650  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
651 void matadd(const view_Dense<vector<float>, float> &A,
652  const view_Dense<vector<float>, float> &B,
653  view_Dense<vector<float>, float> &C);
654 void matadd(const view_Dense<vector<float>, float> &A,
655  const view_Dense<vector<float>, float> &B,
656  view_Dense<matrix::Dense<float>, float> &C);
657 void matadd(const view_Dense<vector<float>, float> &A,
658  const view_Dense<vector<float>, float> &B,
660 void matadd(const view_Dense<vector<float>, float> &A,
661  const view_Dense<matrix::Dense<float>, float> &B,
663 void matadd(const view_Dense<vector<float>, float> &A,
664  const view_Dense<matrix::Dense<float>, float> &B,
665  view_Dense<vector<float>, float> &C);
666 void matadd(const view_Dense<vector<float>, float> &A,
667  const view_Dense<matrix::Dense<float>, float> &B,
668  view_Dense<matrix::Dense<float>, float> &C);
669 void matadd(const view_Dense<vector<float>, float> &A,
670  const view_Dense<matrix::Dense<float>, float> &B,
672 void matadd(const view_Dense<vector<float>, float> &A,
673  const view_Dense<tensor::tensor_Dense<float>, float> &B,
675 void matadd(const view_Dense<vector<float>, float> &A,
676  const view_Dense<tensor::tensor_Dense<float>, float> &B,
677  view_Dense<vector<float>, float> &C);
678 void matadd(const view_Dense<vector<float>, float> &A,
679  const view_Dense<tensor::tensor_Dense<float>, float> &B,
680  view_Dense<matrix::Dense<float>, float> &C);
681 void matadd(const view_Dense<vector<float>, float> &A,
682  const view_Dense<tensor::tensor_Dense<float>, float> &B,
684 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
686 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
687  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
688 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
689  const matrix::Dense<float> &B,
690  view_Dense<matrix::Dense<float>, float> &C);
691 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
692  const matrix::Dense<float> &B,
694 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
695  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
696 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
697  const view_Dense<vector<float>, float> &B,
698  view_Dense<vector<float>, float> &C);
699 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
700  const view_Dense<vector<float>, float> &B,
701  view_Dense<matrix::Dense<float>, float> &C);
702 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
703  const view_Dense<vector<float>, float> &B,
705 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
706  const view_Dense<matrix::Dense<float>, float> &B,
708 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
709  const view_Dense<matrix::Dense<float>, float> &B,
710  view_Dense<vector<float>, float> &C);
711 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
712  const view_Dense<matrix::Dense<float>, float> &B,
713  view_Dense<matrix::Dense<float>, float> &C);
714 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
715  const view_Dense<matrix::Dense<float>, float> &B,
717 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
718  const view_Dense<tensor::tensor_Dense<float>, float> &B,
720 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
721  const view_Dense<tensor::tensor_Dense<float>, float> &B,
722  view_Dense<vector<float>, float> &C);
723 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
724  const view_Dense<tensor::tensor_Dense<float>, float> &B,
725  view_Dense<matrix::Dense<float>, float> &C);
726 void matadd(const view_Dense<matrix::Dense<float>, float> &A,
727  const view_Dense<tensor::tensor_Dense<float>, float> &B,
732  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
734  const matrix::Dense<float> &B,
735  view_Dense<matrix::Dense<float>, float> &C);
737  const matrix::Dense<float> &B,
740  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
742  const view_Dense<vector<float>, float> &B,
743  view_Dense<vector<float>, float> &C);
745  const view_Dense<vector<float>, float> &B,
746  view_Dense<matrix::Dense<float>, float> &C);
748  const view_Dense<vector<float>, float> &B,
751  const view_Dense<matrix::Dense<float>, float> &B,
754  const view_Dense<matrix::Dense<float>, float> &B,
755  view_Dense<vector<float>, float> &C);
757  const view_Dense<matrix::Dense<float>, float> &B,
758  view_Dense<matrix::Dense<float>, float> &C);
760  const view_Dense<matrix::Dense<float>, float> &B,
763  const view_Dense<tensor::tensor_Dense<float>, float> &B,
766  const view_Dense<tensor::tensor_Dense<float>, float> &B,
767  view_Dense<vector<float>, float> &C);
769  const view_Dense<tensor::tensor_Dense<float>, float> &B,
770  view_Dense<matrix::Dense<float>, float> &C);
772  const view_Dense<tensor::tensor_Dense<float>, float> &B,
820  matrix::CRS<float> &C);
842  view_Dense<vector<double>, double> &C);
844  view_Dense<matrix::Dense<double>, double> &C);
848  const view_Dense<vector<double>, double> &B,
851  const view_Dense<vector<double>, double> &B,
852  view_Dense<vector<double>, double> &C);
854  const view_Dense<vector<double>, double> &B,
855  view_Dense<matrix::Dense<double>, double> &C);
857  const view_Dense<vector<double>, double> &B,
860  const view_Dense<matrix::Dense<double>, double> &B,
863  const view_Dense<matrix::Dense<double>, double> &B,
864  view_Dense<vector<double>, double> &C);
866  const view_Dense<matrix::Dense<double>, double> &B,
867  view_Dense<matrix::Dense<double>, double> &C);
869  const view_Dense<matrix::Dense<double>, double> &B,
872  const view_Dense<tensor::tensor_Dense<double>, double> &B,
875  const view_Dense<tensor::tensor_Dense<double>, double> &B,
876  view_Dense<vector<double>, double> &C);
878  const view_Dense<tensor::tensor_Dense<double>, double> &B,
879  view_Dense<matrix::Dense<double>, double> &C);
881  const view_Dense<tensor::tensor_Dense<double>, double> &B,
883 void matsub(const view_Dense<vector<double>, double> &A,
885 void matsub(const view_Dense<vector<double>, double> &A,
886  const matrix::Dense<double> &B,
887  view_Dense<vector<double>, double> &C);
888 void matsub(const view_Dense<vector<double>, double> &A,
889  const matrix::Dense<double> &B,
890  view_Dense<matrix::Dense<double>, double> &C);
891 void matsub(const view_Dense<vector<double>, double> &A,
892  const matrix::Dense<double> &B,
894 void matsub(const view_Dense<vector<double>, double> &A,
895  const view_Dense<vector<double>, double> &B,
897 void matsub(const view_Dense<vector<double>, double> &A,
898  const view_Dense<vector<double>, double> &B,
899  view_Dense<vector<double>, double> &C);
900 void matsub(const view_Dense<vector<double>, double> &A,
901  const view_Dense<vector<double>, double> &B,
902  view_Dense<matrix::Dense<double>, double> &C);
903 void matsub(const view_Dense<vector<double>, double> &A,
904  const view_Dense<vector<double>, double> &B,
906 void matsub(const view_Dense<vector<double>, double> &A,
907  const view_Dense<matrix::Dense<double>, double> &B,
909 void matsub(const view_Dense<vector<double>, double> &A,
910  const view_Dense<matrix::Dense<double>, double> &B,
911  view_Dense<vector<double>, double> &C);
912 void matsub(const view_Dense<vector<double>, double> &A,
913  const view_Dense<matrix::Dense<double>, double> &B,
914  view_Dense<matrix::Dense<double>, double> &C);
915 void matsub(const view_Dense<vector<double>, double> &A,
916  const view_Dense<matrix::Dense<double>, double> &B,
918 void matsub(const view_Dense<vector<double>, double> &A,
919  const view_Dense<tensor::tensor_Dense<double>, double> &B,
921 void matsub(const view_Dense<vector<double>, double> &A,
922  const view_Dense<tensor::tensor_Dense<double>, double> &B,
923  view_Dense<vector<double>, double> &C);
924 void matsub(const view_Dense<vector<double>, double> &A,
925  const view_Dense<tensor::tensor_Dense<double>, double> &B,
926  view_Dense<matrix::Dense<double>, double> &C);
927 void matsub(const view_Dense<vector<double>, double> &A,
928  const view_Dense<tensor::tensor_Dense<double>, double> &B,
930 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
932 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
933  const matrix::Dense<double> &B,
934  view_Dense<vector<double>, double> &C);
935 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
936  const matrix::Dense<double> &B,
937  view_Dense<matrix::Dense<double>, double> &C);
938 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
939  const matrix::Dense<double> &B,
941 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
942  const view_Dense<vector<double>, double> &B,
944 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
945  const view_Dense<vector<double>, double> &B,
946  view_Dense<vector<double>, double> &C);
947 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
948  const view_Dense<vector<double>, double> &B,
949  view_Dense<matrix::Dense<double>, double> &C);
950 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
951  const view_Dense<vector<double>, double> &B,
953 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
954  const view_Dense<matrix::Dense<double>, double> &B,
956 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
957  const view_Dense<matrix::Dense<double>, double> &B,
958  view_Dense<vector<double>, double> &C);
959 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
960  const view_Dense<matrix::Dense<double>, double> &B,
961  view_Dense<matrix::Dense<double>, double> &C);
962 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
963  const view_Dense<matrix::Dense<double>, double> &B,
965 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
966  const view_Dense<tensor::tensor_Dense<double>, double> &B,
968 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
969  const view_Dense<tensor::tensor_Dense<double>, double> &B,
970  view_Dense<vector<double>, double> &C);
971 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
972  const view_Dense<tensor::tensor_Dense<double>, double> &B,
973  view_Dense<matrix::Dense<double>, double> &C);
974 void matsub(const view_Dense<matrix::Dense<double>, double> &A,
975  const view_Dense<tensor::tensor_Dense<double>, double> &B,
980  const matrix::Dense<double> &B,
981  view_Dense<vector<double>, double> &C);
983  const matrix::Dense<double> &B,
984  view_Dense<matrix::Dense<double>, double> &C);
986  const matrix::Dense<double> &B,
989  const view_Dense<vector<double>, double> &B,
992  const view_Dense<vector<double>, double> &B,
993  view_Dense<vector<double>, double> &C);
995  const view_Dense<vector<double>, double> &B,
996  view_Dense<matrix::Dense<double>, double> &C);
998  const view_Dense<vector<double>, double> &B,
1001  const view_Dense<matrix::Dense<double>, double> &B,
1004  const view_Dense<matrix::Dense<double>, double> &B,
1005  view_Dense<vector<double>, double> &C);
1007  const view_Dense<matrix::Dense<double>, double> &B,
1008  view_Dense<matrix::Dense<double>, double> &C);
1010  const view_Dense<matrix::Dense<double>, double> &B,
1013  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1016  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1017  view_Dense<vector<double>, double> &C);
1019  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1020  view_Dense<matrix::Dense<double>, double> &C);
1022  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1027  view_Dense<vector<float>, float> &C);
1029  view_Dense<matrix::Dense<float>, float> &C);
1033  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1035  const view_Dense<vector<float>, float> &B,
1036  view_Dense<vector<float>, float> &C);
1038  const view_Dense<vector<float>, float> &B,
1039  view_Dense<matrix::Dense<float>, float> &C);
1041  const view_Dense<vector<float>, float> &B,
1044  const view_Dense<matrix::Dense<float>, float> &B,
1047  const view_Dense<matrix::Dense<float>, float> &B,
1048  view_Dense<vector<float>, float> &C);
1050  const view_Dense<matrix::Dense<float>, float> &B,
1051  view_Dense<matrix::Dense<float>, float> &C);
1053  const view_Dense<matrix::Dense<float>, float> &B,
1056  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1059  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1060  view_Dense<vector<float>, float> &C);
1062  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1063  view_Dense<matrix::Dense<float>, float> &C);
1065  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1067 void matsub(const view_Dense<vector<float>, float> &A,
1069 void matsub(const view_Dense<vector<float>, float> &A,
1070  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1071 void matsub(const view_Dense<vector<float>, float> &A,
1072  const matrix::Dense<float> &B,
1073  view_Dense<matrix::Dense<float>, float> &C);
1074 void matsub(const view_Dense<vector<float>, float> &A,
1075  const matrix::Dense<float> &B,
1077 void matsub(const view_Dense<vector<float>, float> &A,
1078  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1079 void matsub(const view_Dense<vector<float>, float> &A,
1080  const view_Dense<vector<float>, float> &B,
1081  view_Dense<vector<float>, float> &C);
1082 void matsub(const view_Dense<vector<float>, float> &A,
1083  const view_Dense<vector<float>, float> &B,
1084  view_Dense<matrix::Dense<float>, float> &C);
1085 void matsub(const view_Dense<vector<float>, float> &A,
1086  const view_Dense<vector<float>, float> &B,
1088 void matsub(const view_Dense<vector<float>, float> &A,
1089  const view_Dense<matrix::Dense<float>, float> &B,
1091 void matsub(const view_Dense<vector<float>, float> &A,
1092  const view_Dense<matrix::Dense<float>, float> &B,
1093  view_Dense<vector<float>, float> &C);
1094 void matsub(const view_Dense<vector<float>, float> &A,
1095  const view_Dense<matrix::Dense<float>, float> &B,
1096  view_Dense<matrix::Dense<float>, float> &C);
1097 void matsub(const view_Dense<vector<float>, float> &A,
1098  const view_Dense<matrix::Dense<float>, float> &B,
1100 void matsub(const view_Dense<vector<float>, float> &A,
1101  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1103 void matsub(const view_Dense<vector<float>, float> &A,
1104  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1105  view_Dense<vector<float>, float> &C);
1106 void matsub(const view_Dense<vector<float>, float> &A,
1107  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1108  view_Dense<matrix::Dense<float>, float> &C);
1109 void matsub(const view_Dense<vector<float>, float> &A,
1110  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1115  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1117  const matrix::Dense<float> &B,
1118  view_Dense<matrix::Dense<float>, float> &C);
1120  const matrix::Dense<float> &B,
1123  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1125  const view_Dense<vector<float>, float> &B,
1126  view_Dense<vector<float>, float> &C);
1128  const view_Dense<vector<float>, float> &B,
1129  view_Dense<matrix::Dense<float>, float> &C);
1131  const view_Dense<vector<float>, float> &B,
1134  const view_Dense<matrix::Dense<float>, float> &B,
1137  const view_Dense<matrix::Dense<float>, float> &B,
1138  view_Dense<vector<float>, float> &C);
1140  const view_Dense<matrix::Dense<float>, float> &B,
1141  view_Dense<matrix::Dense<float>, float> &C);
1143  const view_Dense<matrix::Dense<float>, float> &B,
1146  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1149  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1150  view_Dense<vector<float>, float> &C);
1152  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1153  view_Dense<matrix::Dense<float>, float> &C);
1155  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1160  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1162  const matrix::Dense<float> &B,
1163  view_Dense<matrix::Dense<float>, float> &C);
1165  const matrix::Dense<float> &B,
1168  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1170  const view_Dense<vector<float>, float> &B,
1171  view_Dense<vector<float>, float> &C);
1173  const view_Dense<vector<float>, float> &B,
1174  view_Dense<matrix::Dense<float>, float> &C);
1176  const view_Dense<vector<float>, float> &B,
1179  const view_Dense<matrix::Dense<float>, float> &B,
1182  const view_Dense<matrix::Dense<float>, float> &B,
1183  view_Dense<vector<float>, float> &C);
1185  const view_Dense<matrix::Dense<float>, float> &B,
1186  view_Dense<matrix::Dense<float>, float> &C);
1188  const view_Dense<matrix::Dense<float>, float> &B,
1191  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1194  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1195  view_Dense<vector<float>, float> &C);
1197  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1198  view_Dense<matrix::Dense<float>, float> &C);
1200  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1247  matrix::CRS<double> &C);
1249  matrix::CRS<float> &C);
1271  view_Dense<vector<double>, double> &C);
1273  view_Dense<matrix::Dense<double>, double> &C);
1277  const view_Dense<vector<double>, double> &B,
1280  const view_Dense<vector<double>, double> &B,
1281  view_Dense<vector<double>, double> &C);
1283  const view_Dense<vector<double>, double> &B,
1284  view_Dense<matrix::Dense<double>, double> &C);
1286  const view_Dense<vector<double>, double> &B,
1289  const view_Dense<matrix::Dense<double>, double> &B,
1292  const view_Dense<matrix::Dense<double>, double> &B,
1293  view_Dense<vector<double>, double> &C);
1295  const view_Dense<matrix::Dense<double>, double> &B,
1296  view_Dense<matrix::Dense<double>, double> &C);
1298  const view_Dense<matrix::Dense<double>, double> &B,
1301  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1304  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1305  view_Dense<vector<double>, double> &C);
1307  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1308  view_Dense<matrix::Dense<double>, double> &C);
1310  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1312 void matmul(const view_Dense<vector<double>, double> &A,
1314 void matmul(const view_Dense<vector<double>, double> &A,
1315  const matrix::Dense<double> &B,
1316  view_Dense<vector<double>, double> &C);
1317 void matmul(const view_Dense<vector<double>, double> &A,
1318  const matrix::Dense<double> &B,
1319  view_Dense<matrix::Dense<double>, double> &C);
1320 void matmul(const view_Dense<vector<double>, double> &A,
1321  const matrix::Dense<double> &B,
1323 void matmul(const view_Dense<vector<double>, double> &A,
1324  const view_Dense<vector<double>, double> &B,
1326 void matmul(const view_Dense<vector<double>, double> &A,
1327  const view_Dense<vector<double>, double> &B,
1328  view_Dense<vector<double>, double> &C);
1329 void matmul(const view_Dense<vector<double>, double> &A,
1330  const view_Dense<vector<double>, double> &B,
1331  view_Dense<matrix::Dense<double>, double> &C);
1332 void matmul(const view_Dense<vector<double>, double> &A,
1333  const view_Dense<vector<double>, double> &B,
1335 void matmul(const view_Dense<vector<double>, double> &A,
1336  const view_Dense<matrix::Dense<double>, double> &B,
1338 void matmul(const view_Dense<vector<double>, double> &A,
1339  const view_Dense<matrix::Dense<double>, double> &B,
1340  view_Dense<vector<double>, double> &C);
1341 void matmul(const view_Dense<vector<double>, double> &A,
1342  const view_Dense<matrix::Dense<double>, double> &B,
1343  view_Dense<matrix::Dense<double>, double> &C);
1344 void matmul(const view_Dense<vector<double>, double> &A,
1345  const view_Dense<matrix::Dense<double>, double> &B,
1347 void matmul(const view_Dense<vector<double>, double> &A,
1348  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1350 void matmul(const view_Dense<vector<double>, double> &A,
1351  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1352  view_Dense<vector<double>, double> &C);
1353 void matmul(const view_Dense<vector<double>, double> &A,
1354  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1355  view_Dense<matrix::Dense<double>, double> &C);
1356 void matmul(const view_Dense<vector<double>, double> &A,
1357  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1359 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1361 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1362  const matrix::Dense<double> &B,
1363  view_Dense<vector<double>, double> &C);
1364 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1365  const matrix::Dense<double> &B,
1366  view_Dense<matrix::Dense<double>, double> &C);
1367 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1368  const matrix::Dense<double> &B,
1370 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1371  const view_Dense<vector<double>, double> &B,
1373 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1374  const view_Dense<vector<double>, double> &B,
1375  view_Dense<vector<double>, double> &C);
1376 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1377  const view_Dense<vector<double>, double> &B,
1378  view_Dense<matrix::Dense<double>, double> &C);
1379 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1380  const view_Dense<vector<double>, double> &B,
1382 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1383  const view_Dense<matrix::Dense<double>, double> &B,
1385 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1386  const view_Dense<matrix::Dense<double>, double> &B,
1387  view_Dense<vector<double>, double> &C);
1388 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1389  const view_Dense<matrix::Dense<double>, double> &B,
1390  view_Dense<matrix::Dense<double>, double> &C);
1391 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1392  const view_Dense<matrix::Dense<double>, double> &B,
1394 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1395  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1397 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1398  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1399  view_Dense<vector<double>, double> &C);
1400 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1401  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1402  view_Dense<matrix::Dense<double>, double> &C);
1403 void matmul(const view_Dense<matrix::Dense<double>, double> &A,
1404  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1409  const matrix::Dense<double> &B,
1410  view_Dense<vector<double>, double> &C);
1412  const matrix::Dense<double> &B,
1413  view_Dense<matrix::Dense<double>, double> &C);
1415  const matrix::Dense<double> &B,
1418  const view_Dense<vector<double>, double> &B,
1421  const view_Dense<vector<double>, double> &B,
1422  view_Dense<vector<double>, double> &C);
1424  const view_Dense<vector<double>, double> &B,
1425  view_Dense<matrix::Dense<double>, double> &C);
1427  const view_Dense<vector<double>, double> &B,
1430  const view_Dense<matrix::Dense<double>, double> &B,
1433  const view_Dense<matrix::Dense<double>, double> &B,
1434  view_Dense<vector<double>, double> &C);
1436  const view_Dense<matrix::Dense<double>, double> &B,
1437  view_Dense<matrix::Dense<double>, double> &C);
1439  const view_Dense<matrix::Dense<double>, double> &B,
1442  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1445  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1446  view_Dense<vector<double>, double> &C);
1448  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1449  view_Dense<matrix::Dense<double>, double> &C);
1451  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1456  view_Dense<vector<float>, float> &C);
1458  view_Dense<matrix::Dense<float>, float> &C);
1462  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1464  const view_Dense<vector<float>, float> &B,
1465  view_Dense<vector<float>, float> &C);
1467  const view_Dense<vector<float>, float> &B,
1468  view_Dense<matrix::Dense<float>, float> &C);
1470  const view_Dense<vector<float>, float> &B,
1473  const view_Dense<matrix::Dense<float>, float> &B,
1476  const view_Dense<matrix::Dense<float>, float> &B,
1477  view_Dense<vector<float>, float> &C);
1479  const view_Dense<matrix::Dense<float>, float> &B,
1480  view_Dense<matrix::Dense<float>, float> &C);
1482  const view_Dense<matrix::Dense<float>, float> &B,
1485  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1488  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1489  view_Dense<vector<float>, float> &C);
1491  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1492  view_Dense<matrix::Dense<float>, float> &C);
1494  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1496 void matmul(const view_Dense<vector<float>, float> &A,
1498 void matmul(const view_Dense<vector<float>, float> &A,
1499  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1500 void matmul(const view_Dense<vector<float>, float> &A,
1501  const matrix::Dense<float> &B,
1502  view_Dense<matrix::Dense<float>, float> &C);
1503 void matmul(const view_Dense<vector<float>, float> &A,
1504  const matrix::Dense<float> &B,
1506 void matmul(const view_Dense<vector<float>, float> &A,
1507  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1508 void matmul(const view_Dense<vector<float>, float> &A,
1509  const view_Dense<vector<float>, float> &B,
1510  view_Dense<vector<float>, float> &C);
1511 void matmul(const view_Dense<vector<float>, float> &A,
1512  const view_Dense<vector<float>, float> &B,
1513  view_Dense<matrix::Dense<float>, float> &C);
1514 void matmul(const view_Dense<vector<float>, float> &A,
1515  const view_Dense<vector<float>, float> &B,
1517 void matmul(const view_Dense<vector<float>, float> &A,
1518  const view_Dense<matrix::Dense<float>, float> &B,
1520 void matmul(const view_Dense<vector<float>, float> &A,
1521  const view_Dense<matrix::Dense<float>, float> &B,
1522  view_Dense<vector<float>, float> &C);
1523 void matmul(const view_Dense<vector<float>, float> &A,
1524  const view_Dense<matrix::Dense<float>, float> &B,
1525  view_Dense<matrix::Dense<float>, float> &C);
1526 void matmul(const view_Dense<vector<float>, float> &A,
1527  const view_Dense<matrix::Dense<float>, float> &B,
1529 void matmul(const view_Dense<vector<float>, float> &A,
1530  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1532 void matmul(const view_Dense<vector<float>, float> &A,
1533  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1534  view_Dense<vector<float>, float> &C);
1535 void matmul(const view_Dense<vector<float>, float> &A,
1536  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1537  view_Dense<matrix::Dense<float>, float> &C);
1538 void matmul(const view_Dense<vector<float>, float> &A,
1539  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1544  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1546  const matrix::Dense<float> &B,
1547  view_Dense<matrix::Dense<float>, float> &C);
1549  const matrix::Dense<float> &B,
1552  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1554  const view_Dense<vector<float>, float> &B,
1555  view_Dense<vector<float>, float> &C);
1557  const view_Dense<vector<float>, float> &B,
1558  view_Dense<matrix::Dense<float>, float> &C);
1560  const view_Dense<vector<float>, float> &B,
1563  const view_Dense<matrix::Dense<float>, float> &B,
1566  const view_Dense<matrix::Dense<float>, float> &B,
1567  view_Dense<vector<float>, float> &C);
1569  const view_Dense<matrix::Dense<float>, float> &B,
1570  view_Dense<matrix::Dense<float>, float> &C);
1572  const view_Dense<matrix::Dense<float>, float> &B,
1575  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1578  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1579  view_Dense<vector<float>, float> &C);
1581  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1582  view_Dense<matrix::Dense<float>, float> &C);
1584  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1589  const matrix::Dense<float> &B, view_Dense<vector<float>, float> &C);
1591  const matrix::Dense<float> &B,
1592  view_Dense<matrix::Dense<float>, float> &C);
1594  const matrix::Dense<float> &B,
1597  const view_Dense<vector<float>, float> &B, matrix::Dense<float> &C);
1599  const view_Dense<vector<float>, float> &B,
1600  view_Dense<vector<float>, float> &C);
1602  const view_Dense<vector<float>, float> &B,
1603  view_Dense<matrix::Dense<float>, float> &C);
1605  const view_Dense<vector<float>, float> &B,
1608  const view_Dense<matrix::Dense<float>, float> &B,
1611  const view_Dense<matrix::Dense<float>, float> &B,
1612  view_Dense<vector<float>, float> &C);
1614  const view_Dense<matrix::Dense<float>, float> &B,
1615  view_Dense<matrix::Dense<float>, float> &C);
1617  const view_Dense<matrix::Dense<float>, float> &B,
1620  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1623  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1624  view_Dense<vector<float>, float> &C);
1626  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1627  view_Dense<matrix::Dense<float>, float> &C);
1629  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1651 void matmul(const double &a, const matrix::Dense<double> &A,
1652  const matrix::Dense<double> &B, const double &b,
1654 void matmul(const double &a, const matrix::Dense<double> &A,
1655  const matrix::Dense<double> &B, const double &b,
1656  view_Dense<vector<double>, double> &C);
1657 void matmul(const double &a, const matrix::Dense<double> &A,
1658  const matrix::Dense<double> &B, const double &b,
1659  view_Dense<matrix::Dense<double>, double> &C);
1660 void matmul(const double &a, const matrix::Dense<double> &A,
1661  const matrix::Dense<double> &B, const double &b,
1663 void matmul(const double &a, const matrix::Dense<double> &A,
1664  const view_Dense<vector<double>, double> &B, const double &b,
1666 void matmul(const double &a, const matrix::Dense<double> &A,
1667  const view_Dense<vector<double>, double> &B, const double &b,
1668  view_Dense<vector<double>, double> &C);
1669 void matmul(const double &a, const matrix::Dense<double> &A,
1670  const view_Dense<vector<double>, double> &B, const double &b,
1671  view_Dense<matrix::Dense<double>, double> &C);
1672 void matmul(const double &a, const matrix::Dense<double> &A,
1673  const view_Dense<vector<double>, double> &B, const double &b,
1675 void matmul(const double &a, const matrix::Dense<double> &A,
1676  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1678 void matmul(const double &a, const matrix::Dense<double> &A,
1679  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1680  view_Dense<vector<double>, double> &C);
1681 void matmul(const double &a, const matrix::Dense<double> &A,
1682  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1683  view_Dense<matrix::Dense<double>, double> &C);
1684 void matmul(const double &a, const matrix::Dense<double> &A,
1685  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1687 void matmul(const double &a, const matrix::Dense<double> &A,
1688  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1689  const double &b, matrix::Dense<double> &C);
1690 void matmul(const double &a, const matrix::Dense<double> &A,
1691  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1692  const double &b, view_Dense<vector<double>, double> &C);
1693 void matmul(const double &a, const matrix::Dense<double> &A,
1694  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1695  const double &b, view_Dense<matrix::Dense<double>, double> &C);
1696 void matmul(const double &a, const matrix::Dense<double> &A,
1697  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1698  const double &b,
1700 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1701  const matrix::Dense<double> &B, const double &b,
1703 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1704  const matrix::Dense<double> &B, const double &b,
1705  view_Dense<vector<double>, double> &C);
1706 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1707  const matrix::Dense<double> &B, const double &b,
1708  view_Dense<matrix::Dense<double>, double> &C);
1709 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1710  const matrix::Dense<double> &B, const double &b,
1712 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1713  const view_Dense<vector<double>, double> &B, const double &b,
1715 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1716  const view_Dense<vector<double>, double> &B, const double &b,
1717  view_Dense<vector<double>, double> &C);
1718 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1719  const view_Dense<vector<double>, double> &B, const double &b,
1720  view_Dense<matrix::Dense<double>, double> &C);
1721 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1722  const view_Dense<vector<double>, double> &B, const double &b,
1724 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1725  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1727 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1728  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1729  view_Dense<vector<double>, double> &C);
1730 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1731  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1732  view_Dense<matrix::Dense<double>, double> &C);
1733 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1734  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1736 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1737  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1738  const double &b, matrix::Dense<double> &C);
1739 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1740  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1741  const double &b, view_Dense<vector<double>, double> &C);
1742 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1743  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1744  const double &b, view_Dense<matrix::Dense<double>, double> &C);
1745 void matmul(const double &a, const view_Dense<vector<double>, double> &A,
1746  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1747  const double &b,
1749 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1750  const matrix::Dense<double> &B, const double &b,
1752 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1753  const matrix::Dense<double> &B, const double &b,
1754  view_Dense<vector<double>, double> &C);
1755 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1756  const matrix::Dense<double> &B, const double &b,
1757  view_Dense<matrix::Dense<double>, double> &C);
1758 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1759  const matrix::Dense<double> &B, const double &b,
1761 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1762  const view_Dense<vector<double>, double> &B, const double &b,
1764 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1765  const view_Dense<vector<double>, double> &B, const double &b,
1766  view_Dense<vector<double>, double> &C);
1767 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1768  const view_Dense<vector<double>, double> &B, const double &b,
1769  view_Dense<matrix::Dense<double>, double> &C);
1770 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1771  const view_Dense<vector<double>, double> &B, const double &b,
1773 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1774  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1776 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1777  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1778  view_Dense<vector<double>, double> &C);
1779 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1780  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1781  view_Dense<matrix::Dense<double>, double> &C);
1782 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1783  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1785 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1786  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1787  const double &b, matrix::Dense<double> &C);
1788 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1789  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1790  const double &b, view_Dense<vector<double>, double> &C);
1791 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1792  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1793  const double &b, view_Dense<matrix::Dense<double>, double> &C);
1794 void matmul(const double &a, const view_Dense<matrix::Dense<double>, double> &A,
1795  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1796  const double &b,
1798 void matmul(const double &a,
1799  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1800  const matrix::Dense<double> &B, const double &b,
1802 void matmul(const double &a,
1803  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1804  const matrix::Dense<double> &B, const double &b,
1805  view_Dense<vector<double>, double> &C);
1806 void matmul(const double &a,
1807  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1808  const matrix::Dense<double> &B, const double &b,
1809  view_Dense<matrix::Dense<double>, double> &C);
1810 void matmul(const double &a,
1811  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1812  const matrix::Dense<double> &B, const double &b,
1814 void matmul(const double &a,
1815  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1816  const view_Dense<vector<double>, double> &B, const double &b,
1818 void matmul(const double &a,
1819  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1820  const view_Dense<vector<double>, double> &B, const double &b,
1821  view_Dense<vector<double>, double> &C);
1822 void matmul(const double &a,
1823  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1824  const view_Dense<vector<double>, double> &B, const double &b,
1825  view_Dense<matrix::Dense<double>, double> &C);
1826 void matmul(const double &a,
1827  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1828  const view_Dense<vector<double>, double> &B, const double &b,
1830 void matmul(const double &a,
1831  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1832  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1834 void matmul(const double &a,
1835  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1836  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1837  view_Dense<vector<double>, double> &C);
1838 void matmul(const double &a,
1839  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1840  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1841  view_Dense<matrix::Dense<double>, double> &C);
1842 void matmul(const double &a,
1843  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1844  const view_Dense<matrix::Dense<double>, double> &B, const double &b,
1846 void matmul(const double &a,
1847  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1848  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1849  const double &b, matrix::Dense<double> &C);
1850 void matmul(const double &a,
1851  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1852  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1853  const double &b, view_Dense<vector<double>, double> &C);
1854 void matmul(const double &a,
1855  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1856  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1857  const double &b, view_Dense<matrix::Dense<double>, double> &C);
1858 void matmul(const double &a,
1859  const view_Dense<tensor::tensor_Dense<double>, double> &A,
1860  const view_Dense<tensor::tensor_Dense<double>, double> &B,
1861  const double &b,
1863 void matmul(const float &a, const matrix::Dense<float> &A,
1864  const matrix::Dense<float> &B, const float &b,
1866 void matmul(const float &a, const matrix::Dense<float> &A,
1867  const matrix::Dense<float> &B, const float &b,
1868  view_Dense<vector<float>, float> &C);
1869 void matmul(const float &a, const matrix::Dense<float> &A,
1870  const matrix::Dense<float> &B, const float &b,
1871  view_Dense<matrix::Dense<float>, float> &C);
1872 void matmul(const float &a, const matrix::Dense<float> &A,
1873  const matrix::Dense<float> &B, const float &b,
1875 void matmul(const float &a, const matrix::Dense<float> &A,
1876  const view_Dense<vector<float>, float> &B, const float &b,
1878 void matmul(const float &a, const matrix::Dense<float> &A,
1879  const view_Dense<vector<float>, float> &B, const float &b,
1880  view_Dense<vector<float>, float> &C);
1881 void matmul(const float &a, const matrix::Dense<float> &A,
1882  const view_Dense<vector<float>, float> &B, const float &b,
1883  view_Dense<matrix::Dense<float>, float> &C);
1884 void matmul(const float &a, const matrix::Dense<float> &A,
1885  const view_Dense<vector<float>, float> &B, const float &b,
1887 void matmul(const float &a, const matrix::Dense<float> &A,
1888  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1890 void matmul(const float &a, const matrix::Dense<float> &A,
1891  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1892  view_Dense<vector<float>, float> &C);
1893 void matmul(const float &a, const matrix::Dense<float> &A,
1894  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1895  view_Dense<matrix::Dense<float>, float> &C);
1896 void matmul(const float &a, const matrix::Dense<float> &A,
1897  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1899 void matmul(const float &a, const matrix::Dense<float> &A,
1900  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1901  const float &b, matrix::Dense<float> &C);
1902 void matmul(const float &a, const matrix::Dense<float> &A,
1903  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1904  const float &b, view_Dense<vector<float>, float> &C);
1905 void matmul(const float &a, const matrix::Dense<float> &A,
1906  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1907  const float &b, view_Dense<matrix::Dense<float>, float> &C);
1908 void matmul(const float &a, const matrix::Dense<float> &A,
1909  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1910  const float &b, view_Dense<tensor::tensor_Dense<float>, float> &C);
1911 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1912  const matrix::Dense<float> &B, const float &b,
1914 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1915  const matrix::Dense<float> &B, const float &b,
1916  view_Dense<vector<float>, float> &C);
1917 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1918  const matrix::Dense<float> &B, const float &b,
1919  view_Dense<matrix::Dense<float>, float> &C);
1920 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1921  const matrix::Dense<float> &B, const float &b,
1923 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1924  const view_Dense<vector<float>, float> &B, const float &b,
1926 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1927  const view_Dense<vector<float>, float> &B, const float &b,
1928  view_Dense<vector<float>, float> &C);
1929 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1930  const view_Dense<vector<float>, float> &B, const float &b,
1931  view_Dense<matrix::Dense<float>, float> &C);
1932 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1933  const view_Dense<vector<float>, float> &B, const float &b,
1935 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1936  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1938 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1939  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1940  view_Dense<vector<float>, float> &C);
1941 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1942  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1943  view_Dense<matrix::Dense<float>, float> &C);
1944 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1945  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1947 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1948  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1949  const float &b, matrix::Dense<float> &C);
1950 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1951  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1952  const float &b, view_Dense<vector<float>, float> &C);
1953 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1954  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1955  const float &b, view_Dense<matrix::Dense<float>, float> &C);
1956 void matmul(const float &a, const view_Dense<vector<float>, float> &A,
1957  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1958  const float &b, view_Dense<tensor::tensor_Dense<float>, float> &C);
1959 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1960  const matrix::Dense<float> &B, const float &b,
1962 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1963  const matrix::Dense<float> &B, const float &b,
1964  view_Dense<vector<float>, float> &C);
1965 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1966  const matrix::Dense<float> &B, const float &b,
1967  view_Dense<matrix::Dense<float>, float> &C);
1968 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1969  const matrix::Dense<float> &B, const float &b,
1971 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1972  const view_Dense<vector<float>, float> &B, const float &b,
1974 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1975  const view_Dense<vector<float>, float> &B, const float &b,
1976  view_Dense<vector<float>, float> &C);
1977 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1978  const view_Dense<vector<float>, float> &B, const float &b,
1979  view_Dense<matrix::Dense<float>, float> &C);
1980 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1981  const view_Dense<vector<float>, float> &B, const float &b,
1983 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1984  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1986 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1987  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1988  view_Dense<vector<float>, float> &C);
1989 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1990  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1991  view_Dense<matrix::Dense<float>, float> &C);
1992 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1993  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
1995 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1996  const view_Dense<tensor::tensor_Dense<float>, float> &B,
1997  const float &b, matrix::Dense<float> &C);
1998 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
1999  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2000  const float &b, view_Dense<vector<float>, float> &C);
2001 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
2002  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2003  const float &b, view_Dense<matrix::Dense<float>, float> &C);
2004 void matmul(const float &a, const view_Dense<matrix::Dense<float>, float> &A,
2005  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2006  const float &b, view_Dense<tensor::tensor_Dense<float>, float> &C);
2007 void matmul(const float &a,
2008  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2009  const matrix::Dense<float> &B, const float &b,
2011 void matmul(const float &a,
2012  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2013  const matrix::Dense<float> &B, const float &b,
2014  view_Dense<vector<float>, float> &C);
2015 void matmul(const float &a,
2016  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2017  const matrix::Dense<float> &B, const float &b,
2018  view_Dense<matrix::Dense<float>, float> &C);
2019 void matmul(const float &a,
2020  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2021  const matrix::Dense<float> &B, const float &b,
2023 void matmul(const float &a,
2024  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2025  const view_Dense<vector<float>, float> &B, const float &b,
2027 void matmul(const float &a,
2028  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2029  const view_Dense<vector<float>, float> &B, const float &b,
2030  view_Dense<vector<float>, float> &C);
2031 void matmul(const float &a,
2032  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2033  const view_Dense<vector<float>, float> &B, const float &b,
2034  view_Dense<matrix::Dense<float>, float> &C);
2035 void matmul(const float &a,
2036  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2037  const view_Dense<vector<float>, float> &B, const float &b,
2039 void matmul(const float &a,
2040  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2041  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
2043 void matmul(const float &a,
2044  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2045  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
2046  view_Dense<vector<float>, float> &C);
2047 void matmul(const float &a,
2048  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2049  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
2050  view_Dense<matrix::Dense<float>, float> &C);
2051 void matmul(const float &a,
2052  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2053  const view_Dense<matrix::Dense<float>, float> &B, const float &b,
2055 void matmul(const float &a,
2056  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2057  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2058  const float &b, matrix::Dense<float> &C);
2059 void matmul(const float &a,
2060  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2061  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2062  const float &b, view_Dense<vector<float>, float> &C);
2063 void matmul(const float &a,
2064  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2065  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2066  const float &b, view_Dense<matrix::Dense<float>, float> &C);
2067 void matmul(const float &a,
2068  const view_Dense<tensor::tensor_Dense<float>, float> &A,
2069  const view_Dense<tensor::tensor_Dense<float>, float> &B,
2070  const float &b, view_Dense<tensor::tensor_Dense<float>, float> &C);
2114 void matmul(const double &a, const matrix::CRS<double> &A,
2115  const matrix::Dense<double> &B, const double &b,
2117 void matmul(const float &a, const matrix::CRS<float> &A,
2118  const matrix::Dense<float> &B, const float &b,
2187 } // namespace blas
2188 } // namespace monolish
Compressed Row Storage (CRS) format Matrix.
Dense format Matrix.
Linear Operator imitating Matrix.
void adds(const double alpha, const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix adds: C = alpha + A.
void matadd(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix addition: C = A + B.
void copy(const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix copy (C=A)
void matmul(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix multiplication: C = AB.
void mscal(const double alpha, matrix::Dense< double > &A)
Dense matrix scal: A = alpha * A.
void matsub(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix subtract: C = A - B.
void rmatmul(const matrix::LinearOperator< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
LinearOperator multiplication: C = A^H B.
void times(const double alpha, const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix times: C = alpha * A.
monolish namespaces