monolish  0.17.1
MONOlithic LInear equation Solvers for Highly-parallel architecture
monolish_tensvec_blas.hpp
Go to the documentation of this file.
1 // this code is generated by gen_tensvec_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,
52  const view1D<matrix::Dense<float>, float> &x,
55  const view1D<tensor::tensor_Dense<float>, float> &x,
77 void times_row(const tensor::tensor_Dense<double> &A, const size_t num,
79 void times_row(const tensor::tensor_Dense<double> &A, const size_t num,
80  const view1D<vector<double>, double> &x,
82 void times_row(const tensor::tensor_Dense<double> &A, const size_t num,
83  const view1D<matrix::Dense<double>, double> &x,
85 void times_row(const tensor::tensor_Dense<double> &A, const size_t num,
86  const view1D<tensor::tensor_Dense<double>, double> &x,
88 void times_row(const tensor::tensor_Dense<float> &A, const size_t num,
90 void times_row(const tensor::tensor_Dense<float> &A, const size_t num,
91  const view1D<vector<float>, float> &x,
93 void times_row(const tensor::tensor_Dense<float> &A, const size_t num,
94  const view1D<matrix::Dense<float>, float> &x,
96 void times_row(const tensor::tensor_Dense<float> &A, const size_t num,
97  const view1D<tensor::tensor_Dense<float>, float> &x,
121  const view1D<vector<double>, double> &x,
124  const view1D<matrix::Dense<double>, double> &x,
127  const view1D<tensor::tensor_Dense<double>, double> &x,
132  const view1D<vector<float>, float> &x,
135  const view1D<matrix::Dense<float>, float> &x,
138  const view1D<tensor::tensor_Dense<float>, float> &x,
160 void times_col(const tensor::tensor_Dense<double> &A, const size_t num,
162 void times_col(const tensor::tensor_Dense<double> &A, const size_t num,
163  const view1D<vector<double>, double> &x,
165 void times_col(const tensor::tensor_Dense<double> &A, const size_t num,
166  const view1D<matrix::Dense<double>, double> &x,
168 void times_col(const tensor::tensor_Dense<double> &A, const size_t num,
169  const view1D<tensor::tensor_Dense<double>, double> &x,
171 void times_col(const tensor::tensor_Dense<float> &A, const size_t num,
173 void times_col(const tensor::tensor_Dense<float> &A, const size_t num,
174  const view1D<vector<float>, float> &x,
176 void times_col(const tensor::tensor_Dense<float> &A, const size_t num,
177  const view1D<matrix::Dense<float>, float> &x,
179 void times_col(const tensor::tensor_Dense<float> &A, const size_t num,
180  const view1D<tensor::tensor_Dense<float>, float> &x,
204  const view1D<vector<double>, double> &x,
207  const view1D<matrix::Dense<double>, double> &x,
210  const view1D<tensor::tensor_Dense<double>, double> &x,
215  const view1D<vector<float>, float> &x,
218  const view1D<matrix::Dense<float>, float> &x,
221  const view1D<tensor::tensor_Dense<float>, float> &x,
243 void adds_row(const tensor::tensor_Dense<double> &A, const size_t num,
245 void adds_row(const tensor::tensor_Dense<double> &A, const size_t num,
246  const view1D<vector<double>, double> &x,
248 void adds_row(const tensor::tensor_Dense<double> &A, const size_t num,
249  const view1D<matrix::Dense<double>, double> &x,
251 void adds_row(const tensor::tensor_Dense<double> &A, const size_t num,
252  const view1D<tensor::tensor_Dense<double>, double> &x,
254 void adds_row(const tensor::tensor_Dense<float> &A, const size_t num,
256 void adds_row(const tensor::tensor_Dense<float> &A, const size_t num,
257  const view1D<vector<float>, float> &x,
259 void adds_row(const tensor::tensor_Dense<float> &A, const size_t num,
260  const view1D<matrix::Dense<float>, float> &x,
262 void adds_row(const tensor::tensor_Dense<float> &A, const size_t num,
263  const view1D<tensor::tensor_Dense<float>, float> &x,
287  const view1D<vector<double>, double> &x,
290  const view1D<matrix::Dense<double>, double> &x,
293  const view1D<tensor::tensor_Dense<double>, double> &x,
298  const view1D<vector<float>, float> &x,
301  const view1D<matrix::Dense<float>, float> &x,
304  const view1D<tensor::tensor_Dense<float>, float> &x,
326 void adds_col(const tensor::tensor_Dense<double> &A, const size_t num,
328 void adds_col(const tensor::tensor_Dense<double> &A, const size_t num,
329  const view1D<vector<double>, double> &x,
331 void adds_col(const tensor::tensor_Dense<double> &A, const size_t num,
332  const view1D<matrix::Dense<double>, double> &x,
334 void adds_col(const tensor::tensor_Dense<double> &A, const size_t num,
335  const view1D<tensor::tensor_Dense<double>, double> &x,
337 void adds_col(const tensor::tensor_Dense<float> &A, const size_t num,
339 void adds_col(const tensor::tensor_Dense<float> &A, const size_t num,
340  const view1D<vector<float>, float> &x,
342 void adds_col(const tensor::tensor_Dense<float> &A, const size_t num,
343  const view1D<matrix::Dense<float>, float> &x,
345 void adds_col(const tensor::tensor_Dense<float> &A, const size_t num,
346  const view1D<tensor::tensor_Dense<float>, float> &x,
370  const view1D<vector<double>, double> &x,
373  const view1D<matrix::Dense<double>, double> &x,
376  const view1D<tensor::tensor_Dense<double>, double> &x,
381  const view1D<vector<float>, float> &x,
384  const view1D<matrix::Dense<float>, float> &x,
387  const view1D<tensor::tensor_Dense<float>, float> &x,
392 } // namespace blas
393 } // namespace monolish
Dense format Matrix.
void tensvec(const tensor::tensor_Dense< double > &A, const vector< double > &x, tensor::tensor_Dense< double > &y)
tensor_Dense tensor and vector multiplication: ex. y_{ij} = A_{ijk} x_{k}
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