4 #include "../common/monolish_common.hpp"
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);