FflasFfpack
|
FFLAS: Finite Field Linear Algebra Subroutines. More...
Namespaces | |
namespace | Protected |
Typedefs | |
typedef FFPACK::UnparametricField < float > | FloatDomain |
typedef FFPACK::UnparametricField < double > | DoubleDomain |
Enumerations | |
enum | FFLAS_TRANSPOSE { FflasNoTrans = 111, FflasTrans = 112 } |
Is matrix transposed ? More... | |
enum | FFLAS_UPLO { FflasUpper = 121, FflasLower = 122 } |
Is triangular matrix's shape upper ? More... | |
enum | FFLAS_DIAG { FflasNonUnit = 131, FflasUnit = 132 } |
Is Matrix diagonal implicit ? More... | |
enum | FFLAS_SIDE { FflasLeft = 141, FflasRight = 142 } |
On what side ? More... | |
enum | FFLAS_BASE { FflasDouble = 151, FflasFloat = 152, FflasGeneric = 153 } |
FFLAS_BASE determines the type of the element representation for Matrix Mult kernel. More... | |
Functions | |
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 | fzero (const Field &F, const size_t n, typename Field::Element *X, const size_t incX) |
fzero : ![]() | |
template<> | |
void | faxpy (const DoubleDomain &, const size_t N, const DoubleDomain::Element a, const DoubleDomain::Element *x, const size_t incx, DoubleDomain::Element *y, const size_t incy) |
template<> | |
DoubleDomain::Element | fdot (const DoubleDomain &, const size_t N, const DoubleDomain::Element *x, const size_t incx, const DoubleDomain::Element *y, const size_t incy) |
template<> | |
double * | fgemm< FFPACK::UnparametricField< double > > (const FFPACK::UnparametricField< 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 w) |
template<> | |
float * | fgemm< FFPACK::UnparametricField< float > > (const FFPACK::UnparametricField< 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 w) |
template<> | |
double * | fgemm< FFPACK::UnparametricField< double > > (const FFPACK::UnparametricField< 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) |
template<> | |
float * | fgemm< FFPACK::UnparametricField< float > > (const FFPACK::UnparametricField< 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) |
template<> | |
double * | fsquare (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE ta, const size_t n, const double alpha, const double *A, const size_t lda, const double beta, double *C, const size_t ldc) |
template<> | |
float * | fsquare (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE ta, const size_t n, const float alpha, const float *A, const size_t lda, const float beta, float *C, const size_t ldc) |
template<> | |
double * | fsquare (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE ta, const size_t n, const double alpha, const double *A, const size_t lda, const double beta, double *C, const size_t ldc) |
template<> | |
float * | fsquare (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE ta, const size_t n, const float alpha, const float *A, const size_t lda, const float beta, float *C, const size_t ldc) |
template<> | |
void | fgemv (const DoubleDomain &, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const DoubleDomain::Element alpha, const DoubleDomain::Element *A, const size_t lda, const DoubleDomain::Element *X, const size_t incX, const DoubleDomain::Element beta, DoubleDomain::Element *Y, const size_t incY) |
template<> | |
void | fgemv (const FloatDomain &, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const FloatDomain::Element alpha, const FloatDomain::Element *A, const size_t lda, const FloatDomain::Element *X, const size_t incX, const FloatDomain::Element beta, FloatDomain::Element *Y, const size_t incY) |
template<> | |
void | fger (const DoubleDomain &, const size_t M, const size_t N, const DoubleDomain::Element alpha, const DoubleDomain::Element *x, const size_t incx, const DoubleDomain::Element *y, const size_t incy, DoubleDomain::Element *A, const size_t lda) |
FFLAS: Finite Field Linear Algebra Subroutines.
typedef FFPACK::UnparametricField<float> FloatDomain |
typedef FFPACK::UnparametricField<double> DoubleDomain |
enum FFLAS_TRANSPOSE |
enum FFLAS_UPLO |
enum FFLAS_DIAG |
enum FFLAS_SIDE |
enum FFLAS_BASE |
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 | ||
) | [inline] |
fcopy : .
F | field |
N | size of the vectors |
X | vector in F |
incX | stride of X |
Y | vector in F |
incY | stride of Y |
void FFLAS::fzero | ( | const Field & | F, |
const size_t | n, | ||
typename Field::Element * | X, | ||
const size_t | incX | ||
) |
fzero : .
F | field |
n | number of elements to zero |
X | vector in F |
incX | stride of X |
void FFLAS::faxpy | ( | const DoubleDomain & | , |
const size_t | N, | ||
const DoubleDomain::Element | a, | ||
const DoubleDomain::Element * | x, | ||
const size_t | incx, | ||
DoubleDomain::Element * | y, | ||
const size_t | incy | ||
) | [inline] |
DoubleDomain::Element FFLAS::fdot | ( | const DoubleDomain & | , |
const size_t | N, | ||
const DoubleDomain::Element * | x, | ||
const size_t | incx, | ||
const DoubleDomain::Element * | y, | ||
const size_t | incy | ||
) | [inline] |
double* FFLAS::fgemm< FFPACK::UnparametricField< double > > | ( | const FFPACK::UnparametricField< 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 | w | ||
) | [inline] |
float* FFLAS::fgemm< FFPACK::UnparametricField< float > > | ( | const FFPACK::UnparametricField< 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 | w | ||
) | [inline] |
double* FFLAS::fgemm< FFPACK::UnparametricField< double > > | ( | const FFPACK::UnparametricField< 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 | ||
) | [inline] |
float* FFLAS::fgemm< FFPACK::UnparametricField< float > > | ( | const FFPACK::UnparametricField< 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 | ||
) | [inline] |
double* FFLAS::fsquare | ( | const FFPACK::ModularBalanced< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc | ||
) | [inline] |
float* FFLAS::fsquare | ( | const FFPACK::ModularBalanced< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const size_t | n, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc | ||
) | [inline] |
double* FFLAS::fsquare | ( | const FFPACK::Modular< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const size_t | n, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc | ||
) | [inline] |
float* FFLAS::fsquare | ( | const FFPACK::Modular< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const size_t | n, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc | ||
) | [inline] |
void FFLAS::fgemv | ( | const DoubleDomain & | , |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const DoubleDomain::Element | alpha, | ||
const DoubleDomain::Element * | A, | ||
const size_t | lda, | ||
const DoubleDomain::Element * | X, | ||
const size_t | incX, | ||
const DoubleDomain::Element | beta, | ||
DoubleDomain::Element * | Y, | ||
const size_t | incY | ||
) | [inline] |
void FFLAS::fgemv | ( | const FloatDomain & | , |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const FloatDomain::Element | alpha, | ||
const FloatDomain::Element * | A, | ||
const size_t | lda, | ||
const FloatDomain::Element * | X, | ||
const size_t | incX, | ||
const FloatDomain::Element | beta, | ||
FloatDomain::Element * | Y, | ||
const size_t | incY | ||
) | [inline] |
void FFLAS::fger | ( | const DoubleDomain & | , |
const size_t | M, | ||
const size_t | N, | ||
const DoubleDomain::Element | alpha, | ||
const DoubleDomain::Element * | x, | ||
const size_t | incx, | ||
const DoubleDomain::Element * | y, | ||
const size_t | incy, | ||
DoubleDomain::Element * | A, | ||
const size_t | lda | ||
) | [inline] |