monolish  0.14.0
MONOlithic LIner 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 #if defined USE_MPI
6 #include <mpi.h>
7 #endif
8 
9 namespace monolish {
14 namespace vml {
15 
28 void add(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
29  matrix::Dense<double> &C);
30 void add(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
31  matrix::Dense<float> &C);
32 
45 void sub(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
46  matrix::Dense<double> &C);
47 void sub(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
48  matrix::Dense<float> &C);
49 
62 void mul(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
63  matrix::Dense<double> &C);
64 void mul(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
65  matrix::Dense<float> &C);
66 
79 void div(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
80  matrix::Dense<double> &C);
81 void div(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
82  matrix::Dense<float> &C);
83 
96 void add(const matrix::Dense<double> &A, const double alpha,
97  matrix::Dense<double> &C);
98 void add(const matrix::Dense<float> &A, const float alpha,
99  matrix::Dense<float> &C);
100 
113 void sub(const matrix::Dense<double> &A, const double alpha,
114  matrix::Dense<double> &C);
115 void sub(const matrix::Dense<float> &A, const float alpha,
116  matrix::Dense<float> &C);
117 
130 void mul(const matrix::Dense<double> &A, const double alpha,
131  matrix::Dense<double> &C);
132 void mul(const matrix::Dense<float> &A, const float alpha,
133  matrix::Dense<float> &C);
134 
147 void div(const matrix::Dense<double> &A, const double alpha,
148  matrix::Dense<double> &C);
149 void div(const matrix::Dense<float> &A, const float alpha,
150  matrix::Dense<float> &C);
151 
163 void pow(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
164  matrix::Dense<double> &C);
165 void pow(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
166  matrix::Dense<float> &C);
167 
179 void pow(const matrix::Dense<double> &A, const double alpha,
180  matrix::Dense<double> &C);
181 void pow(const matrix::Dense<float> &A, const float alpha,
182  matrix::Dense<float> &C);
183 
193 void sin(const matrix::Dense<double> &A, matrix::Dense<double> &C);
194 void sin(const matrix::Dense<float> &A, matrix::Dense<float> &C);
195 
205 void sqrt(const matrix::Dense<double> &A, matrix::Dense<double> &C);
206 void sqrt(const matrix::Dense<float> &A, matrix::Dense<float> &C);
207 
217 void sinh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
218 void sinh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
219 
229 void asin(const matrix::Dense<double> &A, matrix::Dense<double> &C);
230 void asin(const matrix::Dense<float> &A, matrix::Dense<float> &C);
231 
241 void asinh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
242 void asinh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
243 
253 void tan(const matrix::Dense<double> &A, matrix::Dense<double> &C);
254 void tan(const matrix::Dense<float> &A, matrix::Dense<float> &C);
255 
265 void tanh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
266 void tanh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
267 
277 void atan(const matrix::Dense<double> &A, matrix::Dense<double> &C);
278 void atan(const matrix::Dense<float> &A, matrix::Dense<float> &C);
279 
289 void atanh(const matrix::Dense<double> &A, matrix::Dense<double> &C);
290 void atanh(const matrix::Dense<float> &A, matrix::Dense<float> &C);
291 
301 void ceil(const matrix::Dense<double> &A, matrix::Dense<double> &C);
302 void ceil(const matrix::Dense<float> &A, matrix::Dense<float> &C);
303 
313 void floor(const matrix::Dense<double> &A, matrix::Dense<double> &C);
314 void floor(const matrix::Dense<float> &A, matrix::Dense<float> &C);
315 
325 void sign(const matrix::Dense<double> &A, matrix::Dense<double> &C);
326 void sign(const matrix::Dense<float> &A, matrix::Dense<float> &C);
327 
340 void max(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
341  matrix::Dense<double> &C);
342 void max(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
343  matrix::Dense<float> &C);
344 
357 void min(const matrix::Dense<double> &A, const matrix::Dense<double> &B,
358  matrix::Dense<double> &C);
359 void min(const matrix::Dense<float> &A, const matrix::Dense<float> &B,
360  matrix::Dense<float> &C);
361 
371 double max(const matrix::Dense<double> &C);
372 float max(const matrix::Dense<float> &C);
373 
383 double min(const matrix::Dense<double> &C);
384 float min(const matrix::Dense<float> &C);
385 
395 void reciprocal(const matrix::Dense<double> &a, matrix::Dense<double> &y);
396 void reciprocal(const matrix::Dense<float> &a, matrix::Dense<float> &y);
397 
398 } // namespace vml
399 } // namespace monolish
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]))
Definition: matrix_vml.cpp:357
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],...
Definition: matrix_vml.cpp:390
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]))
Definition: matrix_vml.cpp:327
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],...
Definition: matrix_vml.cpp:382
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.
Definition: matrix_vml.cpp:228
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]))
Definition: matrix_vml.cpp:315
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]))
Definition: matrix_vml.cpp:309
monolish::vml::reciprocal
void reciprocal(const matrix::CRS< double > &a, matrix::CRS< double > &y)
reciprocal to CRS matrix elements (C[0:nnz] = 1 / A[0:nnz])
Definition: matrix_vml.cpp:375
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]))
Definition: matrix_vml.cpp:369
monolish
Definition: monolish_matrix_blas.hpp:9
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]))
Definition: matrix_vml.cpp:363
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.
Definition: matrix_vml.cpp:244
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]))
Definition: matrix_vml.cpp:333
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.
Definition: matrix_vml.cpp:220
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]))
Definition: matrix_vml.cpp:339
monolish::vml::pow
void pow(const matrix::CRS< double > &A, const matrix::CRS< double > &B, matrix::CRS< double > &C)
power to CRS matrix elements CRS matrix (C[0:N] = pow(A[0:N], B[0:N]))
Definition: matrix_vml.cpp:286
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.
Definition: matrix_vml.cpp:236
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]))
Definition: matrix_vml.cpp:303
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]))
Definition: matrix_vml.cpp:351
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]))
Definition: matrix_vml.cpp:321
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]))
Definition: matrix_vml.cpp:345