6 #ifndef MYRAMATH_PDENSE_PHEMM_H 7 #define MYRAMATH_PDENSE_PHEMM_H 14 #include <myramath/MYRAMATH_EXPORT.h> 24 template<
class Number>
class Matrix;
25 template<
class Number>
class MatrixRange;
26 template<
class Number>
class CMatrixRange;
27 template<
class Number>
class LowerMatrixRange;
28 template<
class Number>
class CLowerMatrixRange;
31 MYRAMATH_EXPORT
void phemm_inplace(
char side,
char uplo,
const MatrixRange<NumberS>& C,
const CMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta, pdense::Options options =
pdense::Options::create());
33 MYRAMATH_EXPORT
void phemm_inplace(
char side,
char uplo,
const MatrixRange<NumberD>& C,
const CMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta, pdense::Options options =
pdense::Options::create());
34 MYRAMATH_EXPORT
void phemm_inplace(
char side,
char uplo,
const MatrixRange<NumberC>& C,
const CMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta, pdense::Options options =
pdense::Options::create());
35 MYRAMATH_EXPORT
void phemm_inplace(
char side,
char uplo,
const MatrixRange<NumberZ>& C,
const CMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta, pdense::Options options =
pdense::Options::create());
39 MYRAMATH_EXPORT Matrix<NumberS> phemm(
char side,
char uplo,
const CMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha = 1, pdense::Options options =
pdense::Options::create());
41 MYRAMATH_EXPORT Matrix<NumberD> phemm(
char side,
char uplo,
const CMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha = 1, pdense::Options options =
pdense::Options::create());
42 MYRAMATH_EXPORT Matrix<NumberC> phemm(
char side,
char uplo,
const CMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha = 1, pdense::Options options =
pdense::Options::create());
43 MYRAMATH_EXPORT Matrix<NumberZ> phemm(
char side,
char uplo,
const CMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1, pdense::Options options =
pdense::Options::create());
47 MYRAMATH_EXPORT
void phemm_inplace(
char side,
const MatrixRange<NumberS>& C,
const CLowerMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta, pdense::Options options =
pdense::Options::create());
49 MYRAMATH_EXPORT
void phemm_inplace(
char side,
const MatrixRange<NumberD>& C,
const CLowerMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta, pdense::Options options =
pdense::Options::create());
51 MYRAMATH_EXPORT
void phemm_inplace(
char side,
const MatrixRange<NumberC>& C,
const LowerMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta, pdense::Options options =
pdense::Options::create());
52 MYRAMATH_EXPORT
void phemm_inplace(
char side,
const MatrixRange<NumberZ>& C,
const LowerMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta, pdense::Options options =
pdense::Options::create());
56 MYRAMATH_EXPORT Matrix<NumberS> phemm(
char side,
const CLowerMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha = 1, pdense::Options options =
pdense::Options::create());
58 MYRAMATH_EXPORT Matrix<NumberD> phemm(
char side,
const CLowerMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha = 1, pdense::Options options =
pdense::Options::create());
60 MYRAMATH_EXPORT Matrix<NumberC> phemm(
char side,
const LowerMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha = 1, pdense::Options options =
pdense::Options::create());
61 MYRAMATH_EXPORT Matrix<NumberZ> phemm(
char side,
const LowerMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha = 1, pdense::Options options =
pdense::Options::create());
66 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
char uplo,
const MatrixRange<NumberS>& C,
const CMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
68 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
char uplo,
const MatrixRange<NumberD>& C,
const CMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
69 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
char uplo,
const MatrixRange<NumberC>& C,
const CMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
70 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
char uplo,
const MatrixRange<NumberZ>& C,
const CMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
74 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
const MatrixRange<NumberS>& C,
const CLowerMatrixRange<NumberS>& A,
const CMatrixRange<NumberS>& B, NumberS alpha, NumberS beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
76 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
const MatrixRange<NumberD>& C,
const CLowerMatrixRange<NumberD>& A,
const CMatrixRange<NumberD>& B, NumberD alpha, NumberD beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
78 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
const MatrixRange<NumberC>& C,
const LowerMatrixRange<NumberC>& A,
const CMatrixRange<NumberC>& B, NumberC alpha, NumberC beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
79 MYRAMATH_EXPORT JobGraph phemm_jobgraph(
char side,
const MatrixRange<NumberZ>& C,
const LowerMatrixRange<NumberZ>& A,
const CMatrixRange<NumberZ>& B, NumberZ alpha, NumberZ beta,
char dir =
'F', pdense::Options options =
pdense::Options::create());
static Options create()
Named constructor idiom, creates default options.
Definition: Options.h:44
Abstraction for representing a directed acyclic graph of Job's.
Various utility functions/classes related to scalar Number types.
Options pack for routines in /pdense.