linbox
RNSfixed< Unsigned > Class Template Reference

#include <rns.h>

Public Member Functions

 RNSfixed (size_t l, size_t ps=21)
 Create a RNSfixed able to recover any integer of at most l bits.
 
void initCRA ()
 Inits cra.
 
void cra (integer &result, const std::vector< double > &residues)
 Computes result corresponding to the residues.
 
void cra (std::vector< integer > &result, const std::vector< std::vector< double > > &residues)
 Computes result corresponding to the residues.
 
template<class Iteration>
void cra (Ivect &result, Iteration &iter)
 Computes result corresponding to the iteration.
 
template<class Tinteger, class Tresidue>
void cra (Tinteger &result, Tresidue &residues)
 
template<class Tinteger, class Tresidue>
void convert (Tinteger &result, Tresidue &residues)
 
template<class Function>
void cra (Ivect &result, Function &unitCRA)
 

Constructor & Destructor Documentation

◆ RNSfixed()

template<bool Unsigned>
RNSfixed ( size_t l,
size_t ps = 21 )

Create a RNSfixed able to recover any integer of at most l bits.

Builds ceil(l/ps) different primes for the RNSfixed

Parameters
lmax recoverable bits
psbitsize of the primes (defaulting to 21 because...)
Todo
if log2(maxint/curint)<ps use smaller genprime.

Member Function Documentation

◆ initCRA()

template<bool Unsigned>
void initCRA ( )

Inits cra.

◆ cra() [1/5]

template<bool Unsigned>
void cra ( integer & result,
const std::vector< double > & residues )

Computes result corresponding to the residues.

◆ cra() [2/5]

template<bool Unsigned>
void cra ( std::vector< integer > & result,
const std::vector< std::vector< double > > & residues )

Computes result corresponding to the residues.

◆ cra() [3/5]

template<bool Unsigned>
template<class Iteration>
void cra ( Ivect & result,
Iteration & iter )

Computes result corresponding to the iteration.

◆ cra() [4/5]

template<bool Unsigned>
template<class Tinteger, class Tresidue>
void cra ( Tinteger & result,
Tresidue & residues )

◆ convert()

template<bool Unsigned>
template<class Tinteger, class Tresidue>
void convert ( Tinteger & result,
Tresidue & residues )

◆ cra() [5/5]

template<bool Unsigned>
template<class Function>
void cra ( Ivect & result,
Function & unitCRA )

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