| 
    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 |