|
FflasFfpack
|
Data Structures | |
| class | AreEqual |
| class | AreEqual< X, X > |
Functions | |
| 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 | MatF2MatFl (const Field &F, FloatDomain::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 | MatF2MatFl_Triangular (const Field &F, typename FloatDomain::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 | MatFl2MatF (const Field &F, typename Field::Element *S, const size_t lds, const typename FloatDomain::Element *E, const size_t lde, const size_t m, const size_t n) |
| 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 > | |
| double | computeFactorClassic (const Field &F) |
| 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 | DynamicPealing (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) |
| template<class Field > | |
| void | MatVectProd (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) |
| template<class Field > | |
| void | ClassicMatmul (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 kmax, const FFLAS_BASE base) |
| template<class Field > | |
| void | WinoCalc (const Field &F, const FFLAS_TRANSPOSE ta, const 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, const FFLAS_BASE base) |
| template<class Field > | |
| void | WinoMain (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 kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| double | computeFactorWino (const FFPACK::ModularBalanced< double > &F, const size_t w) |
| template<> | |
| double | computeFactorClassic (const FFPACK::ModularBalanced< double > &F) |
| template<> | |
| FFLAS_BASE | BaseCompute (const FFPACK::Modular< double > &, const size_t) |
| template<> | |
| FFLAS_BASE | BaseCompute (const FFPACK::Modular< float > &, const size_t) |
| template<> | |
| FFLAS_BASE | BaseCompute (const FFPACK::ModularBalanced< double > &, const size_t) |
| template<> | |
| FFLAS_BASE | BaseCompute (const FFPACK::ModularBalanced< float > &, const size_t) |
| template<> | |
| size_t | TRSMBound (const FFPACK::Modular< double > &F) |
| Specialization for positive modular representation over double Computes nmax s.t. | |
| template<> | |
| size_t | TRSMBound (const FFPACK::Modular< float > &F) |
| Specialization for positive modular representation over float. | |
| template<> | |
| size_t | TRSMBound (const FFPACK::ModularBalanced< double > &F) |
| Specialization for balanced modular representation over double. | |
| template<> | |
| size_t | TRSMBound (const FFPACK::ModularBalanced< float > &F) |
| Specialization for balanced modular representation over float Computes nmax s.t. | |
| template<> | |
| void | ClassicMatmul (const DoubleDomain &, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const DoubleDomain::Element alpha, const DoubleDomain::Element *Ad, const size_t lda, const DoubleDomain::Element *Bd, const size_t ldb, const DoubleDomain::Element beta, DoubleDomain::Element *Cd, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | ClassicMatmul (const FloatDomain &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const FloatDomain::Element alpha, const FloatDomain::Element *Ad, const size_t lda, const FloatDomain::Element *Bd, const size_t ldb, const FloatDomain::Element beta, FloatDomain::Element *Cd, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | ClassicMatmul (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | ClassicMatmul (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | ClassicMatmul (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | ClassicMatmul (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const DoubleDomain &D, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const DoubleDomain::Element alpha, const DoubleDomain::Element *A, const size_t lda, const DoubleDomain::Element *B, const size_t ldb, const DoubleDomain::Element beta, DoubleDomain::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const FloatDomain &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const FloatDomain::Element alpha, const FloatDomain::Element *A, const size_t lda, const FloatDomain::Element *B, const size_t ldb, const FloatDomain::Element beta, FloatDomain::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | WinoMain (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
| template<> | |
| void | MatVectProd (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const double alpha, const double *A, const size_t lda, const double *X, const size_t incX, const double beta, double *Y, const size_t incY) |
| template<> | |
| void | MatVectProd (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const float alpha, const float *A, const size_t lda, const float *X, const size_t incX, const float beta, float *Y, const size_t incY) |
| template<> | |
| void | MatVectProd (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const double alpha, const double *A, const size_t lda, const double *X, const size_t incX, const double beta, double *Y, const size_t incY) |
| template<> | |
| void | MatVectProd (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const float alpha, const float *A, const size_t lda, const float *X, const size_t incX, const float beta, float *Y, const size_t incY) |
| void FFLAS::Protected::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 | ||
| ) |
| void FFLAS::Protected::MatF2MatFl | ( | const Field & | F, |
| FloatDomain::Element * | S, | ||
| const size_t | lds, | ||
| const typename Field::Element * | E, | ||
| const size_t | lde, | ||
| const size_t | m, | ||
| const size_t | n | ||
| ) |
| void FFLAS::Protected::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 | ||
| ) |
| void FFLAS::Protected::MatF2MatFl_Triangular | ( | const Field & | F, |
| typename FloatDomain::Element * | S, | ||
| const size_t | lds, | ||
| const typename Field::Element *const | E, | ||
| const size_t | lde, | ||
| const size_t | m, | ||
| const size_t | n | ||
| ) |
| void FFLAS::Protected::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 | ||
| ) |
| void FFLAS::Protected::MatFl2MatF | ( | const Field & | F, |
| typename Field::Element * | S, | ||
| const size_t | lds, | ||
| const typename FloatDomain::Element * | E, | ||
| const size_t | lde, | ||
| const size_t | m, | ||
| const size_t | n | ||
| ) |
| 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 |
||
| ) | [inline] |
Computes the threshold parameters for the cascade Matmul algorithm.
MatMulParameters.
| F | Finite Field/Ring of the computation. |
| k | Common dimension of A and B, in the product A x B |
| beta | Computing |
| delayedDim | Returns the size of blocks that can be multiplied over Z with no overflow |
| base | Returns the type of BLAS representation to use |
| winoRecLevel | Returns the number of recursion levels of Strassen-Winograd's algorithm to perform |
| winoLevelProvided | tells whether the user forced the number of recursive level of Winograd's algorithm |
Computes the threshold parameters for the cascade Matmul algorithm
| F | Finite Field/Ring of the computation. |
| k | Common dimension of A and B, in the product A x B |
| bet | Computing AB + beta C |
| delayedDim | Returns the size of blocks that can be multiplied over Z with no overflow |
| base | Returns the type of BLAS representation to use |
| winoRecLevel | Returns the number of recursion levels of Strassen-Winograd's algorithm to perform |
| winoLevelProvided | tells whether the user forced the number of recursive level of Winograd's algorithm |
| size_t DotProdBound | ( | const Field & | F, |
| const size_t | w, | ||
| const typename Field::Element & | beta, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
Computes the maximal size for delaying the modular reduction in a dotproduct.
DotProdBound computes the maximal size for delaying the modular reduction in a dotproduct.
This is the default version assuming a conversion to a positive modular representation
| F | Finite Field/Ring of the computation |
| winoRecLevel | Number of recusrive Strassen-Winograd levels (if any, 0 otherwise) |
| beta | Computing AB + beta C |
| base | Type of floating point representation for delayed modular computations |
This is the default version assuming a conversion to a positive modular representation
| F | Finite Field/Ring of the computation |
| w | Number of recusrive Strassen-Winograd levels (if any, 0 otherwise) |
| beta | Computing AB + beta C |
| base | Type of floating point representation for delayed modular computations |
| double computeFactorWino | ( | const Field & | F, |
| const size_t | w | ||
| ) | [inline] |
Internal function for the bound computation.
Internal function for the bound computation Generic implementation for positive representations.
Generic implementation for positive representations
| double computeFactorClassic | ( | const Field & | F | ) | [inline] |
| FFLAS_BASE BaseCompute | ( | const Field & | F, |
| const size_t | w | ||
| ) | [inline] |
Determines the type of floating point representation to convert to, for BLAS computations.
BaseCompute determines the type of floating point representation to convert to, for BLAS computations.
| F | Finite Field/Ring of the computation |
| w | Number of recursive levels in Winograd's algorithm |
Computes the maximal size for delaying the modular reduction in a triangular system resolution.
TRSMBound.
Compute the maximal dimension k, such that a unit diagonal triangular system of dimension k can be solved over Z without overflow of the underlying floating point representation.
| F | Finite Field/Ring of the computation |
computes the maximal size for delaying the modular reduction in a triangular system resolution
This is the default version over an arbitrary field. It is currently never used (the recursive algorithm is run until n=1 in this case)
| F | Finite Field/Ring of the computation |
| void DynamicPealing | ( | 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 | kmax | ||
| ) | [inline] |
| void MatVectProd | ( | 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 | ||
| ) | [inline] |
| void ClassicMatmul | ( | 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 | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void WinoCalc | ( | const Field & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const 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, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void WinoMain | ( | 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 | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| double FFLAS::Protected::computeFactorWino | ( | const FFPACK::ModularBalanced< double > & | F, |
| const size_t | w | ||
| ) | [inline] |
| double FFLAS::Protected::computeFactorClassic | ( | const FFPACK::ModularBalanced< double > & | F | ) | [inline] |
| FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::Modular< double > & | , |
| const size_t | |||
| ) | [inline] |
| FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::Modular< float > & | , |
| const size_t | |||
| ) | [inline] |
| FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::ModularBalanced< double > & | , |
| const size_t | |||
| ) | [inline] |
| FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::ModularBalanced< float > & | , |
| const size_t | |||
| ) | [inline] |
| size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::Modular< double > & | F | ) | [inline] |
Specialization for positive modular representation over double Computes nmax s.t.
(p-1)/2*(p^{nmax-1} + (p-2)^{nmax-1}) < 2^53 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
| size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::Modular< float > & | F | ) | [inline] |
Specialization for positive modular representation over float.
Computes nmax s.t. (p-1)/2*(p^{nmax-1} + (p-2)^{nmax-1}) < 2^24 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
| size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::ModularBalanced< double > & | F | ) | [inline] |
Specialization for balanced modular representation over double.
Computes nmax s.t. (p-1)/2*(((p+1)/2)^{nmax-1}) < 2^53
| size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::ModularBalanced< float > & | F | ) | [inline] |
Specialization for balanced modular representation over float Computes nmax s.t.
(p-1)/2*(((p+1)/2)^{nmax-1}) < 2^24 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
| void FFLAS::Protected::ClassicMatmul | ( | const DoubleDomain & | , |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const DoubleDomain::Element | alpha, | ||
| const DoubleDomain::Element * | Ad, | ||
| const size_t | lda, | ||
| const DoubleDomain::Element * | Bd, | ||
| const size_t | ldb, | ||
| const DoubleDomain::Element | beta, | ||
| DoubleDomain::Element * | Cd, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::ClassicMatmul | ( | const FloatDomain & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const FloatDomain::Element | alpha, | ||
| const FloatDomain::Element * | Ad, | ||
| const size_t | lda, | ||
| const FloatDomain::Element * | Bd, | ||
| const size_t | ldb, | ||
| const FloatDomain::Element | beta, | ||
| FloatDomain::Element * | Cd, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::ModularBalanced< double > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | B, | ||
| const size_t | ldb, | ||
| const double | beta, | ||
| double * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::ModularBalanced< float > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | B, | ||
| const size_t | ldb, | ||
| const float | beta, | ||
| float * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::Modular< double > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | B, | ||
| const size_t | ldb, | ||
| const double | beta, | ||
| double * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::Modular< float > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | B, | ||
| const size_t | ldb, | ||
| const float | beta, | ||
| float * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const DoubleDomain & | D, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const DoubleDomain::Element | alpha, | ||
| const DoubleDomain::Element * | A, | ||
| const size_t | lda, | ||
| const DoubleDomain::Element * | B, | ||
| const size_t | ldb, | ||
| const DoubleDomain::Element | beta, | ||
| DoubleDomain::Element * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const FloatDomain & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const FloatDomain::Element | alpha, | ||
| const FloatDomain::Element * | A, | ||
| const size_t | lda, | ||
| const FloatDomain::Element * | B, | ||
| const size_t | ldb, | ||
| const FloatDomain::Element | beta, | ||
| FloatDomain::Element * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const FFPACK::ModularBalanced< double > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | B, | ||
| const size_t | ldb, | ||
| const double | beta, | ||
| double * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const FFPACK::ModularBalanced< float > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | B, | ||
| const size_t | ldb, | ||
| const float | beta, | ||
| float * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const FFPACK::Modular< double > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | B, | ||
| const size_t | ldb, | ||
| const double | beta, | ||
| double * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::WinoMain | ( | const FFPACK::Modular< float > & | F, |
| const FFLAS_TRANSPOSE | ta, | ||
| const FFLAS_TRANSPOSE | tb, | ||
| const size_t | m, | ||
| const size_t | n, | ||
| const size_t | k, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | B, | ||
| const size_t | ldb, | ||
| const float | beta, | ||
| float * | C, | ||
| const size_t | ldc, | ||
| const size_t | kmax, | ||
| const size_t | w, | ||
| const FFLAS_BASE | base | ||
| ) | [inline] |
| void FFLAS::Protected::MatVectProd | ( | const FFPACK::ModularBalanced< double > & | F, |
| const FFLAS_TRANSPOSE | TransA, | ||
| const size_t | M, | ||
| const size_t | N, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | X, | ||
| const size_t | incX, | ||
| const double | beta, | ||
| double * | Y, | ||
| const size_t | incY | ||
| ) | [inline] |
| void FFLAS::Protected::MatVectProd | ( | const FFPACK::ModularBalanced< float > & | F, |
| const FFLAS_TRANSPOSE | TransA, | ||
| const size_t | M, | ||
| const size_t | N, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | X, | ||
| const size_t | incX, | ||
| const float | beta, | ||
| float * | Y, | ||
| const size_t | incY | ||
| ) | [inline] |
| void FFLAS::Protected::MatVectProd | ( | const FFPACK::Modular< double > & | F, |
| const FFLAS_TRANSPOSE | TransA, | ||
| const size_t | M, | ||
| const size_t | N, | ||
| const double | alpha, | ||
| const double * | A, | ||
| const size_t | lda, | ||
| const double * | X, | ||
| const size_t | incX, | ||
| const double | beta, | ||
| double * | Y, | ||
| const size_t | incY | ||
| ) | [inline] |
| void FFLAS::Protected::MatVectProd | ( | const FFPACK::Modular< float > & | F, |
| const FFLAS_TRANSPOSE | TransA, | ||
| const size_t | M, | ||
| const size_t | N, | ||
| const float | alpha, | ||
| const float * | A, | ||
| const size_t | lda, | ||
| const float * | X, | ||
| const size_t | incX, | ||
| const float | beta, | ||
| float * | Y, | ||
| const size_t | incY | ||
| ) | [inline] |
1.8.0