monolish  0.17.1
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  const view1D<vector<double>, double> &x,
41  const view1D<matrix::Dense<double>, double> &x,
44  const view1D<tensor::tensor_Dense<double>, double> &x,
49  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
51  const view1D<matrix::Dense<float>, float> &x,
54  const view1D<tensor::tensor_Dense<float>, float> &x,
76 void times_row(const matrix::Dense<double> &A, const size_t num,
78 void times_row(const matrix::Dense<double> &A, const size_t num,
79  const view1D<vector<double>, double> &x,
81 void times_row(const matrix::Dense<double> &A, const size_t num,
82  const view1D<matrix::Dense<double>, double> &x,
84 void times_row(const matrix::Dense<double> &A, const size_t num,
85  const view1D<tensor::tensor_Dense<double>, double> &x,
87 void times_row(const matrix::Dense<float> &A, const size_t num,
88  const vector<float> &x, matrix::Dense<float> &C);
89 void times_row(const matrix::Dense<float> &A, const size_t num,
90  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
91 void times_row(const matrix::Dense<float> &A, const size_t num,
92  const view1D<matrix::Dense<float>, float> &x,
94 void times_row(const matrix::Dense<float> &A, const size_t num,
95  const view1D<tensor::tensor_Dense<float>, float> &x,
121  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
123  const view1D<matrix::CRS<double>, double> &x,
126  matrix::CRS<float> &C);
128  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
130  const view1D<matrix::CRS<float>, float> &x,
131  matrix::CRS<float> &C);
154 void times_row(const matrix::CRS<double> &A, const size_t num,
155  const vector<double> &x, matrix::CRS<double> &C);
156 void times_row(const matrix::CRS<double> &A, const size_t num,
157  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
158 void times_row(const matrix::CRS<double> &A, const size_t num,
159  const view1D<matrix::CRS<double>, double> &x,
161 void times_row(const matrix::CRS<float> &A, const size_t num,
162  const vector<float> &x, matrix::CRS<float> &C);
163 void times_row(const matrix::CRS<float> &A, const size_t num,
164  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
165 void times_row(const matrix::CRS<float> &A, const size_t num,
166  const view1D<matrix::CRS<float>, float> &x,
167  matrix::CRS<float> &C);
190  const view1D<vector<double>, double> &x,
193  const view1D<matrix::Dense<double>, double> &x,
196  const view1D<tensor::tensor_Dense<double>, double> &x,
201  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
203  const view1D<matrix::Dense<float>, float> &x,
206  const view1D<tensor::tensor_Dense<float>, float> &x,
228 void times_col(const matrix::Dense<double> &A, const size_t num,
230 void times_col(const matrix::Dense<double> &A, const size_t num,
231  const view1D<vector<double>, double> &x,
233 void times_col(const matrix::Dense<double> &A, const size_t num,
234  const view1D<matrix::Dense<double>, double> &x,
236 void times_col(const matrix::Dense<double> &A, const size_t num,
237  const view1D<tensor::tensor_Dense<double>, double> &x,
239 void times_col(const matrix::Dense<float> &A, const size_t num,
240  const vector<float> &x, matrix::Dense<float> &C);
241 void times_col(const matrix::Dense<float> &A, const size_t num,
242  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
243 void times_col(const matrix::Dense<float> &A, const size_t num,
244  const view1D<matrix::Dense<float>, float> &x,
246 void times_col(const matrix::Dense<float> &A, const size_t num,
247  const view1D<tensor::tensor_Dense<float>, float> &x,
273  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
275  const view1D<matrix::CRS<double>, double> &x,
278  matrix::CRS<float> &C);
280  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
282  const view1D<matrix::CRS<float>, float> &x,
283  matrix::CRS<float> &C);
306 void times_col(const matrix::CRS<double> &A, const size_t num,
307  const vector<double> &x, matrix::CRS<double> &C);
308 void times_col(const matrix::CRS<double> &A, const size_t num,
309  const view1D<vector<double>, double> &x, matrix::CRS<double> &C);
310 void times_col(const matrix::CRS<double> &A, const size_t num,
311  const view1D<matrix::CRS<double>, double> &x,
313 void times_col(const matrix::CRS<float> &A, const size_t num,
314  const vector<float> &x, matrix::CRS<float> &C);
315 void times_col(const matrix::CRS<float> &A, const size_t num,
316  const view1D<vector<float>, float> &x, matrix::CRS<float> &C);
317 void times_col(const matrix::CRS<float> &A, const size_t num,
318  const view1D<matrix::CRS<float>, float> &x,
319  matrix::CRS<float> &C);
342  const view1D<vector<double>, double> &x,
345  const view1D<matrix::Dense<double>, double> &x,
348  const view1D<tensor::tensor_Dense<double>, double> &x,
353  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
355  const view1D<matrix::Dense<float>, float> &x,
358  const view1D<tensor::tensor_Dense<float>, float> &x,
380 void adds_row(const matrix::Dense<double> &A, const size_t num,
382 void adds_row(const matrix::Dense<double> &A, const size_t num,
383  const view1D<vector<double>, double> &x,
385 void adds_row(const matrix::Dense<double> &A, const size_t num,
386  const view1D<matrix::Dense<double>, double> &x,
388 void adds_row(const matrix::Dense<double> &A, const size_t num,
389  const view1D<tensor::tensor_Dense<double>, double> &x,
391 void adds_row(const matrix::Dense<float> &A, const size_t num,
392  const vector<float> &x, matrix::Dense<float> &C);
393 void adds_row(const matrix::Dense<float> &A, const size_t num,
394  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
395 void adds_row(const matrix::Dense<float> &A, const size_t num,
396  const view1D<matrix::Dense<float>, float> &x,
398 void adds_row(const matrix::Dense<float> &A, const size_t num,
399  const view1D<tensor::tensor_Dense<float>, float> &x,
423  const view1D<vector<double>, double> &x,
426  const view1D<matrix::Dense<double>, double> &x,
429  const view1D<tensor::tensor_Dense<double>, double> &x,
434  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
436  const view1D<matrix::Dense<float>, float> &x,
439  const view1D<tensor::tensor_Dense<float>, float> &x,
461 void adds_col(const matrix::Dense<double> &A, const size_t num,
463 void adds_col(const matrix::Dense<double> &A, const size_t num,
464  const view1D<vector<double>, double> &x,
466 void adds_col(const matrix::Dense<double> &A, const size_t num,
467  const view1D<matrix::Dense<double>, double> &x,
469 void adds_col(const matrix::Dense<double> &A, const size_t num,
470  const view1D<tensor::tensor_Dense<double>, double> &x,
472 void adds_col(const matrix::Dense<float> &A, const size_t num,
473  const vector<float> &x, matrix::Dense<float> &C);
474 void adds_col(const matrix::Dense<float> &A, const size_t num,
475  const view1D<vector<float>, float> &x, matrix::Dense<float> &C);
476 void adds_col(const matrix::Dense<float> &A, const size_t num,
477  const view1D<matrix::Dense<float>, float> &x,
479 void adds_col(const matrix::Dense<float> &A, const size_t num,
480  const view1D<tensor::tensor_Dense<float>, float> &x,
501  vector<double> &y);
503  view1D<vector<double>, double> &y);
505  view1D<matrix::Dense<double>, double> &y);
509  const view1D<vector<double>, double> &x, vector<double> &y);
511  const view1D<vector<double>, double> &x,
512  view1D<vector<double>, double> &y);
514  const view1D<vector<double>, double> &x,
515  view1D<matrix::Dense<double>, double> &y);
517  const view1D<vector<double>, double> &x,
520  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
522  const view1D<matrix::Dense<double>, double> &x,
523  view1D<vector<double>, double> &y);
525  const view1D<matrix::Dense<double>, double> &x,
526  view1D<matrix::Dense<double>, double> &y);
528  const view1D<matrix::Dense<double>, double> &x,
531  const view1D<tensor::tensor_Dense<double>, double> &x,
532  vector<double> &y);
534  const view1D<tensor::tensor_Dense<double>, double> &x,
535  view1D<vector<double>, double> &y);
537  const view1D<tensor::tensor_Dense<double>, double> &x,
538  view1D<matrix::Dense<double>, double> &y);
540  const view1D<tensor::tensor_Dense<double>, double> &x,
542 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
543  vector<float> &y);
544 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
545  view1D<vector<float>, float> &y);
546 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
547  view1D<matrix::Dense<float>, float> &y);
548 void matvec(const matrix::Dense<float> &A, const vector<float> &x,
551  const view1D<vector<float>, float> &x, vector<float> &y);
553  const view1D<vector<float>, float> &x,
554  view1D<vector<float>, float> &y);
556  const view1D<vector<float>, float> &x,
557  view1D<matrix::Dense<float>, float> &y);
559  const view1D<vector<float>, float> &x,
562  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
564  const view1D<matrix::Dense<float>, float> &x,
565  view1D<vector<float>, float> &y);
567  const view1D<matrix::Dense<float>, float> &x,
568  view1D<matrix::Dense<float>, float> &y);
570  const view1D<matrix::Dense<float>, float> &x,
573  const view1D<tensor::tensor_Dense<float>, float> &x,
574  vector<float> &y);
576  const view1D<tensor::tensor_Dense<float>, float> &x,
577  view1D<vector<float>, float> &y);
579  const view1D<tensor::tensor_Dense<float>, float> &x,
580  view1D<matrix::Dense<float>, float> &y);
582  const view1D<tensor::tensor_Dense<float>, float> &x,
603  vector<double> &y);
605  view1D<vector<double>, double> &y);
607  view1D<matrix::Dense<double>, double> &y);
611  const view1D<vector<double>, double> &x, vector<double> &y);
613  const view1D<vector<double>, double> &x,
614  view1D<vector<double>, double> &y);
616  const view1D<vector<double>, double> &x,
617  view1D<matrix::Dense<double>, double> &y);
619  const view1D<vector<double>, double> &x,
622  const view1D<matrix::Dense<double>, double> &x,
623  vector<double> &y);
625  const view1D<matrix::Dense<double>, double> &x,
626  view1D<vector<double>, double> &y);
628  const view1D<matrix::Dense<double>, double> &x,
629  view1D<matrix::Dense<double>, double> &y);
631  const view1D<matrix::Dense<double>, double> &x,
634  const view1D<tensor::tensor_Dense<double>, double> &x,
635  vector<double> &y);
637  const view1D<tensor::tensor_Dense<double>, double> &x,
638  view1D<vector<double>, double> &y);
640  const view1D<tensor::tensor_Dense<double>, double> &x,
641  view1D<matrix::Dense<double>, double> &y);
643  const view1D<tensor::tensor_Dense<double>, double> &x,
646  vector<float> &y);
648  view1D<vector<float>, float> &y);
650  view1D<matrix::Dense<float>, float> &y);
654  const view1D<vector<float>, float> &x, vector<float> &y);
656  const view1D<vector<float>, float> &x,
657  view1D<vector<float>, float> &y);
659  const view1D<vector<float>, float> &x,
660  view1D<matrix::Dense<float>, float> &y);
662  const view1D<vector<float>, float> &x,
665  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
667  const view1D<matrix::Dense<float>, float> &x,
668  view1D<vector<float>, float> &y);
670  const view1D<matrix::Dense<float>, float> &x,
671  view1D<matrix::Dense<float>, float> &y);
673  const view1D<matrix::Dense<float>, float> &x,
676  const view1D<tensor::tensor_Dense<float>, float> &x,
677  vector<float> &y);
679  const view1D<tensor::tensor_Dense<float>, float> &x,
680  view1D<vector<float>, float> &y);
682  const view1D<tensor::tensor_Dense<float>, float> &x,
683  view1D<matrix::Dense<float>, float> &y);
685  const view1D<tensor::tensor_Dense<float>, float> &x,
706  vector<double> &y);
708  view1D<vector<double>, double> &y);
710  view1D<matrix::Dense<double>, double> &y);
714  const view1D<vector<double>, double> &x, vector<double> &y);
716  const view1D<vector<double>, double> &x,
717  view1D<vector<double>, double> &y);
719  const view1D<vector<double>, double> &x,
720  view1D<matrix::Dense<double>, double> &y);
722  const view1D<vector<double>, double> &x,
725  const view1D<matrix::Dense<double>, double> &x,
726  vector<double> &y);
728  const view1D<matrix::Dense<double>, double> &x,
729  view1D<vector<double>, double> &y);
731  const view1D<matrix::Dense<double>, double> &x,
732  view1D<matrix::Dense<double>, double> &y);
734  const view1D<matrix::Dense<double>, double> &x,
737  const view1D<tensor::tensor_Dense<double>, double> &x,
738  vector<double> &y);
740  const view1D<tensor::tensor_Dense<double>, double> &x,
741  view1D<vector<double>, double> &y);
743  const view1D<tensor::tensor_Dense<double>, double> &x,
744  view1D<matrix::Dense<double>, double> &y);
746  const view1D<tensor::tensor_Dense<double>, double> &x,
749  vector<float> &y);
751  view1D<vector<float>, float> &y);
753  view1D<matrix::Dense<float>, float> &y);
757  const view1D<vector<float>, float> &x, vector<float> &y);
759  const view1D<vector<float>, float> &x,
760  view1D<vector<float>, float> &y);
762  const view1D<vector<float>, float> &x,
763  view1D<matrix::Dense<float>, float> &y);
765  const view1D<vector<float>, float> &x,
768  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
770  const view1D<matrix::Dense<float>, float> &x,
771  view1D<vector<float>, float> &y);
773  const view1D<matrix::Dense<float>, float> &x,
774  view1D<matrix::Dense<float>, float> &y);
776  const view1D<matrix::Dense<float>, float> &x,
779  const view1D<tensor::tensor_Dense<float>, float> &x,
780  vector<float> &y);
782  const view1D<tensor::tensor_Dense<float>, float> &x,
783  view1D<vector<float>, float> &y);
785  const view1D<tensor::tensor_Dense<float>, float> &x,
786  view1D<matrix::Dense<float>, float> &y);
788  const view1D<tensor::tensor_Dense<float>, float> &x,
808 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
809  vector<double> &y);
810 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
811  view1D<vector<double>, double> &y);
812 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
813  view1D<matrix::Dense<double>, double> &y);
814 void matvec(const matrix::CRS<double> &A, const vector<double> &x,
817  const view1D<vector<double>, double> &x, vector<double> &y);
819  const view1D<vector<double>, double> &x,
820  view1D<vector<double>, double> &y);
822  const view1D<vector<double>, double> &x,
823  view1D<matrix::Dense<double>, double> &y);
825  const view1D<vector<double>, double> &x,
828  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
830  const view1D<matrix::Dense<double>, double> &x,
831  view1D<vector<double>, double> &y);
833  const view1D<matrix::Dense<double>, double> &x,
834  view1D<matrix::Dense<double>, double> &y);
836  const view1D<matrix::Dense<double>, double> &x,
839  const view1D<tensor::tensor_Dense<double>, double> &x,
840  vector<double> &y);
842  const view1D<tensor::tensor_Dense<double>, double> &x,
843  view1D<vector<double>, double> &y);
845  const view1D<tensor::tensor_Dense<double>, double> &x,
846  view1D<matrix::Dense<double>, double> &y);
848  const view1D<tensor::tensor_Dense<double>, double> &x,
850 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
851  vector<float> &y);
852 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
853  view1D<vector<float>, float> &y);
854 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
855  view1D<matrix::Dense<float>, float> &y);
856 void matvec(const matrix::CRS<float> &A, const vector<float> &x,
858 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
859  vector<float> &y);
860 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
861  view1D<vector<float>, float> &y);
862 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
863  view1D<matrix::Dense<float>, float> &y);
864 void matvec(const matrix::CRS<float> &A, const view1D<vector<float>, float> &x,
867  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
869  const view1D<matrix::Dense<float>, float> &x,
870  view1D<vector<float>, float> &y);
872  const view1D<matrix::Dense<float>, float> &x,
873  view1D<matrix::Dense<float>, float> &y);
875  const view1D<matrix::Dense<float>, float> &x,
878  const view1D<tensor::tensor_Dense<float>, float> &x,
879  vector<float> &y);
881  const view1D<tensor::tensor_Dense<float>, float> &x,
882  view1D<vector<float>, float> &y);
884  const view1D<tensor::tensor_Dense<float>, float> &x,
885  view1D<matrix::Dense<float>, float> &y);
887  const view1D<tensor::tensor_Dense<float>, float> &x,
908  vector<double> &y);
910  view1D<vector<double>, double> &y);
912  view1D<matrix::Dense<double>, double> &y);
916  const view1D<vector<double>, double> &x, vector<double> &y);
918  const view1D<vector<double>, double> &x,
919  view1D<vector<double>, double> &y);
921  const view1D<vector<double>, double> &x,
922  view1D<matrix::Dense<double>, double> &y);
924  const view1D<vector<double>, double> &x,
927  const view1D<matrix::Dense<double>, double> &x,
928  vector<double> &y);
930  const view1D<matrix::Dense<double>, double> &x,
931  view1D<vector<double>, double> &y);
933  const view1D<matrix::Dense<double>, double> &x,
934  view1D<matrix::Dense<double>, double> &y);
936  const view1D<matrix::Dense<double>, double> &x,
939  const view1D<tensor::tensor_Dense<double>, double> &x,
940  vector<double> &y);
942  const view1D<tensor::tensor_Dense<double>, double> &x,
943  view1D<vector<double>, double> &y);
945  const view1D<tensor::tensor_Dense<double>, double> &x,
946  view1D<matrix::Dense<double>, double> &y);
948  const view1D<tensor::tensor_Dense<double>, double> &x,
950 void matvec_N(const matrix::CRS<float> &A, const vector<float> &x,
951  vector<float> &y);
952 void matvec_N(const matrix::CRS<float> &A, const vector<float> &x,
953  view1D<vector<float>, float> &y);
954 void matvec_N(const matrix::CRS<float> &A, const vector<float> &x,
955  view1D<matrix::Dense<float>, float> &y);
956 void matvec_N(const matrix::CRS<float> &A, const vector<float> &x,
959  const view1D<vector<float>, float> &x, vector<float> &y);
961  const view1D<vector<float>, float> &x,
962  view1D<vector<float>, float> &y);
964  const view1D<vector<float>, float> &x,
965  view1D<matrix::Dense<float>, float> &y);
967  const view1D<vector<float>, float> &x,
970  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
972  const view1D<matrix::Dense<float>, float> &x,
973  view1D<vector<float>, float> &y);
975  const view1D<matrix::Dense<float>, float> &x,
976  view1D<matrix::Dense<float>, float> &y);
978  const view1D<matrix::Dense<float>, float> &x,
981  const view1D<tensor::tensor_Dense<float>, float> &x,
982  vector<float> &y);
984  const view1D<tensor::tensor_Dense<float>, float> &x,
985  view1D<vector<float>, float> &y);
987  const view1D<tensor::tensor_Dense<float>, float> &x,
988  view1D<matrix::Dense<float>, float> &y);
990  const view1D<tensor::tensor_Dense<float>, float> &x,
1011  vector<double> &y);
1013  view1D<vector<double>, double> &y);
1015  view1D<matrix::Dense<double>, double> &y);
1017  view1D<tensor::tensor_Dense<double>, double> &y);
1019  const view1D<vector<double>, double> &x, vector<double> &y);
1021  const view1D<vector<double>, double> &x,
1022  view1D<vector<double>, double> &y);
1024  const view1D<vector<double>, double> &x,
1025  view1D<matrix::Dense<double>, double> &y);
1027  const view1D<vector<double>, double> &x,
1028  view1D<tensor::tensor_Dense<double>, double> &y);
1030  const view1D<matrix::Dense<double>, double> &x,
1031  vector<double> &y);
1033  const view1D<matrix::Dense<double>, double> &x,
1034  view1D<vector<double>, double> &y);
1036  const view1D<matrix::Dense<double>, double> &x,
1037  view1D<matrix::Dense<double>, double> &y);
1039  const view1D<matrix::Dense<double>, double> &x,
1040  view1D<tensor::tensor_Dense<double>, double> &y);
1042  const view1D<tensor::tensor_Dense<double>, double> &x,
1043  vector<double> &y);
1045  const view1D<tensor::tensor_Dense<double>, double> &x,
1046  view1D<vector<double>, double> &y);
1048  const view1D<tensor::tensor_Dense<double>, double> &x,
1049  view1D<matrix::Dense<double>, double> &y);
1051  const view1D<tensor::tensor_Dense<double>, double> &x,
1052  view1D<tensor::tensor_Dense<double>, double> &y);
1054  vector<float> &y);
1056  view1D<vector<float>, float> &y);
1058  view1D<matrix::Dense<float>, float> &y);
1060  view1D<tensor::tensor_Dense<float>, float> &y);
1062  const view1D<vector<float>, float> &x, vector<float> &y);
1064  const view1D<vector<float>, float> &x,
1065  view1D<vector<float>, float> &y);
1067  const view1D<vector<float>, float> &x,
1068  view1D<matrix::Dense<float>, float> &y);
1070  const view1D<vector<float>, float> &x,
1071  view1D<tensor::tensor_Dense<float>, float> &y);
1073  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
1075  const view1D<matrix::Dense<float>, float> &x,
1076  view1D<vector<float>, float> &y);
1078  const view1D<matrix::Dense<float>, float> &x,
1079  view1D<matrix::Dense<float>, float> &y);
1081  const view1D<matrix::Dense<float>, float> &x,
1082  view1D<tensor::tensor_Dense<float>, float> &y);
1084  const view1D<tensor::tensor_Dense<float>, float> &x,
1085  vector<float> &y);
1087  const view1D<tensor::tensor_Dense<float>, float> &x,
1088  view1D<vector<float>, float> &y);
1090  const view1D<tensor::tensor_Dense<float>, float> &x,
1091  view1D<matrix::Dense<float>, float> &y);
1093  const view1D<tensor::tensor_Dense<float>, float> &x,
1094  view1D<tensor::tensor_Dense<float>, float> &y);
1113  vector<double> &y);
1115  view1D<vector<double>, double> &y);
1117  view1D<matrix::Dense<double>, double> &y);
1119  view1D<tensor::tensor_Dense<double>, double> &y);
1121  const view1D<vector<double>, double> &x, vector<double> &y);
1123  const view1D<vector<double>, double> &x,
1124  view1D<vector<double>, double> &y);
1126  const view1D<vector<double>, double> &x,
1127  view1D<matrix::Dense<double>, double> &y);
1129  const view1D<vector<double>, double> &x,
1130  view1D<tensor::tensor_Dense<double>, double> &y);
1132  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
1134  const view1D<matrix::Dense<double>, double> &x,
1135  view1D<vector<double>, double> &y);
1137  const view1D<matrix::Dense<double>, double> &x,
1138  view1D<matrix::Dense<double>, double> &y);
1140  const view1D<matrix::Dense<double>, double> &x,
1141  view1D<tensor::tensor_Dense<double>, double> &y);
1143  const view1D<tensor::tensor_Dense<double>, double> &x,
1144  vector<double> &y);
1146  const view1D<tensor::tensor_Dense<double>, double> &x,
1147  view1D<vector<double>, double> &y);
1149  const view1D<tensor::tensor_Dense<double>, double> &x,
1150  view1D<matrix::Dense<double>, double> &y);
1152  const view1D<tensor::tensor_Dense<double>, double> &x,
1153  view1D<tensor::tensor_Dense<double>, double> &y);
1155  vector<float> &y);
1157  view1D<vector<float>, float> &y);
1159  view1D<matrix::Dense<float>, float> &y);
1161  view1D<tensor::tensor_Dense<float>, float> &y);
1163  const view1D<vector<float>, float> &x, vector<float> &y);
1165  const view1D<vector<float>, float> &x,
1166  view1D<vector<float>, float> &y);
1168  const view1D<vector<float>, float> &x,
1169  view1D<matrix::Dense<float>, float> &y);
1171  const view1D<vector<float>, float> &x,
1172  view1D<tensor::tensor_Dense<float>, float> &y);
1174  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
1176  const view1D<matrix::Dense<float>, float> &x,
1177  view1D<vector<float>, float> &y);
1179  const view1D<matrix::Dense<float>, float> &x,
1180  view1D<matrix::Dense<float>, float> &y);
1182  const view1D<matrix::Dense<float>, float> &x,
1183  view1D<tensor::tensor_Dense<float>, float> &y);
1185  const view1D<tensor::tensor_Dense<float>, float> &x,
1186  vector<float> &y);
1188  const view1D<tensor::tensor_Dense<float>, float> &x,
1189  view1D<vector<float>, float> &y);
1191  const view1D<tensor::tensor_Dense<float>, float> &x,
1192  view1D<matrix::Dense<float>, float> &y);
1194  const view1D<tensor::tensor_Dense<float>, float> &x,
1195  view1D<tensor::tensor_Dense<float>, float> &y);
1214  vector<double> &y);
1216  view1D<vector<double>, double> &y);
1218  view1D<matrix::Dense<double>, double> &y);
1220  view1D<tensor::tensor_Dense<double>, double> &y);
1222  const view1D<vector<double>, double> &x, vector<double> &y);
1224  const view1D<vector<double>, double> &x,
1225  view1D<vector<double>, double> &y);
1227  const view1D<vector<double>, double> &x,
1228  view1D<matrix::Dense<double>, double> &y);
1230  const view1D<vector<double>, double> &x,
1231  view1D<tensor::tensor_Dense<double>, double> &y);
1233  const view1D<matrix::Dense<double>, double> &x, vector<double> &y);
1235  const view1D<matrix::Dense<double>, double> &x,
1236  view1D<vector<double>, double> &y);
1238  const view1D<matrix::Dense<double>, double> &x,
1239  view1D<matrix::Dense<double>, double> &y);
1241  const view1D<matrix::Dense<double>, double> &x,
1242  view1D<tensor::tensor_Dense<double>, double> &y);
1244  const view1D<tensor::tensor_Dense<double>, double> &x,
1245  vector<double> &y);
1247  const view1D<tensor::tensor_Dense<double>, double> &x,
1248  view1D<vector<double>, double> &y);
1250  const view1D<tensor::tensor_Dense<double>, double> &x,
1251  view1D<matrix::Dense<double>, double> &y);
1253  const view1D<tensor::tensor_Dense<double>, double> &x,
1254  view1D<tensor::tensor_Dense<double>, double> &y);
1256  vector<float> &y);
1258  view1D<vector<float>, float> &y);
1260  view1D<matrix::Dense<float>, float> &y);
1262  view1D<tensor::tensor_Dense<float>, float> &y);
1264  const view1D<vector<float>, float> &x, vector<float> &y);
1266  const view1D<vector<float>, float> &x,
1267  view1D<vector<float>, float> &y);
1269  const view1D<vector<float>, float> &x,
1270  view1D<matrix::Dense<float>, float> &y);
1272  const view1D<vector<float>, float> &x,
1273  view1D<tensor::tensor_Dense<float>, float> &y);
1275  const view1D<matrix::Dense<float>, float> &x, vector<float> &y);
1277  const view1D<matrix::Dense<float>, float> &x,
1278  view1D<vector<float>, float> &y);
1280  const view1D<matrix::Dense<float>, float> &x,
1281  view1D<matrix::Dense<float>, float> &y);
1283  const view1D<matrix::Dense<float>, float> &x,
1284  view1D<tensor::tensor_Dense<float>, float> &y);
1286  const view1D<tensor::tensor_Dense<float>, float> &x,
1287  vector<float> &y);
1289  const view1D<tensor::tensor_Dense<float>, float> &x,
1290  view1D<vector<float>, float> &y);
1292  const view1D<tensor::tensor_Dense<float>, float> &x,
1293  view1D<matrix::Dense<float>, float> &y);
1295  const view1D<tensor::tensor_Dense<float>, float> &x,
1296  view1D<tensor::tensor_Dense<float>, float> &y);
1299 } // namespace blas
1300 } // 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