FflasFfpack
Public Types | Public Member Functions | Data Fields
rns_double_extended Struct Reference

#include <rns-double.h>

Public Types

typedef Givaro::Integer integer
 
typedef Givaro::ModularExtended< 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_extended (const integer &bound, size_t pbits, bool rnsmod=false, long seed=time(NULL))
 
 rns_double_extended (size_t pbits, size_t size, long seed=time(NULL))
 
template<typename Vect >
 rns_double_extended (const Vect &basis, bool rnsmod=false, long seed=time(NULL))
 
void precompute_cst ()
 
void init (size_t m, size_t n, double *Arns, size_t rda, const integer *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)
 
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)
 
void init (size_t m, double *Arns, const integer *A, size_t lda) const
 
void convert (size_t m, integer *A, const double *Arns) const
 
void reduce (size_t n, double *Arns, size_t rda, 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
 

Member Typedef Documentation

typedef Givaro::Integer integer
typedef double BasisElement

Constructor & Destructor Documentation

rns_double_extended ( const integer bound,
size_t  pbits,
bool  rnsmod = false,
long  seed = time(NULL) 
)
inline
rns_double_extended ( size_t  pbits,
size_t  size,
long  seed = time(NULL) 
)
inline
rns_double_extended ( const Vect &  basis,
bool  rnsmod = false,
long  seed = time(NULL) 
)
inline

Member Function Documentation

void precompute_cst ( )
inline
void init ( size_t  m,
size_t  n,
double *  Arns,
size_t  rda,
const integer A,
size_t  lda,
const integer maxA,
bool  RNS_MAJOR = false 
) const
inline
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 
)
inline
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 
)
inline
void init ( size_t  m,
double *  Arns,
const integer A,
size_t  lda 
) const
inline
void convert ( size_t  m,
integer A,
const double *  Arns 
) const
inline
void reduce ( size_t  n,
double *  Arns,
size_t  rda,
bool  RNS_MAJOR = false 
) const
inline

Field Documentation

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

The documentation for this struct was generated from the following files: