@doc This class only provides a set of static member functions. No instantiation is allowed.
|
Public Types |
typedef UnparametricField<
double > | DoubleDomain |
enum | FFLAS_TRANSPOSE { FflasNoTrans = 111,
FflasTrans = 112
} |
enum | FFLAS_UPLO { FflasUpper = 121,
FflasLower = 122
} |
enum | FFLAS_DIAG { FflasNonUnit = 131,
FflasUnit = 132
} |
enum | FFLAS_SIDE { FflasLeft = 141,
FflasRight = 142
} |
Static Public Methods |
template<class Field> void | MatF2MatD (const Field &F, DoubleDomain::Element *S, const size_t lds, const typename Field::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field> void | MatF2MatD_Triangular (const Field &F, typename DoubleDomain::Element *S, const size_t lds, const typename Field::Element *const E, const size_t lde, const size_t m, const size_t n) |
template<class Field> void | MatD2MatF (const Field &F, typename Field::Element *S, const size_t lds, const typename DoubleDomain::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field> void | fscal (const Field &F, const size_t n, const typename Field::Element alpha, typename Field::Element *X, const size_t incX) |
template<class Field> void | fcopy (const Field &F, const size_t N, typename Field::Element *X, const size_t incX, const typename Field::Element *Y, const size_t incY) |
template<class Field> void | faxpy (const Field &F, const size_t N, const typename Field::Element a, const typename Field::Element *X, const size_t incX, typename Field::Element *Y, const size_t incY) |
template<class Field> Field::Element | fdot (const Field &F, const size_t N, const typename Field::Element *X, const size_t incX, const typename Field::Element *Y, const size_t incY) |
template<class Field> void | fswap (const Field &F, const size_t N, typename Field::Element *X, const size_t incX, typename Field::Element *Y, const size_t incY) |
template<class Field> void | fgemv (const Field &F, const enum FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *X, const size_t incX, const typename Field::Element beta, typename Field::Element *Y, const size_t incY) |
template<class Field> void | fger (const Field &F, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *x, const size_t incx, const typename Field::Element *y, const size_t incy, typename Field::Element *A, const size_t lda) |
template<class Field> void | ftrsv (const Field &F, const enum FFLAS_UPLO Uplo, const enum FFLAS_TRANSPOSE TransA, const enum FFLAS_DIAG Diag, const size_t N, const typename Field::Element *A, const size_t lda, typename Field::Element *X, int incX) |
template<class Field> void | ftrsm (const Field &F, const enum FFLAS_SIDE Side, const enum FFLAS_UPLO Uplo, const enum FFLAS_TRANSPOSE TransA, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmm (const Field &F, const enum FFLAS_SIDE Side, const enum FFLAS_UPLO Uplo, const enum FFLAS_TRANSPOSE TransA, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> Field::Element * | fgemm (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t winostep) |
| Field GEneral Matrix Multiply.
|
template<class Field> Field::Element * | fgemm (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc) |
template<class Field> Field::Element * | fsquare (const Field &F, const enum FFLAS_TRANSPOSE ta, const size_t n, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element beta, typename Field::Element *C, const size_t ldc) |
Protected Methods |
| FFLAS () |
Static Protected Methods |
template<class Field> size_t | FflasKmax (const Field &F, const size_t w, const typename Field::Element beta) |
template<class Field> void | DynamicPealing (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax) |
template<class Field> void | MatVectProd (const Field &F, const enum FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *X, const size_t incX, const typename Field::Element beta, typename Field::Element *Y, const size_t incY) |
template<class Field> void | ClassicMatmul (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax) |
template<class Field> void | WinoCalc (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t mr, const size_t nr, const size_t kr, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax, const size_t w) |
template<class Field> void | WinoMain (const Field &F, const enum FFLAS_TRANSPOSE ta, const enum FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax, const size_t w) |
template<class Field> void | ftrsmLeftUpNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrsmLeftUpTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrsmLeftLowNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb, const size_t nmax) |
template<class Field> void | ftrsmLeftLowTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrsmRightUpNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb, const size_t nmax) |
template<class Field> void | ftrsmRightUpTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrsmRightLowNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrsmRightLowTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmmLeftUpNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmmLeftUpTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmmLeftLowNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb, const size_t nmax) |
template<class Field> void | ftrmmLeftLowTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmmRightUpNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb, const size_t nmax) |
template<class Field> void | ftrmmRightUpTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
template<class Field> void | ftrmmRightLowNoTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb, const size_t nmax) |
template<class Field> void | ftrmmRightLowTrans (const Field &F, const enum FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |