Givaro::Integer InfNorm (const size_t M , const size_t N , const Givaro::Integer *A , const size_t lda)
template<class T >
const T & min3 (const T &m, const T &n, const T &k)
template<class T >
const T & max3 (const T &m, const T &n, const T &k)
template<class T >
const T & min4 (const T &m, const T &n, const T &k, const T &l )
template<class T >
const T & max4 (const T &m, const T &n, const T &k, const T &l )
template<class Field >
void fadd (const Field &F, const size_t N , typename Field::ConstElement_ptr A , const size_t inca , typename Field::ConstElement_ptr B , const size_t incb , typename Field::Element_ptr C , const size_t incc )
template<class Field >
void faddin (const Field &F, const size_t N , typename Field::ConstElement_ptr B , const size_t incb , typename Field::Element_ptr C , const size_t incc )
template<class Field >
void fsub (const Field &F, const size_t N , typename Field::ConstElement_ptr A , const size_t inca , typename Field::ConstElement_ptr B , const size_t incb , typename Field::Element_ptr C , const size_t incc )
template<class Field >
void fsubin (const Field &F, const size_t N , typename Field::ConstElement_ptr B , const size_t incb , typename Field::Element_ptr C , const size_t incc )
template<class Field >
void fadd (const Field &F, const size_t N , typename Field::ConstElement_ptr A , const size_t inca , const typename Field::Element alpha , typename Field::ConstElement_ptr B , const size_t incb , typename Field::Element_ptr C , const size_t incc )
template<class Field >
void pfadd (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc, const size_t numths )
template<class Field >
void pfsub (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc, const size_t numths )
template<class Field >
void pfaddin (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc, size_t numths )
template<class Field >
void pfsubin (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc, size_t numths )
template<class Field >
void fadd (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
fadd : matrix addition.
template<class Field >
void fsub (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
fsub : matrix subtraction.
template<class Field >
void faddin (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
faddin
template<class Field >
void faddin (const Field &F, const FFLAS_UPLO uplo , const size_t N , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
fadding for symmetric matrices
template<class Field >
void fsubin (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
fsubin C = C - B
template<class Field >
void fadd (const Field &F, const size_t M , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element alpha , typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr C , const size_t ldc)
fadd : matrix addition with scaling.
template<class Field >
void fassign (const Field &F, const size_t N , typename Field::ConstElement_ptr Y , const size_t incY , typename Field::Element_ptr X , const size_t incX )
fassign : .
template<>
void fassign (const Givaro::Modular< float > &F, const size_t N , const float *Y , const size_t incY , float *X , const size_t incX )
template<>
void fassign (const Givaro::ModularBalanced < float > &F, const size_t N , const float *Y , const size_t incY , float *X , const size_t incX )
template<>
void fassign (const Givaro::ZRing< float > &F, const size_t N , const float *Y , const size_t incY , float *X , const size_t incX )
template<>
void fassign (const Givaro::Modular< double > &F, const size_t N , const double *Y , const size_t incY , double *X , const size_t incX )
template<>
void fassign (const Givaro::ModularBalanced < double > &F, const size_t N , const double *Y , const size_t incY , double *X , const size_t incX )
template<>
void fassign (const Givaro::ZRing< double > &F, const size_t N , const double *Y , const size_t incY , double *X , const size_t incX )
template<class Field >
void fassign (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr A , const size_t lda)
fassign : .
template<class Field >
void faxpy (const Field &F, const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr X , const size_t incX , typename Field::Element_ptr Y , const size_t incY )
faxpy : .
template<>
void faxpy (const Givaro::DoubleDomain &, const size_t N , const Givaro::DoubleDomain::Element a , Givaro::DoubleDomain::ConstElement_ptr x , const size_t incx , Givaro::DoubleDomain::Element_ptr y , const size_t incy )
template<>
void faxpy (const Givaro::FloatDomain &, const size_t N , const Givaro::FloatDomain::Element a , Givaro::FloatDomain::ConstElement_ptr x , const size_t incx , Givaro::FloatDomain::Element_ptr y , const size_t incy )
template<class Field >
void faxpy (const Field &F, const size_t m, const size_t n, const typename Field::Element alpha , typename Field::ConstElement_ptr X , const size_t ldx , typename Field::Element_ptr Y , const size_t ldy )
faxpy : .
template<class Field >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , ModeCategories::DefaultTag &MT )
template<class Field >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , ModeCategories::DelayedTag &MT )
template<>
Givaro::DoubleDomain::Element fdot (const Givaro::DoubleDomain &, const size_t N , Givaro::DoubleDomain::ConstElement_ptr x , const size_t incx , Givaro::DoubleDomain::ConstElement_ptr y , const size_t incy , ModeCategories::DefaultTag &MT )
template<>
Givaro::FloatDomain::Element fdot (const Givaro::FloatDomain &, const size_t N , Givaro::FloatDomain::ConstElement_ptr x , const size_t incx , Givaro::FloatDomain::ConstElement_ptr y , const size_t incy , ModeCategories::DefaultTag &MT )
template<class Field , class T >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , ModeCategories::ConvertTo < T > &MT )
template<class Field >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , ModeCategories::DefaultBoundedTag &dbt )
template<class Field >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , const ParSeqHelper::Sequential seq )
template<class Field >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr X , const size_t incX , typename Field::ConstElement_ptr Y , const size_t incY )
fdot: dot product .
template<class Field >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , ModeCategories::ConvertTo < ElementCategories::MachineFloatTag >, ParSeqHelper::Sequential > &H )
template<typename Field >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const ParSeqHelper::Sequential seq )
template<typename Field , class Cut , class Param >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const ParSeqHelper::Parallel < Cut, Param > par )
template<typename Field >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc)
fgemm: F ield GE neral M atrix M ultiply.
template<typename Field , class ModeT , class ParSeq >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Auto , ModeT , ParSeq > &H )
template<class Field >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , ModeCategories::DelayedTag , ParSeqHelper::Sequential > &H )
template<class Field >
Field::Element_ptr fsquare (const Field &F, const FFLAS_TRANSPOSE ta , const size_t n, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc)
fsquare: Squares a matrix.
template<>
double * fsquare (const Givaro::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 Givaro::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 Givaro::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 Givaro::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<typename RNS , typename ParSeqTrait >
FFPACK::RNSInteger < RNS >::Element_ptr fgemm (const FFPACK::RNSInteger < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename FFPACK::RNSInteger < RNS >::Element alpha , typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Ad , const size_t lda, typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Bd , const size_t ldb , const typename FFPACK::RNSInteger < RNS >::Element beta , typename FFPACK::RNSInteger < RNS >::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Classic , ModeCategories::DefaultTag , ParSeqHelper::Compose < ParSeqHelper::Sequential , ParSeqTrait > > &H )
template<typename RNS >
FFPACK::RNSInteger < RNS >::Element_ptr fgemm (const FFPACK::RNSInteger < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename FFPACK::RNSInteger < RNS >::Element alpha , typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Ad , const size_t lda, typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Bd , const size_t ldb , const typename FFPACK::RNSInteger < RNS >::Element beta , typename FFPACK::RNSInteger < RNS >::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Classic , ModeCategories::DefaultTag , ParSeqHelper::Sequential > &H )
template<typename RNS , typename ParSeqTrait >
FFPACK::RNSInteger < RNS >::Element_ptr fgemm (const FFPACK::RNSInteger < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename FFPACK::RNSInteger < RNS >::Element alpha , typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Ad , const size_t lda, typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Bd , const size_t ldb , const typename FFPACK::RNSInteger < RNS >::Element beta , typename FFPACK::RNSInteger < RNS >::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Classic , ModeCategories::DefaultTag , ParSeqHelper::Compose < ParSeqHelper::Parallel < CuttingStrategy::RNSModulus , StrategyParameter::Threads >, ParSeqTrait > > &H )
template<typename RNS , typename Cut , typename Param >
FFPACK::RNSInteger < RNS >::Element_ptr fgemm (const FFPACK::RNSInteger < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename FFPACK::RNSInteger < RNS >::Element alpha , typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Ad , const size_t lda, typename FFPACK::RNSInteger < RNS >::ConstElement_ptr Bd , const size_t ldb , const typename FFPACK::RNSInteger < RNS >::Element beta , typename FFPACK::RNSInteger < RNS >::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Classic , ModeCategories::DefaultTag , ParSeqHelper::Parallel < Cut, Param > > &H )
template<class ParSeq >
Givaro::Integer * fgemm (const Givaro::ZRing< Givaro::Integer > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const Givaro::Integer alpha , const Givaro::Integer *A , const size_t lda, const Givaro::Integer *B , const size_t ldb , Givaro::Integer beta , Givaro::Integer *C , const size_t ldc, MMHelper < Givaro::ZRing< Givaro::Integer >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag >, ParSeq > &H )
template<typename RNS , class ModeT >
RNS::Element_ptr fgemm (const FFPACK::RNSInteger < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename RNS::Element alpha , typename RNS::ConstElement_ptr Ad , const size_t lda, typename RNS::ConstElement_ptr Bd , const size_t ldb , const typename RNS::Element beta , typename RNS::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Winograd , ModeT , ParSeqHelper::Sequential > &H )
template<typename RNS >
RNS::Element_ptr fgemm (const FFPACK::RNSIntegerMod < RNS > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename RNS::Element alpha , typename RNS::ConstElement_ptr Ad , const size_t lda, typename RNS::ConstElement_ptr Bd , const size_t ldb , const typename RNS::Element beta , typename RNS::Element_ptr Cd , const size_t ldc, MMHelper < FFPACK::RNSIntegerMod < RNS >, MMHelperAlgo::Winograd > &H )
Givaro::Integer * fgemm (const Givaro::Modular< Givaro::Integer > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const Givaro::Integer alpha , const Givaro::Integer *A , const size_t lda, const Givaro::Integer *B , const size_t ldb , const Givaro::Integer beta , Givaro::Integer *C , const size_t ldc, MMHelper < Givaro::Modular< Givaro::Integer >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag > > &H )
template<class ParSeq >
Givaro::Integer * fgemm (const Givaro::Modular< Givaro::Integer > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const Givaro::Integer alpha , const Givaro::Integer *A , const size_t lda, const Givaro::Integer *B , const size_t ldb , const Givaro::Integer beta , Givaro::Integer *C , const size_t ldc, MMHelper < Givaro::Modular< Givaro::Integer >, MMHelperAlgo::Auto , ModeCategories::ConvertTo < ElementCategories::RNSElementTag >, ParSeq > &H )
template<size_t K1, size_t K2, class ParSeq >
RecInt::ruint < K1 > * fgemm (const Givaro::Modular< RecInt::ruint < K1 >, RecInt::ruint < K2 > > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const RecInt::ruint < K1 > alpha , const RecInt::ruint < K1 > *A , const size_t lda, const RecInt::ruint < K1 > *B , const size_t ldb , RecInt::ruint < K1 > beta , RecInt::ruint < K1 > *C , const size_t ldc, MMHelper < Givaro::Modular< RecInt::ruint < K1 >, RecInt::ruint < K2 > >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag >, ParSeq > &H )
template<class Field , class ModeT >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , ModeT > &H )
template<class Field , class ModeT , class Cut , class Param >
Field::Element_ptr 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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::WinogradPar , ModeT , ParSeqHelper::Parallel < Cut, Param > > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::MachineFloatTag > > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DelayedTag > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::LazyTag > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE TransA , const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY )
finite prime Field GEneral Matrix Vector multiplication.
Givaro::ZRing< int64_t >::Element_ptr fgemv (const Givaro::ZRing< int64_t > &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const int64_t alpha , const int64_t *A , const size_t lda, const int64_t *X , const size_t incX , const int64_t beta , int64_t *Y , const size_t incY , MMHelper < Givaro::ZRing< int64_t >, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
Givaro::DoubleDomain::Element_ptr fgemv (const Givaro::DoubleDomain &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const Givaro::DoubleDomain::Element alpha , const Givaro::DoubleDomain::ConstElement_ptr A , const size_t lda, const Givaro::DoubleDomain::ConstElement_ptr X , const size_t incX , const Givaro::DoubleDomain::Element beta , Givaro::DoubleDomain::Element_ptr Y , const size_t incY , MMHelper < Givaro::DoubleDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const typename Field::Element alpha , const typename Field::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DefaultBoundedTag > &H )
Givaro::FloatDomain::Element_ptr fgemv (const Givaro::FloatDomain &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const Givaro::FloatDomain::Element alpha , const Givaro::FloatDomain::ConstElement_ptr A , const size_t lda, const Givaro::FloatDomain::ConstElement_ptr X , const size_t incX , const Givaro::FloatDomain::Element beta , Givaro::FloatDomain::Element_ptr Y , const size_t incY , MMHelper < Givaro::FloatDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field , class Cut , class Param >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const typename Field::Element alpha , const typename Field::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , ParSeqHelper::Parallel < Cut, Param > &parH )
template<class Field >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const typename Field::Element alpha , const typename Field::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , ParSeqHelper::Sequential &seqH )
FFPACK::rns_double::Element_ptr fgemv (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t lda, FFPACK::rns_double::ConstElement_ptr X , const size_t incX , const FFPACK::rns_double::Element beta , FFPACK::rns_double::Element_ptr Y , const size_t incY , MMHelper < FFPACK::RNSInteger < FFPACK::rns_double >, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
FFPACK::rns_double::Element_ptr fgemv (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const FFLAS_TRANSPOSE ta , const size_t M , const size_t N , const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t lda, FFPACK::rns_double::ConstElement_ptr X , const size_t incX , const FFPACK::rns_double::Element beta , FFPACK::rns_double::Element_ptr Y , const size_t incY , MMHelper < FFPACK::RNSIntegerMod < FFPACK::rns_double >, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
Givaro::Integer * fgemv (const Givaro::ZRing< Givaro::Integer > &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const Givaro::Integer alpha , Givaro::Integer *A , const size_t lda, Givaro::Integer *X , const size_t ldx , Givaro::Integer beta , Givaro::Integer *Y , const size_t ldy , MMHelper < Givaro::ZRing< Givaro::Integer >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag > > &H )
Givaro::Integer * fgemv (const Givaro::Modular< Givaro::Integer > &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const Givaro::Integer alpha , Givaro::Integer *A , const size_t lda, Givaro::Integer *X , const size_t ldx , Givaro::Integer beta , Givaro::Integer *Y , const size_t ldy , MMHelper < Givaro::Modular< Givaro::Integer >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag > > &H )
template<size_t K1, size_t K2, class ParSeq >
RecInt::ruint < K1 > * fgemv (const Givaro::Modular< RecInt::ruint < K1 >, RecInt::ruint < K2 > > &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const RecInt::ruint < K1 > alpha , const RecInt::ruint < K1 > *A , const size_t lda, const RecInt::ruint < K1 > *X , const size_t incx , RecInt::ruint < K1 > beta , RecInt::ruint < K1 > *Y , const size_t incy , MMHelper < Givaro::Modular< RecInt::ruint < K1 >, RecInt::ruint < K2 > >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag >, ParSeq > &H )
template<class Field >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda)
fger: rank one update of a general matrix
template<class Field >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::MachineFloatTag > > &H )
template<class Field , class AnyTag >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda, MMHelper < Field , MMHelperAlgo::Classic , AnyTag > &H )
void fger (const Givaro::DoubleDomain &F, const size_t M , const size_t N , const Givaro::DoubleDomain::Element alpha , const Givaro::DoubleDomain::ConstElement_ptr x , const size_t incx , const Givaro::DoubleDomain::ConstElement_ptr y , const size_t incy , Givaro::DoubleDomain::Element_ptr A , const size_t lda, MMHelper < Givaro::DoubleDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , const typename Field::ConstElement_ptr x , const size_t incx , const typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DefaultBoundedTag > &H )
void fger (const Givaro::FloatDomain &F, const size_t M , const size_t N , const Givaro::FloatDomain::Element alpha , const Givaro::FloatDomain::ConstElement_ptr x , const size_t incx , const Givaro::FloatDomain::ConstElement_ptr y , const size_t incy , Givaro::FloatDomain::Element_ptr A , const size_t lda, MMHelper < Givaro::FloatDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::LazyTag > &H )
template<class Field >
void fger (const Field &F, const size_t M , const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element_ptr A , const size_t lda, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DelayedTag > &H )
void fger (const Givaro::Modular< Givaro::Integer > &F, const size_t M , const size_t N , const typename Givaro::Integer alpha , typename Givaro::Integer *x , const size_t incx , typename Givaro::Integer *y , const size_t incy , typename Givaro::Integer *A , const size_t lda, MMHelper < Givaro::Modular< Givaro::Integer >, MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::RNSElementTag > > &H )
template<typename RNS >
void fger (const FFPACK::RNSInteger < RNS > &F, const size_t M , const size_t N , const typename FFPACK::RNSInteger < RNS >::Element alpha , typename FFPACK::RNSInteger < RNS >::Element_ptr x , const size_t incx , typename FFPACK::RNSInteger < RNS >::Element_ptr y , const size_t incy , typename FFPACK::RNSInteger < RNS >::Element_ptr A , const size_t lda, MMHelper < FFPACK::RNSInteger < RNS >, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<typename RNS >
void fger (const FFPACK::RNSIntegerMod < RNS > &F, const size_t M , const size_t N , const typename FFPACK::RNSIntegerMod < RNS >::Element alpha , typename FFPACK::RNSIntegerMod < RNS >::Element_ptr x , const size_t incx , typename FFPACK::RNSIntegerMod < RNS >::Element_ptr y , const size_t incy , typename FFPACK::RNSIntegerMod < RNS >::Element_ptr A , const size_t lda, MMHelper < FFPACK::RNSIntegerMod < RNS >, MMHelperAlgo::Classic > &H )
template<class Field >
void freduce (const Field &F, const size_t n, typename Field::ConstElement_ptr Y , const size_t incY , typename Field::Element_ptr X , const size_t incX )
freduce .
template<class Field >
void freduce (const Field &F, const size_t n, typename Field::Element_ptr X , const size_t incX )
freduce .
template<class Field >
void freduce_constoverride (const Field &F, const size_t m, typename Field::ConstElement_ptr A , const size_t incX )
template<class Field , class ConstOtherElement_ptr >
void finit (const Field &F, const size_t n, ConstOtherElement_ptr Y , const size_t incY , typename Field::Element_ptr X , const size_t incX )
template<class Field >
void finit (const Field &F, const size_t n, typename Field::Element_ptr X , const size_t incX )
finit Initializes X
in F$
.
template<class Field >
void freduce (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
freduce .
template<class Field >
void freduce (const Field &F, const FFLAS_UPLO uplo , const size_t N , typename Field::Element_ptr A , const size_t lda)
freduce for square symmetric matrices
template<class Field >
void pfreduce (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda, const size_t numths )
template<class Field >
void freduce (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr A , const size_t lda)
freduce .
template<class Field >
void freduce_constoverride (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr A , const size_t lda)
template<class Field , class OtherElement_ptr >
void finit (const Field &F, const size_t m, const size_t n, const OtherElement_ptr B , const size_t ldb , typename Field::Element_ptr A , const size_t lda)
finit .
template<class Field >
void finit (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
template<>
void freduce (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t n, FFPACK::RNSIntegerMod < FFPACK::rns_double >::Element_ptr A , size_t inc )
template<>
void freduce (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t m, const size_t n, FFPACK::rns_double::Element_ptr A , size_t lda)
template<class Field >
bool freivalds (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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::ConstElement_ptr C , const size_t ldc)
freivalds: F reivalds GE neral M atrix M ultiply R andom C heck.
template<class Field >
void fscalin (const Field &F, const size_t n, const typename Field::Element alpha , typename Field::Element_ptr X , const size_t incX )
fscalin .
template<class Field >
void fscal (const Field &F, const size_t n, const typename Field::Element alpha , typename Field::ConstElement_ptr X , const size_t incX , typename Field::Element_ptr Y , const size_t incY )
fscal .
template<>
void fscal (const Givaro::DoubleDomain &, const size_t N , const Givaro::DoubleDomain::Element a , Givaro::DoubleDomain::ConstElement_ptr x , const size_t incx , Givaro::DoubleDomain::Element_ptr y , const size_t incy )
template<>
void fscal (const Givaro::FloatDomain &, const size_t N , const Givaro::FloatDomain::Element a , Givaro::FloatDomain::ConstElement_ptr x , const size_t incx , Givaro::FloatDomain::Element_ptr y , const size_t incy )
template<>
void fscalin (const Givaro::DoubleDomain &, const size_t N , const Givaro::DoubleDomain::Element a , Givaro::DoubleDomain::Element_ptr y , const size_t incy )
template<>
void fscalin (const Givaro::FloatDomain &, const size_t N , const Givaro::FloatDomain::Element a , Givaro::FloatDomain::Element_ptr y , const size_t incy )
template<class Field >
void fscalin (const Field &F, const size_t m, const size_t n, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda)
fscalin .
template<class Field >
void fscal (const Field &F, const size_t m, const size_t n, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb )
fscal .
template<>
void fscalin (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::Element_ptr A , const size_t inc )
template<>
void fscal (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t Ainc , FFPACK::rns_double::Element_ptr B , const size_t Binc )
template<>
void fscalin (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t m, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::Element_ptr A , const size_t lda)
template<>
void fscal (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t m, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t lda, FFPACK::rns_double::Element_ptr B , const size_t ldb )
template<>
void fscalin (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t n, const typename FFPACK::RNSIntegerMod < FFPACK::rns_double >::Element alpha , typename FFPACK::RNSIntegerMod < FFPACK::rns_double >::Element_ptr A , const size_t inc )
template<>
void fscal (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t Ainc , FFPACK::rns_double::Element_ptr B , const size_t Binc )
template<>
void fscalin (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t m, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::Element_ptr A , const size_t lda)
template<>
void fscal (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t m, const size_t n, const FFPACK::rns_double::Element alpha , FFPACK::rns_double::ConstElement_ptr A , const size_t lda, FFPACK::rns_double::Element_ptr B , const size_t ldb )
template<class Field >
Field::Element_ptr fsyr2k (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t n, const size_t k, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc)
fsyr2k: Symmetric Rank 2K update
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t n, const size_t k, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc)
fsyrk: Symmetric Rank K update
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const ParSeqHelper::Sequential seq )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::ConvertTo < ElementCategories::MachineFloatTag >, ParSeqHelper::Sequential > &H )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DelayedTag > &H )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::LazyTag > &H )
template<class Field , typename Mode >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::DivideAndConquer , Mode > &H )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Classic , ModeCategories::DefaultBoundedTag > &H )
Givaro::FloatDomain::Element_ptr fsyrk (const Givaro::FloatDomain &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const Givaro::FloatDomain::Element alpha , Givaro::FloatDomain::ConstElement_ptr A , const size_t lda, const Givaro::FloatDomain::Element beta , Givaro::FloatDomain::Element_ptr C , const size_t ldc, MMHelper < Givaro::FloatDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
Givaro::DoubleDomain::Element_ptr fsyrk (const Givaro::DoubleDomain &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const Givaro::DoubleDomain::Element alpha , Givaro::DoubleDomain::ConstElement_ptr A , const size_t lda, const Givaro::DoubleDomain::Element beta , Givaro::DoubleDomain::Element_ptr C , const size_t ldc, MMHelper < Givaro::DoubleDomain, MMHelperAlgo::Classic , ModeCategories::DefaultTag > &H )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t n, const size_t k, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::ConstElement_ptr D , const size_t incD , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const size_t threshold =__FFLASFFPACK_FSYRK_THRESHOLD )
fsyrk: Symmetric Rank K update with diagonal scaling
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::ConstElement_ptr D , const size_t incD , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const ParSeqHelper::Sequential seq , const size_t threshold )
template<class Field , class Cut , class Param >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::ConstElement_ptr D , const size_t incD , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const ParSeqHelper::Parallel < Cut, Param > par , const size_t threshold )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t n, const size_t k, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::ConstElement_ptr D , const size_t incD , const std::vector< bool > &twoBlock , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, const size_t threshold =__FFLASFFPACK_FSYRK_THRESHOLD )
fsyrk: Symmetric Rank K update with diagonal scaling
template<class Field , class FieldTrait >
void computeS1S2 (const Field &F, const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element x , const typename Field::Element y , typename Field::Element_ptr A , const size_t lda, typename Field::Element_ptr S , const size_t lds , typename Field::Element_ptr T, const size_t ldt , MMHelper < Field , MMHelperAlgo::Winograd , FieldTrait > &WH )
template<class Field >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , ModeCategories::DelayedTag , ParSeqHelper::Sequential > &H )
template<class Field , class Mode >
Field::Element_ptr fsyrk (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , Mode > &H )
template<class Field , class FieldTrait >
Field::Element_ptr fsyrk_strassen (const Field &F, const FFLAS_UPLO uplo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element y1 , const typename Field::Element y2 , const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , FieldTrait > &WH )
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::ConstElement_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb )
ftrmm: TR iangular M atrix M ultiply.
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::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc)
ftrmm: TR iangular M atrix M ultiply with 3 operands Computes or .
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_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb )
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_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb , const ParSeqHelper::Sequential &PSH )
template<class Field , class Cut , class Param >
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_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb , const ParSeqHelper::Parallel < Cut, Param > &PSH )
template<class Field , class ParSeqTrait = ParSeqHelper::Sequential>
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_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb , TRSMHelper < StructureHelper::Recursive , ParSeqTrait > &H )
void ftrsm (const Givaro::Modular< Givaro::Integer > &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 Givaro::Integer alpha , const Givaro::Integer *A , const size_t lda, Givaro::Integer *B , const size_t ldb )
void cblas_imptrsm (const enum FFLAS_ORDER Order , const enum FFLAS_SIDE Side , const enum FFLAS_UPLO Uplo , const enum FFLAS_TRANSPOSE TransA , const enum FFLAS_DIAG Diag , const int M , const int N , const FFPACK::rns_double_elt alpha , FFPACK::rns_double_elt_cstptr A , const int lda, FFPACK::rns_double_elt_ptr B , const int ldb )
template<class Field >
void ftrsv (const Field &F, const FFLAS_UPLO Uplo , const FFLAS_TRANSPOSE TransA , const FFLAS_DIAG Diag , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::Element_ptr X , int incX )
ftrsv: TRiangular System solve with Vector Computes
void igemm_ (const enum FFLAS_ORDER Order , const enum FFLAS_TRANSPOSE TransA , const enum FFLAS_TRANSPOSE TransB , const size_t M , const size_t N , const size_t K, const int64_t alpha , const int64_t *A , const size_t lda, const int64_t *B , const size_t ldb , const int64_t beta , int64_t *C , const size_t ldc)
template<class Field , class OtherElement_ptr >
void finit (const Field &F, const size_t n, const OtherElement_ptr Y , const size_t incY , typename Field::Element_ptr X , const size_t incX )
finit .
template<class Field , class OtherElement_ptr >
void fconvert (const Field &F, const size_t n, OtherElement_ptr X , const size_t incX , typename Field::ConstElement_ptr Y , const size_t incY )
fconvert .
template<class Field >
void fnegin (const Field &F, const size_t n, typename Field::Element_ptr X , const size_t incX )
fnegin .
template<class Field >
void fneg (const Field &F, const size_t n, typename Field::ConstElement_ptr Y , const size_t incY , typename Field::Element_ptr X , const size_t incX )
fneg .
template<class Field >
void fzero (const Field &F, const size_t n, typename Field::Element_ptr X , const size_t incX )
fzero : .
template<class Field , class RandIter >
void frand (const Field &F, RandIter &G , const size_t n, typename Field::Element_ptr X , const size_t incX )
frand : .
template<class Field >
bool fiszero (const Field &F, const size_t n, typename Field::ConstElement_ptr X , const size_t incX )
fiszero : test .
template<class Field >
bool fequal (const Field &F, const size_t n, typename Field::ConstElement_ptr X , const size_t incX , typename Field::ConstElement_ptr Y , const size_t incY )
fequal : test .
template<class Field >
void faxpby (const Field &F, const size_t N , const typename Field::Element alpha , typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY )
faxpby : .
template<typename Field , class Cut , class Param >
Field::Element fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr X , const size_t incX , typename Field::ConstElement_ptr Y , const size_t incY , const ParSeqHelper::Parallel < Cut, Param > par )
template<class Field >
void fswap (const Field &F, const size_t N , typename Field::Element_ptr X , const size_t incX , typename Field::Element_ptr Y , const size_t incY )
fswap: .
template<class Field >
void fzero (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
fzero : .
template<class Field >
void fzero (const Field &F, const FFLAS_UPLO shape , const FFLAS_DIAG diag , const size_t n, typename Field::Element_ptr A , const size_t lda)
fzero : for a triangular matrix.
template<class Field , class RandIter >
void frand (const Field &F, RandIter &G , const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
frand : .
template<class Field >
bool fequal (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb )
fequal : test .
template<class Field >
bool fiszero (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr A , const size_t lda)
fiszero : test .
template<class Field >
void fidentity (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda, const typename Field::Element &d )
creates a diagonal matrix
template<class Field >
void fidentity (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
creates a diagonal matrix
template<class Field , class OtherElement_ptr >
void finit (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
finit Initializes A
in F$
.
template<class Field , class OtherElement_ptr >
void fconvert (const Field &F, const size_t m, const size_t n, OtherElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb )
fconvert .
template<class Field >
void fnegin (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda)
fnegin .
template<class Field >
void fneg (const Field &F, const size_t m, const size_t n, typename Field::ConstElement_ptr B , const size_t ldb , typename Field::Element_ptr A , const size_t lda)
fneg .
template<class Field >
void faxpby (const Field &F, const size_t m, const size_t n, const typename Field::Element alpha , typename Field::ConstElement_ptr X , const size_t ldx , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t ldy )
faxpby : .
template<class Field >
void fmove (const Field &F, const size_t m, const size_t n, typename Field::Element_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb )
fmove : and .
template<class Field >
size_t bitsize (const Field &F, size_t M , size_t N , const typename Field::ConstElement_ptr A , size_t lda)
bitsize: Computes the largest bitsize of the matrix' coefficients.
template<>
size_t bitsize< Givaro::ZRing< Givaro::Integer > > (const Givaro::ZRing< Givaro::Integer > &F, size_t M , size_t N , const Givaro::Integer *A , size_t lda)
template<class Field >
void ftrmv (const Field &F, const FFLAS_UPLO Uplo , const FFLAS_TRANSPOSE TransA , const FFLAS_DIAG Diag , const size_t N , typename Field::ConstElement_ptr A , const size_t lda, typename Field::Element_ptr X , int incX )
ftrsm: TRiangular Matrix Vector prodcut 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::ConstElement_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb )
ftrsm: TR iangular S ystem solve with M atrix.
template<class Field , typename FieldTrait >
Field::Element_ptr fsyrk_strassen (const Field &F, const FFLAS_UPLO UpLo , const FFLAS_TRANSPOSE trans, const size_t N , const size_t K, const typename Field::Element y1 , const typename Field::Element y2 , const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , FieldTrait > &H )
template<typename Field >
Field::Element_ptr pfgemm (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 , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, size_t numthreads=0)
template<class Field >
Field::Element * pfgemm_1D_rec (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_ptr A , const size_t lda, const typename Field::Element_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, size_t seuil )
template<class Field >
Field::Element * pfgemm_2D_rec (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_ptr A , const size_t lda, const typename Field::Element_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, size_t seuil )
template<class Field >
Field::Element * pfgemm_3D_rec (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_ptr A , const size_t lda, const typename Field::Element_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, size_t seuil , size_t *x )
template<class Field >
Field::Element_ptr pfgemm_3D_rec2 (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_ptr A , const size_t lda, const typename Field::Element_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, size_t seuil , size_t *x )
template<class Field , class ModeTrait , class Strat , class Param >
std::enable_if<!std::is_same< ModeTrait , ModeCategories::ConvertTo < ElementCategories::RNSElementTag > >::value, typenameField::Element_ptr >::type fgemm (const Field &F, const FFLAS::FFLAS_TRANSPOSE ta , const FFLAS::FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const typename Field::Element alpha , typename Field::ConstElement_ptr A , const size_t lda, typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , MMHelperAlgo::Winograd , ModeTrait , ParSeqHelper::Parallel < Strat , Param > > &H )
template<class Field , class Cut , class Param >
Field::Element_ptr ftrsm (const Field &F, const FFLAS::FFLAS_SIDE Side , const FFLAS::FFLAS_UPLO UpLo , const FFLAS::FFLAS_TRANSPOSE TA , const FFLAS::FFLAS_DIAG Diag , const size_t m, const size_t n, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb , TRSMHelper < StructureHelper::Iterative , ParSeqHelper::Parallel < Cut, Param > > &H )
template<class Field , class Cut , class Param >
Field::Element_ptr ftrsm (const Field &F, const FFLAS::FFLAS_SIDE Side , const FFLAS::FFLAS_UPLO UpLo , const FFLAS::FFLAS_TRANSPOSE TA , const FFLAS::FFLAS_DIAG Diag , const size_t m, const size_t n, const typename Field::Element alpha , typename Field::Element_ptr A , const size_t lda, typename Field::Element_ptr B , const size_t ldb , TRSMHelper < StructureHelper::Hybrid , ParSeqHelper::Parallel < Cut, Param > > &H )
template<class Field , class SM >
void fspmv (const Field &F, const SM &A , typename Field::ConstElement_ptr x , const typename Field::Element &beta , typename Field::Element_ptr y )
template<class Field , class SM >
void fspmm (const Field &F, const SM &A , size_t blockSize , typename Field::ConstElement_ptr x , int ldx , const typename Field::Element &beta , typename Field::Element_ptr y , int ldy )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::COO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::COO_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::COO > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::COO_ZO > &A )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::CSR > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::CSR_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::CSR > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::CSR_ZO > &A )
template<class Field >
std::ostream & sparse_print (std::ostream &os , const Sparse < Field , SparseMatrix_t::CSR > &A )
template<class IndexT >
void sparse_init (const Givaro::Modular< Givaro::Integer > &F, Sparse < Givaro::Modular< Givaro::Integer >, SparseMatrix_t::CSR > &A , const IndexT *row, const IndexT *col, Givaro::Integer *dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class IndexT >
void sparse_init (const Givaro::ZRing< Givaro::Integer > &F, Sparse < Givaro::ZRing< Givaro::Integer >, SparseMatrix_t::CSR_ZO > &A , const IndexT *row, const IndexT *col, Givaro::Integer *dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class IndexT , size_t RECINT_SIZE>
void sparse_init (const Givaro::ZRing< RecInt::rmint< RECINT_SIZE > > &F, Sparse < Givaro::ZRing< RecInt::rmint< RECINT_SIZE > >, SparseMatrix_t::CSR_ZO > &A , const IndexT *row, const IndexT *col, typename Givaro::ZRing< RecInt::rmint< RECINT_SIZE > >::Element_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class IndexT , size_t RECINT_SIZE>
void sparse_init (const Givaro::ZRing< RecInt::rmint< RECINT_SIZE > > &F, Sparse < Givaro::ZRing< RecInt::rmint< RECINT_SIZE > >, SparseMatrix_t::CSR > &A , const IndexT *row, const IndexT *col, typename Givaro::ZRing< RecInt::rmint< RECINT_SIZE > >::Element_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::CSR_HYB > &A )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::CSR_HYB > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::ELL > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::ELL_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::ELL > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::ELL_ZO > &A )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::ELL_simd > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::ELL_simd_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::ELL_simd > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::ELL_simd_ZO > &A )
template<class Field >
void sparse_print (const Sparse < Field , SparseMatrix_t::ELL_simd > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::HYB_ZO > &A )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::HYB_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<typename _Field >
std::ostream & operator<< (std::ostream &os , const Sparse < _Field , SparseMatrix_t::HYB_ZO > &A )
template<class Field , bool sorted = true, bool read_integer = false>
void readSmsFormat (const std::string &path , const Field &f , index_t *&row, index_t *&col, typename Field::Element_ptr &val, index_t &rowdim, index_t &coldim, uint64_t &nnz)
template<class Field >
void readSprFormat (const std::string &path , const Field &f , index_t *&row, index_t *&col, typename Field::Element_ptr &val, index_t &rowdim, index_t &coldim, uint64_t &nnz)
template<class T >
std::enable_if< std::is_integral< T >::value, int > getDataType ()
template<class T >
std::enable_if< std::is_floating_point< T >::value, int > getDataType ()
template<class T >
std::enable_if< std::is_same< T, mpz_t >::value, int > getDataType ()
template<class T >
int getDataType ()
template<class Field >
void readMachineType (const Field &F, typename Field::Element &modulo , typename Field::Element_ptr val, std::ifstream &file , const uint64_t dims , const mask_t data_type , const mask_t field_desc )
template<class Field >
void readDnsFormat (const std::string &path , const Field &F, index_t &rowdim, index_t &coldim, typename Field::Element_ptr &val)
template<class Field >
void writeDnsFormat (const std::string &path , const Field &F, const index_t &rowdim, const index_t &coldim, typename Field::Element_ptr A , index_t ldA )
template<class Field >
void fspmv (const Field &F, const Sparse < Field , SparseMatrix_t::SELL_ZO > &A , typename Field::ConstElement_ptr x , typename Field::Element_ptr y , FieldCategories::ModularTag )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::SELL > &A )
template<class Field >
void sparse_delete (const Sparse < Field , SparseMatrix_t::SELL_ZO > &A )
template<class Field >
void sparse_print (const Sparse < Field , SparseMatrix_t::SELL > &A )
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::SELL > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz, uint64_t sigma=0)
template<class Field , class IndexT >
void sparse_init (const Field &F, Sparse < Field , SparseMatrix_t::SELL_ZO > &A , const IndexT *row, const IndexT *col, typename Field::ConstElement_ptr dat, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class It >
double computeDeviation (It begin, It end)
template<class Field >
StatsMatrix getStat (const Field &F, const index_t *row, const index_t *col, typename Field::ConstElement_ptr val, uint64_t rowdim, uint64_t coldim, uint64_t nnz)
template<class Field , class enable = void>
Field::Residu_t maxCardinality ()
template<>
uint64_t maxCardinality< Givaro::Modular< int64_t > > ()
template<>
uint32_t maxCardinality< Givaro::Modular< int32_t > > ()
template<class Field >
Field::Residu_t minCardinality ()
template<>
void fflas_delete (FFPACK::rns_double_elt_ptr A )
template<>
void fflas_delete (FFPACK::rns_double_elt_cstptr A )
template<>
FFPACK::rns_double_elt_ptr fflas_new (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t m, const Alignment align )
template<>
FFPACK::rns_double_elt_ptr fflas_new (const FFPACK::RNSIntegerMod < FFPACK::rns_double > &F, const size_t m, const size_t n, const Alignment align )
template<typename RNS >
void finit_rns (const FFPACK::RNSIntegerMod < RNS > &F, const size_t m, const size_t n, size_t k, const Givaro::Integer *B , const size_t ldb , typename RNS::Element_ptr A )
template<typename RNS >
void finit_trans_rns (const FFPACK::RNSIntegerMod < RNS > &F, const size_t m, const size_t n, size_t k, const Givaro::Integer *B , const size_t ldb , typename RNS::Element_ptr A )
template<typename RNS >
void fconvert_rns (const FFPACK::RNSIntegerMod < RNS > &F, const size_t m, const size_t n, Givaro::Integer alpha , Givaro::Integer *B , const size_t ldb , typename RNS::ConstElement_ptr A )
template<typename RNS >
void fconvert_trans_rns (const FFPACK::RNSIntegerMod < RNS > &F, const size_t m, const size_t n, Givaro::Integer alpha , Givaro::Integer *B , const size_t ldb , typename RNS::ConstElement_ptr A )
template<>
FFPACK::rns_double_elt_ptr fflas_new (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t m, const Alignment align )
template<>
FFPACK::rns_double_elt_ptr fflas_new (const FFPACK::RNSInteger < FFPACK::rns_double > &F, const size_t m, const size_t n, const Alignment align )
template<typename RNS >
void finit_rns (const FFPACK::RNSInteger < RNS > &F, const size_t m, const size_t n, size_t k, const Givaro::Integer *B , const size_t ldb , typename FFPACK::RNSInteger < RNS >::Element_ptr A )
template<typename RNS >
void fconvert_rns (const FFPACK::RNSInteger < RNS > &F, const size_t m, const size_t n, Givaro::Integer alpha , Givaro::Integer *B , const size_t ldb , typename FFPACK::RNSInteger < RNS >::ConstElement_ptr A )
template INST_OR_DECL void freduce (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, FFLAS_ELT *X , const size_t incX )
freduce .
template INST_OR_DECL void freduce (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT *Y , const size_t incY , FFLAS_ELT *X , const size_t incX )
freduce .
template INST_OR_DECL void finit (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT *Y , const size_t incY , FFLAS_ELT *X , const size_t incX )
finit .
template INST_OR_DECL void fconvert (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, FFLAS_ELT *X , const size_t incX , const FFLAS_ELT *Y , const size_t incY )
fconvert .
template INST_OR_DECL void fnegin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, FFLAS_ELT *X , const size_t incX )
fnegin .
template INST_OR_DECL void fneg (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT *Y , const size_t incY , FFLAS_ELT *X , const size_t incX )
fneg .
template INST_OR_DECL void fzero (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, FFLAS_ELT *X , const size_t incX )
fzero : .
template INST_OR_DECL bool fiszero (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT *X , const size_t incX )
fiszero : test .
template INST_OR_DECL bool fequal (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT *X , const size_t incX , const FFLAS_ELT *Y , const size_t incY )
fequal : test .
template INST_OR_DECL void fassign (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *Y , const size_t incY , FFLAS_ELT *X , const size_t incX )
fassign : .
template INST_OR_DECL void fscalin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT alpha , FFLAS_ELT *X , const size_t incX )
fscalin .
template INST_OR_DECL void fscal (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t n, const FFLAS_ELT alpha , const FFLAS_ELT *X , const size_t incX , FFLAS_ELT *Y , const size_t incY )
fscal .
template INST_OR_DECL void faxpy (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT alpha , const FFLAS_ELT *X , const size_t incX , FFLAS_ELT *Y , const size_t incY )
faxpy : .
template INST_OR_DECL FFLAS_ELT fdot (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *X , const size_t incX , const FFLAS_ELT *Y , const size_t incY )
faxpby : .
template INST_OR_DECL void fswap (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , FFLAS_ELT *X , const size_t incX , FFLAS_ELT *Y , const size_t incY )
fswap: .
template INST_OR_DECL void fadd (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *A , const size_t inca , const FFLAS_ELT *B , const size_t incb , FFLAS_ELT *C , const size_t incc )
template INST_OR_DECL void fsub (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *A , const size_t inca , const FFLAS_ELT *B , const size_t incb , FFLAS_ELT *C , const size_t incc )
template INST_OR_DECL void faddin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *B , const size_t incb , FFLAS_ELT *C , const size_t incc )
template INST_OR_DECL void fadd (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t N , const FFLAS_ELT *A , const size_t inca , const FFLAS_ELT alpha , const FFLAS_ELT *B , const size_t incb , FFLAS_ELT *C , const size_t incc )
template INST_OR_DECL void fassign (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *A , const size_t lda)
fassign : .
template INST_OR_DECL void fzero (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda)
fzero : .
template INST_OR_DECL bool fequal (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb )
fequal : test .
template INST_OR_DECL bool fiszero (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *A , const size_t lda)
fiszero : test .
template INST_OR_DECL void fidentity (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda, const FFLAS_ELT &d )
creates a diagonal matrix
template INST_OR_DECL void fidentity (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda)
creates a diagonal matrix
template INST_OR_DECL void freduce (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda)
freduce .
template INST_OR_DECL void freduce (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *A , const size_t lda)
freduce .
template INST_OR_DECL void finit (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *A , const size_t lda)
finit .
template INST_OR_DECL void fnegin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda)
fnegin .
template INST_OR_DECL void fneg (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *A , const size_t lda)
fneg .
template INST_OR_DECL void fscalin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT alpha , FFLAS_ELT *A , const size_t lda)
fscalin .
template INST_OR_DECL void fscal (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, FFLAS_ELT *B , const size_t ldb )
fscal .
template INST_OR_DECL void faxpy (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, const FFLAS_ELT alpha , const FFLAS_ELT *X , const size_t ldx , FFLAS_ELT *Y , const size_t ldy )
faxpy : .
template INST_OR_DECL void fmove (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t m, const size_t n, FFLAS_ELT *A , const size_t lda, FFLAS_ELT *B , const size_t ldb )
faxpby : .
template INST_OR_DECL void fadd (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *C , const size_t ldc)
fadd : matrix addition.
template INST_OR_DECL void fsub (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *C , const size_t ldc)
fsub : matrix subtraction.
template INST_OR_DECL void fsubin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *C , const size_t ldc)
fsubin C = C - B
template INST_OR_DECL void fadd (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT alpha , const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *C , const size_t ldc)
fadd : matrix addition with scaling.
template INST_OR_DECL void faddin (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT *B , const size_t ldb , FFLAS_ELT *C , const size_t ldc)
faddin
template INST_OR_DECL FFLAS_ELT * fgemv (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE TransA , const size_t M , const size_t N , const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *X , const size_t incX , const FFLAS_ELT beta , FFLAS_ELT *Y , const size_t incY )
finite prime FFLAS_FIELD<FFLAS_ELT> GEneral Matrix Vector multiplication.
template INST_OR_DECL void fger (const FFLAS_FIELD < FFLAS_ELT > &F, const size_t M , const size_t N , const FFLAS_ELT alpha , const FFLAS_ELT *x , const size_t incx , const FFLAS_ELT *y , const size_t incy , FFLAS_ELT *A , const size_t lda)
fger: rank one update of a general matrix
template INST_OR_DECL void ftrsv (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_UPLO Uplo , const FFLAS_TRANSPOSE TransA , const FFLAS_DIAG Diag , const size_t N , const FFLAS_ELT *A , const size_t lda, FFLAS_ELT *X , int incX )
ftrsv: TRiangular System solve with Vector Computes
template INST_OR_DECL void ftrsm (const FFLAS_FIELD < FFLAS_ELT > &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 FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, FFLAS_ELT *B , const size_t ldb )
ftrsm: TR iangular S ystem solve with M atrix.
template INST_OR_DECL void ftrmm (const FFLAS_FIELD < FFLAS_ELT > &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 FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, FFLAS_ELT *B , const size_t ldb )
ftrmm: TR iangular M atrix M ultiply.
template INST_OR_DECL FFLAS_ELT * fgemm (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , const FFLAS_ELT beta , FFLAS_ELT *C , const size_t ldc)
fgemm: F ield GE neral M atrix M ultiply.
template INST_OR_DECL FFLAS_ELT * fgemm (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , const FFLAS_ELT beta , FFLAS_ELT *C , const size_t ldc, const ParSeqHelper::Sequential seq )
template INST_OR_DECL FFLAS_ELT * fgemm (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , const FFLAS_ELT beta , FFLAS_ELT *C , const size_t ldc, const ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::TwoDAdaptive > par )
template INST_OR_DECL FFLAS_ELT * fgemm (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE ta , const FFLAS_TRANSPOSE tb , const size_t m, const size_t n, const size_t k, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT *B , const size_t ldb , const FFLAS_ELT beta , FFLAS_ELT *C , const size_t ldc, const ParSeqHelper::Parallel < CuttingStrategy::Block , StrategyParameter::Threads > par )
template INST_OR_DECL FFLAS_ELT * fsquare (const FFLAS_FIELD < FFLAS_ELT > &F, const FFLAS_TRANSPOSE ta , const size_t n, const FFLAS_ELT alpha , const FFLAS_ELT *A , const size_t lda, const FFLAS_ELT beta , FFLAS_ELT *C , const size_t ldc)
fsquare: Squares a matrix.
template<class Cut = CuttingStrategy::Block, class Strat = StrategyParameter::Threads>
void BlockCuts (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Single, StrategyParameter::Threads > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Fixed > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Grain > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t grainsize )
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Grain > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t grainsize )
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Fixed > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Grain > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t grainsize )
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Fixed > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Row, StrategyParameter::Threads > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Column, StrategyParameter::Threads > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<>
void BlockCuts< CuttingStrategy::Block, StrategyParameter::Threads > (size_t &RBLOCKSIZE , size_t &CBLOCKSIZE , const size_t m, const size_t n, const size_t numthreads)
template<class Cut = CuttingStrategy::Block, class Param = StrategyParameter::Threads>
void BlockCuts (size_t &rowBlockSize, size_t &colBlockSize, size_t &lastRBS, size_t &lastCBS, size_t &changeRBS, size_t &changeCBS, size_t &numRowBlock, size_t &numColBlock, size_t m, size_t n, const size_t numthreads)
template<class Field >
void pfzero (const Field &F, size_t m, size_t n, typename Field::Element_ptr C , size_t BS =0)
template<class Field , class RandIter >
void pfrand (const Field &F, RandIter &G , size_t m, size_t n, typename Field::Element_ptr C , size_t BS =0)
template<class Field , class Cut , class Param >
Field::Element & fdot (const Field &F, const size_t N , typename Field::ConstElement_ptr x , const size_t incx , typename Field::ConstElement_ptr y , const size_t incy , typename Field::Element &d , const ParSeqHelper::Parallel < Cut, Param > par )
template<class Field , class AlgoT , class FieldTrait >
Field::Element * pfgemm (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::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Block , StrategyParameter::Threads > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element * pfgemm (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::ConstElement_ptr AA , const size_t lda, const typename Field::ConstElement_ptr BB , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::ThreeDAdaptive > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element * pfgemm (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::ConstElement_ptr AA , const size_t lda, const typename Field::ConstElement_ptr BB , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::TwoDAdaptive > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element * pfgemm (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::ConstElement_ptr AA , const size_t lda, const typename Field::ConstElement_ptr BB , const size_t ldb , const typename Field::Element beta , typename Field::Element *C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::TwoD > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element_ptr pfgemm (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::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::ThreeD > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element * pfgemm (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::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr B , const size_t ldb , const typename Field::Element beta , typename Field::Element_ptr C , const size_t ldc, MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::ThreeDInPlace > > &H )
template<class Field , class AlgoT , class FieldTrait >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const typename Field::Element alpha , const typename Field::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Recursive , StrategyParameter::Threads > > &H )
template<class Field , class AlgoT , class FieldTrait , class Cut >
Field::Element_ptr fgemv (const Field &F, const FFLAS_TRANSPOSE ta , const size_t m, const size_t n, const typename Field::Element alpha , const typename Field::ConstElement_ptr A , const size_t lda, const typename Field::ConstElement_ptr X , const size_t incX , const typename Field::Element beta , typename Field::Element_ptr Y , const size_t incY , MMHelper < Field , AlgoT , FieldTrait , ParSeqHelper::Parallel < CuttingStrategy::Row , Cut > > &H )
void parseArguments (int argc , char **argv , Argument *args , bool printDefaults =true )
char * getArgumentValue (int argc , char **argv , int i )
Get the value of an argument and avoid core dump when no value was given after an argument.
std::ostream & writeCommandString (std::ostream &os , Argument *args , const char *programName =nullptr )
writes the values of all arguments, preceded by the programName
template<class Field >
std::ostream & WriteMatrix (std::ostream &c, const Field &F, size_t m, size_t n, typename Field::ConstElement_ptr A , size_t lda, FFLAS_FORMAT format , bool column_major )
WriteMatrix: write a matrix to an output stream.
void preamble (std::ifstream &ifs , FFLAS_FORMAT &format )
template<class Field >
Field::Element_ptr ReadMatrix (std::ifstream &ifs , Field &F, size_t &m, size_t &n, typename Field::Element_ptr &A , FFLAS_FORMAT format =FflasAuto )
ReadMatrix: read a matrix from an input stream.
template<class Field >
Field::Element_ptr ReadMatrix (const std::string &matrix_file , Field &F, size_t &m, size_t &n, typename Field::Element_ptr &A , FFLAS_FORMAT format =FflasAuto )
ReadMatrix: read a matrix from a file.
template<class Field >
void WriteMatrix (std::string &matrix_file , const Field &F, int m, int n, typename Field::ConstElement_ptr A , size_t lda, FFLAS_FORMAT format =FflasDense , bool column_major =false )
WriteMatrix: write a matrix to a file.
std::ostream & WritePermutation (std::ostream &c, const size_t *P , size_t N )
WritePermutation: write a permutation matrix to an output stream.
template<class Element >
bool alignable ()
template<>
bool alignable< Givaro::Integer * > ()
template<class Field >
Field::Element_ptr fflas_new (const Field &F, const size_t m, const Alignment align =Alignment::DEFAULT)
template<class Field >
Field::Element_ptr fflas_new (const Field &F, const size_t m, const size_t n, const Alignment align =Alignment::DEFAULT)
template<class Element >
Element * fflas_new (const size_t m, const Alignment align =Alignment::DEFAULT)
template<class Element_ptr >
void fflas_delete (Element_ptr A )
template<class Ptr , class ... Args>
void fflas_delete (Ptr p, Args ... args )
void prefetch (const int64_t *)
void getTLBSize (int &tlb )
void queryCacheSizes (int &l1 , int &l2 , int &l3 )
int queryL1CacheSize ()
int queryTopLevelCacheSize ()
uint64_t getSeed ()