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. More...
 
template<class Iterator >
void initialize (const Domain &D, Iterator &e)
 Intialize to the first residue/prime. More...
 
template<class Iterator >
void progress (const Domain &D, Iterator &e)
 Add a new residue (ie take into account a new prime). More...
 
template<class Iterator >
Iterator & result (Iterator &d)
 Compute the result. More...
 
template<class Vect >
void initialize (const Integer &D, const Vect &e)
 init
 
template<template< class, class > class Vect, template< class > class Alloc>
void progress (const Integer &D, const Vect< Integer, Alloc< Integer > > &e)
 progress
 
template<template< class, class > class Vect, template< class > class Alloc>
Vect< Integer, Alloc< Integer > > & result (Vect< Integer, Alloc< Integer > > &d)
 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: