monolish  0.17.1
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 
94 void mscal(const double alpha, matrix::Dense<double> &A);
95 void mscal(const float alpha, matrix::Dense<float> &A);
113 void mscal(const double alpha, matrix::CRS<double> &A);
114 void mscal(const float alpha, matrix::CRS<float> &A);
133 void times(const double alpha, const matrix::Dense<double> &A,
135 void times(const float alpha, const matrix::Dense<float> &A,
157 void times(const double alpha, const matrix::CRS<double> &A,
159 void times(const float alpha, const matrix::CRS<float> &A,
160  matrix::CRS<float> &C);
179 void adds(const double alpha, const matrix::Dense<double> &A,
181 void adds(const float alpha, const matrix::Dense<float> &A,
251  matrix::CRS<float> &C);
321  matrix::CRS<float> &C);
364 void matmul(const double &a, const matrix::Dense<double> &A,
365  const matrix::Dense<double> &B, const double &b,
367 void matmul(const float &a, const matrix::Dense<float> &A,
368  const matrix::Dense<float> &B, const float &b,
413 void matmul(const double &a, const matrix::CRS<double> &A,
414  const matrix::Dense<double> &B, const double &b,
416 void matmul(const float &a, const matrix::CRS<float> &A,
417  const matrix::Dense<float> &B, const float &b,
486 } // namespace blas
487 } // 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