monolish  0.16.0
MONOlithic LInear equation Solvers for Highly-parallel architecture
monolish_dense_vml.hpp
Go to the documentation of this file.
1 // this code is generated by gen_dense_vml.sh
2 #pragma once
3 
4 #include "../common/monolish_common.hpp"
5 
6 namespace monolish {
11 namespace vml {
12 
34 void add(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
35  matrix::Dense<double> &C);
36 void add(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
37  matrix::Dense<float> &C);
56 void sub(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
57  matrix::Dense<double> &C);
58 void sub(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
59  matrix::Dense<float> &C);
78 void mul(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
79  matrix::Dense<double> &C);
80 void mul(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
81  matrix::Dense<float> &C);
100 void div(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
101  matrix::Dense<double> &C);
102 void div(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
103  matrix::Dense<float> &C);
122 void add(const matrix::Dense<double> &A, const double alpha,
123  matrix::Dense<double> &C);
124 void add(const matrix::Dense<float> &A, const float alpha,
125  matrix::Dense<float> &C);
144 void sub(const matrix::Dense<double> &A, const double alpha,
145  matrix::Dense<double> &C);
146 void sub(const matrix::Dense<float> &A, const float alpha,
147  matrix::Dense<float> &C);
166 void mul(const matrix::Dense<double> &A, const double alpha,
167  matrix::Dense<double> &C);
168 void mul(const matrix::Dense<float> &A, const float alpha,
169  matrix::Dense<float> &C);
188 void div(const matrix::Dense<double> &A, const double alpha,
189  matrix::Dense<double> &C);
190 void div(const matrix::Dense<float> &A, const float alpha,
191  matrix::Dense<float> &C);
209 void pow(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
210  matrix::Dense<double> &C);
211 void pow(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
212  matrix::Dense<float> &C);
232 void pow(const matrix::Dense<double> &A, const double alpha,
233  matrix::Dense<double> &C);
234 void pow(const matrix::Dense<float> &A, const float alpha,
235  matrix::Dense<float> &C);
252 void sin(const matrix::Dense<double> &A, matrix::Dense<double> &C);
253 void sin(const matrix::Dense<float> &A, matrix::Dense<float> &C);
270 void sqrt(const matrix::Dense<double> &A, matrix::Dense<double> &C);
271 void sqrt(const matrix::Dense<float> &A, matrix::Dense<float> &C);
288 void sinh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
289 void sinh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
306 void asin(const matrix::Dense<double> &A, matrix::Dense<double> &C);
307 void asin(const matrix::Dense<float> &A, matrix::Dense<float> &C);
324 void asinh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
325 void asinh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
342 void tan(const matrix::Dense<double> &A, matrix::Dense<double> &C);
343 void tan(const matrix::Dense<float> &A, matrix::Dense<float> &C);
360 void tanh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
361 void tanh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
378 void atan(const matrix::Dense<double> &A, matrix::Dense<double> &C);
379 void atan(const matrix::Dense<float> &A, matrix::Dense<float> &C);
396 void atanh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
397 void atanh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
414 void ceil(const matrix::Dense<double> &A, matrix::Dense<double> &C);
415 void ceil(const matrix::Dense<float> &A, matrix::Dense<float> &C);
432 void floor(const matrix::Dense<double> &A, matrix::Dense<double> &C);
433 void floor(const matrix::Dense<float> &A, matrix::Dense<float> &C);
450 void sign(const matrix::Dense<double> &A, matrix::Dense<double> &C);
451 void sign(const matrix::Dense<float> &A, matrix::Dense<float> &C);
472 void max(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
473  matrix::Dense<double> &C);
474 void max(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
475  matrix::Dense<float> &C);
496 void min(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
497  matrix::Dense<double> &C);
498 void min(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
499  matrix::Dense<float> &C);
516 [[nodiscard]] double max(const matrix::Dense<double> &C);
517 [[nodiscard]] float max(const matrix::Dense<float> &C);
534 [[nodiscard]] double min(const matrix::Dense<double> &C);
535 [[nodiscard]] float min(const matrix::Dense<float> &C);
552 void reciprocal(const matrix::Dense<double> &A, matrix::Dense<double> &C);
553 void reciprocal(const matrix::Dense<float> &A, matrix::Dense<float> &C);
556 } // namespace vml
557 } // namespace monolish
monolish::vml::atan
void atan(const matrix::CRS< double > &A, matrix::CRS< double > &C)
atan to CRS matrix elements (C[0:nnz] = atan(A[0:nnz]))
monolish::vml::min
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],...
monolish::vml::max
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],...
monolish::vml::asin
void asin(const matrix::CRS< double > &A, matrix::CRS< double > &C)
asin to CRS matrix elements (C[0:nnz] = asin(A[0:nnz]))
monolish::vml::sinh
void sinh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sinh to CRS matrix elements (C[0:nnz] = sinh(A[0:nnz]))
monolish::vml::tan
void tan(const matrix::CRS< double > &A, matrix::CRS< double > &C)
tan to CRS matrix elements (C[0:nnz] = tan(A[0:nnz]))
monolish::vml::reciprocal
void reciprocal(const matrix::CRS< double > &A, matrix::CRS< double > &C)
reciprocal to CRS matrix elements (C[0:nnz] = 1 / A[0:nnz])
monolish::vml::tanh
void tanh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
tanh to CRS matrix elements (C[0:nnz] = tanh(A[0:nnz]))
monolish::vml::sin
void sin(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sin to CRS matrix elements (C[0:nnz] = sin(A[0:nnz]))
monolish::vml::sub
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.
monolish::vml::div
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.
monolish::vml::sign
void sign(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sign to CRS matrix elements (C[0:nnz] = sign(A[0:nnz]))
monolish::vml::atanh
void atanh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
atanh to CRS matrix elements (C[0:nnz] = atanh(A[0:nnz]))
monolish::vml::add
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.
monolish::vml::pow
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]))
monolish
monolish namespaces
Definition: monolish_matrix_blas.hpp:5
monolish::vml::mul
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.
monolish::vml::sqrt
void sqrt(const matrix::CRS< double > &A, matrix::CRS< double > &C)
sqrt to CRS matrix elements (C[0:nnz] = sqrt(A[0:nnz]))
monolish::vml::ceil
void ceil(const matrix::CRS< double > &A, matrix::CRS< double > &C)
ceil to CRS matrix elements (C[0:nnz] = ceil(A[0:nnz]))
monolish::vml::asinh
void asinh(const matrix::CRS< double > &A, matrix::CRS< double > &C)
asinh to CRS matrix elements (C[0:nnz] = asinh(A[0:nnz]))
monolish::vml::floor
void floor(const matrix::CRS< double > &A, matrix::CRS< double > &C)
floor to CRS matrix elements (C[0:nnz] = floor(A[0:nnz]))