Functions |
template<class Field > |
void | MatMulParameters (const Field &F, const size_t k, const typename Field::Element &beta, size_t &delayedDim, FFLAS_BASE &base, size_t &winoRecLevel, bool winoLevelProvided=false) |
| Computes the threshold parameters for the cascade Matmul algorithm.
|
template<class Field > |
size_t | DotProdBound (const Field &F, const size_t winoRecLevel, const typename Field::Element &beta, const FFLAS_BASE base) |
| Computes the maximal size for delaying the modular reduction in a dotproduct.
|
template<class Field > |
double | computeFactorWino (const Field &F, const size_t w) |
| Internal function for the bound computation.
|
template<class Field > |
FFLAS_BASE | BaseCompute (const Field &F, const size_t w) |
| Determines the type of floating point representation to convert to, for BLAS computations.
|
template<class Field > |
size_t | TRSMBound (const Field &F) |
| Computes the maximal size for delaying the modular reduction in a triangular system resolution.
|
template<class Field > |
void | fzero (const Field &F, const size_t n, typename Field::Element *X, const size_t incX) |
| fzero : .
|
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) |
| fscal .
|
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) |
| fcopy : .
|
template<class Field > |
void | faxpy (const Field &F, const size_t N, const typename Field::Element alpha, const typename Field::Element *X, const size_t incX, typename Field::Element *Y, const size_t incY) |
| faxpy : .
|
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) |
| fdot: dot product .
|
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) |
| fswap: .
|
template<class Field > |
void | fcopy (const Field &F, const size_t m, const size_t n, typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb) |
| fcopy : .
|
template<class Field > |
void | fzero (const Field &F, const size_t m, const size_t n, typename Field::Element *A, const size_t lda) |
| fzero : .
|
template<class Field > |
void | fscal (const Field &F, const size_t m, const size_t n, const typename Field::Element alpha, typename Field::Element *A, const size_t lda) |
| fscal .
|
template<class Field > |
void | fmove (const Field &F, const size_t m, const size_t n, typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
| fmove : and .
|
template<class Field > |
void | fadd (const Field &F, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| fadd : matrix addition.
|
template<class Field > |
void | fsub (const Field &F, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| fsub : matrix subtraction.
|
template<class Field > |
void | fsubin (const Field &F, const size_t M, const size_t N, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| fsubin
|
template<class Field > |
void | faddin (const Field &F, const size_t M, const size_t N, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| faddin
|
template<class Field > |
void | fgemv (const Field &F, const 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) |
| finite prime Field GEneral Matrix Vector multiplication.
|
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) |
| fger: GEneral ?
|
template<class Field > |
void | ftrsv (const Field &F, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const FFLAS_DIAG Diag, const size_t N, const typename Field::Element *A, const size_t lda, typename Field::Element *X, int incX) |
| ftrsv: TRiangular System solve with Vector Computes
|
template<class Field > |
void | ftrsm (const Field &F, const FFLAS_SIDE Side, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const 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) |
| ftrsm: TRiangular System solve with Matrix.
|
template<class Field > |
void | ftrmm (const Field &F, const FFLAS_SIDE Side, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const 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) |
| ftrmm: TRiangular Matrix Multiply.
|
template<class Field > |
Field::Element * | fgemm (const Field &F, const FFLAS_TRANSPOSE ta, const 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 w) |
| fgemm: Field GEneral Matrix Multiply.
|
template<class Field > |
Field::Element * | fgemm (const Field &F, const FFLAS_TRANSPOSE ta, const 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) |
| fgemm: Field GEneral Matrix Multiply.
|
template<class Field > |
Field::Element * | fsquare (const Field &F, const 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) |
| fsquare: Squares a matrix.
|
template<class Field > |
void | faddm (const Field &F, const FFLAS_TRANSPOSE transA, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
| faddm.
|
template<class Field > |
void | faddm (const Field &F, const FFLAS_TRANSPOSE transA, const FFLAS_TRANSPOSE transB, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| faddm.
|
template<class Field > |
void | fsubm (const Field &F, const FFLAS_TRANSPOSE transA, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, typename Field::Element *B, const size_t ldb) |
| fsubm.
|
template<class Field > |
void | fsubm (const Field &F, const FFLAS_TRANSPOSE transA, const FFLAS_TRANSPOSE transB, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc) |
| fsubm.
|
template<class Field > |
Field::Element * | MatCopy (const Field &F, const size_t M, const size_t N, const typename Field::Element *A, const size_t lda) |
| MatCopy makes a copy of the matrix M into a new allocated space.
|
size_t | WinoSteps (const size_t m) |
| Computes the number of recursive levels to perform.
|