Static Public Member Functions
gemm< do_trans_A, do_trans_B, use_alpha, use_beta > Class Template Reference

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]

Definition at line 440 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< double > &  C,
const Mat< double > &  A,
const Mat< double > &  B,
const double  alpha = double(1),
const double  beta = double(0) 
) [inline, static]

Definition at line 457 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< 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]

Definition at line 474 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< 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]

Definition at line 491 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>
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]

Definition at line 344 of file gemm.hpp.


The documentation for this class was generated from the following file:


armadillo_matrix
Author(s): Conrad Sanderson - NICTA (www.nicta.com.au), (Wrapper by Sjoerd van den Dries)
autogenerated on Tue Jan 7 2014 11:42:07