monolish  0.14.0
MONOlithic LIner 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 #if defined USE_MPI
6 #include <mpi.h>
7 #endif
8 
9 namespace monolish {
15 namespace blas {
16 
29 
44 
58 void copy(const matrix::CRS<float> &A, matrix::CRS<float> &C);
59 
70 void mscal(const double alpha, matrix::Dense<double> &A);
71 void mscal(const float alpha, matrix::Dense<float> &A);
72 
83 void mscal(const double alpha, matrix::CRS<double> &A);
84 void mscal(const float alpha, matrix::CRS<float> &A);
85 
97 void matadd(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
99 void matadd(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
101 
118 
133 void matadd(const matrix::CRS<double> &A, const matrix::CRS<double> &B,
135 void matadd(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
136  matrix::CRS<float> &C);
137 
149 void matsub(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
151 void matsub(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
153 
170 
185 void matsub(const matrix::CRS<double> &A, const matrix::CRS<double> &B,
187 void matsub(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
188  matrix::CRS<float> &C);
189 
201 void matmul(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
203 void matmul(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
205 
222 
234 void matmul(const matrix::CRS<double> &A, const matrix::Dense<double> &B,
236 void matmul(const matrix::CRS<float> &A, const matrix::Dense<float> &B,
238 
239 } // namespace blas
240 } // namespace monolish
monolish::matrix::LinearOperator
Linear Operator imitating Matrix.
Definition: monolish_coo.hpp:30
monolish::matrix::Dense
Dense format Matrix.
Definition: monolish_coo.hpp:28
monolish::blas::mscal
void mscal(const double alpha, matrix::Dense< double > &A)
Densematrix scal: A = alpha * A.
Definition: dense_scal.cpp:20
monolish::blas::copy
void copy(const matrix::Dense< double > &A, matrix::Dense< double > &C)
Dense matrix copy (C=A)
Definition: dense_copy.cpp:25
monolish::blas::matsub
void matsub(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix subtract: C = A - B.
Definition: dense_mataddsub.cpp:46
monolish
Definition: monolish_matrix_blas.hpp:9
monolish::blas::matadd
void matadd(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix addition: C = A + B.
Definition: dense_mataddsub.cpp:42
monolish::blas::matmul
void matmul(const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
Dense matrix multiplication: C = AB.
Definition: dense-dense_matmul.cpp:7
monolish::matrix::CRS
Compressed Row Storage (CRS) format Matrix.
Definition: monolish_coo.hpp:29