linbox
Public Member Functions | Protected Member Functions | Static Protected Member Functions
CRABuilderFullMultipMatrix< Domain_Type > Struct Template Reference

NO DOC. More...

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

+ Inheritance diagram for CRABuilderFullMultipMatrix< Domain_Type >:
+ Collaboration diagram for CRABuilderFullMultipMatrix< Domain_Type >:

Public Member Functions

 CRABuilderFullMultipMatrix (const std::pair< size_t, double > &p)
 Constructor. More...
 
template<class Matrix >
void initialize (const Domain &D, Matrix &e)
 Intialize to the first residue/prime. More...
 
template<class Matrix >
void progress (const Domain &D, Matrix &e)
 Add a new residue (ie take into account a new prime). More...
 
template<class Matrix >
Matrixresult (Matrix &d)
 Compute the result. More...
 
template<typename ModType , class Vect >
void initialize (const ModType &D, const Vect &e)
 init
 
const std::vector< Integer > & result (bool normalized=true) const
 result
 

Protected Member Functions

void collapse () const
 Collapses all shelves by combining residues. More...
 
void normalize () const
 Collapses (if necessary) the top shelf and normalizes the result into the symmetric modulus range.
 

Static Protected Member Functions

static size_t getShelf (double logmod)
 Returns the index where the shelf (with specified natural log of modulus) belongs.
 
static const integermod_to_integer (const Integer &D)
 Returns a reference to D. More...
 
template<class Domain >
static integer mod_to_integer (const Domain &D)
 Returns the characteristic of D.
 
static void combineShelves (Shelf &dest, const Shelf &src)
 Incorporates the residue in src into dest and updates the modulus.
 
static void ensureShelf (size_t index, std::vector< Shelf > &shelves, size_t dim)
 Expands the shelves as necessary so that the given index exists in the array.
 

Detailed Description

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

NO DOC.

Version of LinBox::CRABuilderFullMultip for matrices.

Constructor & Destructor Documentation

◆ CRABuilderFullMultipMatrix()

CRABuilderFullMultipMatrix ( const std::pair< size_t, double > &  p)
inline

Constructor.

Parameters
pis a pair such that
  • p.first is the size of a residue, 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

◆ initialize()

void initialize ( const Domain &  D,
Matrix e 
)
inline

Intialize to the first residue/prime.

Parameters
Ddomain
e
Precondition
any CRA should first call initialize before progress

◆ progress()

void progress ( const Domain &  D,
Matrix e 
)
inline

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

Parameters
Ddomain
e

◆ result()

Matrix& result ( Matrix d)
inline

Compute the result.

moves low occupied shelves up.

Parameters
[out]d

◆ mod_to_integer()

static const integer& mod_to_integer ( const Integer &  D)
inlinestaticprotectedinherited

Returns a reference to D.

This is needed to automatically handle whether D is a Domain or an actual integer.

◆ collapse()

void collapse ( ) const
inlineprotectedinherited

Collapses all shelves by combining residues.

After this, there will be a single (top) shelf containing the current full residue.


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