Wrapper for ATLAS/BLAS dgemm function, using template arguments to control the arguments passed to dgemm. Matrix 'C' is assumed to have been set to the correct size (i.e. taking into account transposes)
More...
#include <gemm.hpp>
List of all members.
Static Public Member Functions |
template<typename eT > |
static void | apply (Mat< eT > &C, const Mat< eT > &A, const Mat< eT > &B, const eT alpha=eT(1), const eT beta=eT(0)) |
| immediate multiplication of matrices A and B, storing the result in C
|
static arma_inline void | apply (Mat< float > &C, const Mat< float > &A, const Mat< float > &B, const float alpha=float(1), const float beta=float(0)) |
static arma_inline void | apply (Mat< double > &C, const Mat< double > &A, const Mat< double > &B, const double alpha=double(1), const double beta=double(0)) |
static arma_inline void | apply (Mat< std::complex< float > > &C, const Mat< std::complex< float > > &A, const Mat< std::complex< float > > &B, const std::complex< float > alpha=std::complex< float >(1), const std::complex< float > beta=std::complex< float >(0)) |
static arma_inline void | apply (Mat< std::complex< double > > &C, const Mat< std::complex< double > > &A, const Mat< std::complex< double > > &B, const std::complex< double > alpha=std::complex< double >(1), const std::complex< double > beta=std::complex< double >(0)) |
template<typename eT > |
static void | apply_blas_type (Mat< eT > &C, const Mat< eT > &A, const Mat< eT > &B, const eT alpha=eT(1), const eT beta=eT(0)) |
Detailed Description
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
class gemm< do_trans_A, do_trans_B, use_alpha, use_beta >
Wrapper for ATLAS/BLAS dgemm function, using template arguments to control the arguments passed to dgemm. Matrix 'C' is assumed to have been set to the correct size (i.e. taking into account transposes)
Definition at line 336 of file gemm.hpp.
Member Function Documentation
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
template<typename eT >
static void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply |
( |
Mat< eT > & |
C, |
|
|
const Mat< eT > & |
A, |
|
|
const Mat< eT > & |
B, |
|
|
const eT |
alpha = eT(1) , |
|
|
const eT |
beta = eT(0) |
|
) |
| [inline, static] |
immediate multiplication of matrices A and B, storing the result in C
Definition at line 429 of file gemm.hpp.
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
static arma_inline void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply |
( |
Mat< float > & |
C, |
|
|
const Mat< float > & |
A, |
|
|
const Mat< float > & |
B, |
|
|
const float |
alpha = float(1) , |
|
|
const float |
beta = float(0) |
|
) |
| [inline, static] |
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
static arma_inline void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply |
( |
Mat< double > & |
C, |
|
|
const Mat< double > & |
A, |
|
|
const Mat< double > & |
B, |
|
|
const double |
alpha = double(1) , |
|
|
const double |
beta = double(0) |
|
) |
| [inline, static] |
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
static arma_inline void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply |
( |
Mat< std::complex< float > > & |
C, |
|
|
const Mat< std::complex< float > > & |
A, |
|
|
const Mat< std::complex< float > > & |
B, |
|
|
const std::complex< float > |
alpha = std::complex<float>(1) , |
|
|
const std::complex< float > |
beta = std::complex<float>(0) |
|
) |
| [inline, static] |
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
static arma_inline void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply |
( |
Mat< std::complex< double > > & |
C, |
|
|
const Mat< std::complex< double > > & |
A, |
|
|
const Mat< std::complex< double > > & |
B, |
|
|
const std::complex< double > |
alpha = std::complex<double>(1) , |
|
|
const std::complex< double > |
beta = std::complex<double>(0) |
|
) |
| [inline, static] |
template<const bool do_trans_A = false, const bool do_trans_B = false, const bool use_alpha = false, const bool use_beta = false>
template<typename eT >
static void gemm< do_trans_A, do_trans_B, use_alpha, use_beta >::apply_blas_type |
( |
Mat< eT > & |
C, |
|
|
const Mat< eT > & |
A, |
|
|
const Mat< eT > & |
B, |
|
|
const eT |
alpha = eT(1) , |
|
|
const eT |
beta = eT(0) |
|
) |
| [inline, static] |
The documentation for this class was generated from the following file: