linbox
Public Member Functions
FullMultipFixedCRA< Domain_Type > Struct Template Reference

Chinese Remaindering Algorithm for multiple residues. More...

#include <cra-full-multip-fixed.h>

+ Inheritance diagram for FullMultipFixedCRA< Domain_Type >:

Public Member Functions

 FullMultipFixedCRA (const std::pair< size_t, double > &p)
 Constructor.
template<class Iterator >
void initialize (const Domain &D, Iterator &e)
 Intialize to the first residue/prime.
template<class Iterator >
void progress (const Domain &D, Iterator &e)
 Add a new residue (ie take into account a new prime).
template<class Iterator >
Iterator & result (Iterator &d)
 Compute the result.

Detailed Description

template<class Domain_Type>
struct LinBox::FullMultipFixedCRA< Domain_Type >

Chinese Remaindering Algorithm for multiple residues.

An upper bound is given on the size of the data to reconstruct.


Constructor & Destructor Documentation

FullMultipFixedCRA ( const std::pair< size_t, double > &  p) [inline]

Constructor.

Parameters:
pis a pair such that
  • p.first is the size of a residue (ie. it would be 1 for "FullSingle")
  • p.second is the theoretical upperbound (natural logarithm) on the size of the integers to reconstruct.

Member Function Documentation

void initialize ( const Domain &  D,
Iterator &  e 
) [inline]

Intialize to the first residue/prime.

Parameters:
Ddomain
eiterator on the first residue
Precondition:
any CRA should first call initialize before progress
void progress ( const Domain &  D,
Iterator &  e 
) [inline]

Add a new residue (ie take into account a new prime).

Parameters:
Ddomain
eiterator for the new residue, for instance, a std::vector<T>::iterator.
Iterator& result ( Iterator &  d) [inline]

Compute the result.

moves low occupied shelves up.

Parameters:
[out]dan iterator for the result.

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