57 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
58 void
add(Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0,
59 typename Matrix::Scalar beta=1.0)
64 #ifdef HAVE_LINALG_LIB
75 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
76 void matrix_product(Matrix A, Matrix B, Matrix C,
77 bool transpose_A=
false,
bool transpose_B=
false,
bool overwrite=
true)
83 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
84 void subtract(Matrix A, Matrix B, Matrix C,
85 typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0)
91 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
92 void scale(Matrix A, Matrix B, typename Matrix::Scalar alpha)
98 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
99 void elementwise_product(Matrix A, Matrix B, Matrix C)
112 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
113 typename implementation::elementwise_square<backend,Matrix>::ReturnType elementwise_square(Matrix m)
125 template <Backend backend=linalg_traits<Core>::backend,
class Matrix, class ResultMatrix>
126 void elementwise_square(Matrix m, ResultMatrix result)
147 template <Backend backend=linalg_traits<Core>::backend,
class Matrix>
148 void convolve(Matrix X, Matrix W, Matrix Y, bool flip =
false,
149 bool overwrite=
true, int32_t stride_x=1, int32_t stride_y=1)
153 #endif // HAVE_LINALG_LIB
static void compute(Matrix A, Matrix B, Matrix C)
static void compute(Matrix A, Matrix B, Matrix C, bool transpose_A, bool transpose_B, bool overwrite)
void add(Matrix A, Matrix B, Matrix C, typename Matrix::Scalar alpha=1.0, typename Matrix::Scalar beta=1.0)
static void compute(Matrix A, Matrix B, Matrix C, T alpha, T beta)
static void compute(Matrix X, Matrix W, Matrix Y, bool flip, bool overwrite, int32_t stride_x, int32_t stride_y)
static void compute(Matrix A, Matrix B, Matrix C, T alpha, T beta)
static Matrix compute(Matrix m)