FflasFfpack
|
Data Structures | |
class | AreEqual |
class | AreEqual< X, X > |
Functions | |
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) |
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] |