|
FflasFfpack
|
#include <rns-double.h>
Public Types | |
| typedef Givaro::Integer | integer |
| typedef Givaro::Modular< double > | ModField |
| typedef double | BasisElement |
| typedef rns_double_elt | Element |
| typedef rns_double_elt_ptr | Element_ptr |
| typedef rns_double_elt_cstptr | ConstElement_ptr |
Public Member Functions | |
| rns_double (const integer &bound, size_t pbits, bool rnsmod=false, long seed=time(NULL)) | |
| rns_double (size_t pbits, size_t size, long seed=time(NULL)) | |
| template<typename Vect > | |
| rns_double (const Vect &basis, bool rnsmod=false, long seed=time(NULL)) | |
| rns_double (const RNSIntegerMod< rns_double > &basis, bool rnsmod=false, long seed=time(NULL)) | |
| void | precompute_cst (size_t K=0) |
| template<typename T > | |
| void | init (size_t m, size_t n, double *Arns, size_t rda, const T *A, size_t lda, const integer &maxA, bool RNS_MAJOR=false) const |
| void | init (size_t m, size_t n, double *Arns, size_t rda, const integer *A, size_t lda, size_t k, bool RNS_MAJOR=false) const |
| void | init_transpose (size_t m, size_t n, double *Arns, size_t rda, const integer *A, size_t lda, size_t k, bool RNS_MAJOR=false) const |
| void | convert (size_t m, size_t n, integer gamma, integer *A, size_t lda, const double *Arns, size_t rda, bool RNS_MAJOR=false) const |
| void | convert_transpose (size_t m, size_t n, integer gamma, integer *A, size_t lda, const double *Arns, size_t rda, bool RNS_MAJOR=false) const |
| void | reduce (size_t n, double *Arns, size_t rda, bool RNS_MAJOR=false) const |
| template<size_t K> | |
| void | init (size_t m, size_t n, double *Arns, size_t rda, const RecInt::ruint< K > *A, size_t lda, size_t k, bool RNS_MAJOR=false) const |
| template<size_t K> | |
| void | convert (size_t m, size_t n, integer gamma, RecInt::ruint< K > *A, size_t lda, const double *Arns, size_t rda, integer p=0, bool RNS_MAJOR=false) const |
Data Fields | |
| std::vector< double, AlignedAllocator< double, Alignment::CACHE_LINE > > | _basis |
| std::vector< double, AlignedAllocator< double, Alignment::CACHE_LINE > > | _basisMax |
| std::vector< double, AlignedAllocator< double, Alignment::CACHE_LINE > > | _negbasis |
| std::vector< double, AlignedAllocator< double, Alignment::CACHE_LINE > > | _invbasis |
| std::vector< ModField > | _field_rns |
| integer | _M |
| std::vector< integer > | _Mi |
| std::vector< double > | _MMi |
| std::vector< double > | _crt_in |
| std::vector< double > | _crt_out |
| size_t | _size |
| size_t | _pbits |
| size_t | _ldm |
| integer | _mi_sum |
| typedef Givaro::Integer integer |
| typedef Givaro::Modular<double> ModField |
| typedef double BasisElement |
| typedef rns_double_elt Element |
| typedef rns_double_elt_ptr Element_ptr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| std::vector<double, AlignedAllocator<double, Alignment::CACHE_LINE> > _basis |
| std::vector<double, AlignedAllocator<double, Alignment::CACHE_LINE> > _basisMax |
| std::vector<double, AlignedAllocator<double, Alignment::CACHE_LINE> > _negbasis |
| std::vector<double, AlignedAllocator<double, Alignment::CACHE_LINE> > _invbasis |
| std::vector<ModField> _field_rns |
| integer _M |
| std::vector<integer> _Mi |
| std::vector<double> _MMi |
| std::vector<double> _crt_in |
| std::vector<double> _crt_out |
| size_t _size |
| size_t _pbits |
| size_t _ldm |
| integer _mi_sum |