monolish  0.17.3-dev.16
MONOlithic LInear equation Solvers for Highly-parallel architecture
monolish_crs_vml.hpp
Go to the documentation of this file.
1 // this code is generated by gen_crs_vml.sh
2 #pragma once
3 
4 #include "../common/monolish_common.hpp"
5 
6 namespace monolish {
11 namespace vml {
12 
39 void add(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
64 void sub(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
89 void mul(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
114 void div(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
115  matrix::CRS<float> &C);
136 void add(const matrix::CRS<double> &A, const double alpha,
138 void add(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
159 void sub(const matrix::CRS<double> &A, const double alpha,
161 void sub(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
182 void mul(const matrix::CRS<double> &A, const double alpha,
184 void mul(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
205 void div(const matrix::CRS<double> &A, const double alpha,
207 void div(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
229 void pow(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
230  matrix::CRS<float> &C);
252 void pow(const matrix::CRS<double> &A, const double alpha,
254 void pow(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
519 void max(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
520  matrix::CRS<float> &C);
545 void min(const matrix::CRS<float> &A, const matrix::CRS<float> &B,
546  matrix::CRS<float> &C);
569 void max(const matrix::CRS<double> &A, const double alpha,
571 void max(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
594 void min(const matrix::CRS<double> &A, const double alpha,
596 void min(const matrix::CRS<float> &A, const float alpha, matrix::CRS<float> &C);
615 [[nodiscard]] double max(const matrix::CRS<double> &C);
616 [[nodiscard]] float max(const matrix::CRS<float> &C);
635 [[nodiscard]] double min(const matrix::CRS<double> &C);
636 [[nodiscard]] float min(const matrix::CRS<float> &C);
657 void alo(const matrix::CRS<double> &A, const double alpha, const double beta,
659 void alo(const matrix::CRS<float> &A, const float alpha, const float beta,
660  matrix::CRS<float> &C);
682 } // namespace vml
683 } // namespace monolish
Compressed Row Storage (CRS) format Matrix.
void add(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
element by element addition CRS matrix A and CRS matrix B.
void asin(const matrix::CRS< double > &A, matrix::CRS< double > &C)
asin to CRS matrix elements (C[0:nnz] = asin(A[0:nnz]))
void asinh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
asinh to CRS matrix elements (C[0:nnz] = asinh(A[0:nnz]))
void atan(const matrix::CRS< double > &A, matrix::CRS< double > &C)
atan to CRS matrix elements (C[0:nnz] = atan(A[0:nnz]))
void atanh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
atanh to CRS matrix elements (C[0:nnz] = atanh(A[0:nnz]))
void ceil(const matrix::CRS< double > &A, matrix::CRS< double > &C)
ceil to CRS matrix elements (C[0:nnz] = ceil(A[0:nnz]))
void max(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
Create a new CRS matrix with greatest elements of two matrices (C[0:nnz] = max(A[0:nnz],...
void min(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
Create a new CRS matrix with smallest elements of two matrices (C[0:nnz] = min(A[0:nnz],...
void div(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
element by element division CRS matrix A and CRS matrix B.
void floor(const matrix::CRS< double > &A, matrix::CRS< double > &C)
floor to CRS matrix elements (C[0:nnz] = floor(A[0:nnz]))
void mul(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
element by element multiplication CRS matrix A and CRS matrix B.
void pow(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
power to CRS matrix elements (C[0:N] = pow(A[0:N], B[0:N]))
void reciprocal(const matrix::CRS< double > &A, matrix::CRS< double > &C)
reciprocal to CRS matrix elements (C[0:nnz] = 1 / A[0:nnz])
void sign(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sign to CRS matrix elements (C[0:nnz] = sign(A[0:nnz]))
void sin(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sin to CRS matrix elements (C[0:nnz] = sin(A[0:nnz]))
void sinh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sinh to CRS matrix elements (C[0:nnz] = sinh(A[0:nnz]))
void sqrt(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sqrt to CRS matrix elements (C[0:nnz] = sqrt(A[0:nnz]))
void sub(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
element by element subtract CRS matrix A and CRS matrix B.
void tan(const matrix::CRS< double > &A, matrix::CRS< double > &C)
tan to CRS matrix elements (C[0:nnz] = tan(A[0:nnz]))
void tanh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
tanh to CRS matrix elements (C[0:nnz] = tanh(A[0:nnz]))
void alo(const matrix::CRS< double > &A, const double alpha, const double beta, matrix::CRS< double > &C)
Asymmetric linear operation to CRS matrix elements (C[0:nnz] = alpha max(A[0:nnz],...
monolish namespaces