6 #ifndef MYRAMATH_DENSE_HEMM_H     7 #define MYRAMATH_DENSE_HEMM_H    14 #include <myramath/MYRAMATH_EXPORT.h>    20 template<
class Number> 
class Matrix;
    21 template<
class Number> 
class MatrixRange;
    22 template<
class Number> 
class CMatrixRange;
    23 template<
class Number> 
class LowerMatrixRange;
    24 template<
class Number> 
class CLowerMatrixRange;
    27 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
char uplo, 
const MatrixRange<NumberS>& C, 
const CMatrixRange<NumberS>& A, 
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta);
    29 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
char uplo, 
const MatrixRange<NumberD>& C, 
const CMatrixRange<NumberD>& A, 
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta);
    30 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
char uplo, 
const MatrixRange<NumberC>& C, 
const CMatrixRange<NumberC>& A, 
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta);
    31 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
char uplo, 
const MatrixRange<NumberZ>& C, 
const CMatrixRange<NumberZ>& A, 
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta);
    35 MYRAMATH_EXPORT Matrix<NumberS> hemm(
char side, 
char uplo, 
const CMatrixRange<NumberS>& A, 
const CMatrixRange<NumberS>& B, NumberS alpha = 1);
    37 MYRAMATH_EXPORT Matrix<NumberD> hemm(
char side, 
char uplo, 
const CMatrixRange<NumberD>& A, 
const CMatrixRange<NumberD>& B, NumberD alpha = 1);
    38 MYRAMATH_EXPORT Matrix<NumberC> hemm(
char side, 
char uplo, 
const CMatrixRange<NumberC>& A, 
const CMatrixRange<NumberC>& B, NumberC alpha = 1);
    39 MYRAMATH_EXPORT Matrix<NumberZ> hemm(
char side, 
char uplo, 
const CMatrixRange<NumberZ>& A, 
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1);
    43 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
const MatrixRange<NumberS>& C, 
const CLowerMatrixRange<NumberS>& A, 
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta);
    45 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
const MatrixRange<NumberD>& C, 
const CLowerMatrixRange<NumberD>& A, 
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta);
    47 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
const MatrixRange<NumberC>& C, 
const  LowerMatrixRange<NumberC>& A, 
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta);
    48 MYRAMATH_EXPORT 
void hemm_inplace(
char side, 
const MatrixRange<NumberZ>& C, 
const  LowerMatrixRange<NumberZ>& A, 
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta);
    52 MYRAMATH_EXPORT Matrix<NumberS> hemm(
char side, 
const CLowerMatrixRange<NumberS>& A, 
const CMatrixRange<NumberS>& B, NumberS alpha = 1);
    54 MYRAMATH_EXPORT Matrix<NumberD> hemm(
char side, 
const CLowerMatrixRange<NumberD>& A, 
const CMatrixRange<NumberD>& B, NumberD alpha = 1);
    56 MYRAMATH_EXPORT Matrix<NumberC> hemm(
char side, 
const  LowerMatrixRange<NumberC>& A, 
const CMatrixRange<NumberC>& B, NumberC alpha = 1);
    57 MYRAMATH_EXPORT Matrix<NumberZ> hemm(
char side, 
const  LowerMatrixRange<NumberZ>& A, 
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1);
 
Various utility functions/classes related to scalar Number types.