Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

BlackboxBlockContainerRecord Class Template Reference

#include <blackbox-block-container.h>

Inheritance diagram for BlackboxBlockContainerRecord:

BlackboxBlockContainerBase List of all members.

template<class _Field, class _Blackbox>
class LinBox::BlackboxBlockContainerRecord< _Field, _Blackbox >


Public Types

typedef _Field Field
typedef Field::Element Element
typedef Field::RandIter RandIter
typedef BlasMatrix< Element > Block
typedef BlasMatrix< Element > Value
enum  Launcher { RowUpdate = 0, ColUpdate = 1, Nothing = 2 }

Public Methods

 BlackboxBlockContainerRecord ()
 BlackboxBlockContainerRecord (const _Blackbox *D, const Field &F, const Block &U0)
 BlackboxBlockContainerRecord (const _Blackbox *D, const Field &F, const Block &U0, const Block &V0)
 BlackboxBlockContainerRecord (const _Blackbox *D, const Field &F, size_t m, size_t n, size_t seed=time(NULL))
void setU (const std::vector< Element > &b, size_t k)
void setV (const std::vector< Element > &b, size_t k)
void recompute ()
void clearTimer ()
void printTimer ()

Protected Methods

void _launch_record ()
void _launch_record_row ()
void _launch_record_col ()
void _launch ()
void _wait ()

Protected Attributes

Block _W
Block _Vcopy
BlasMatrixDomain< Field > _BMD
std::vector< Value > _rep
size_t _upd_idx
std::vector< Element > _u
std::vector< Element > _w
Launcher _launcher
size_t _iter
size_t _case
Timer ttSequence
Timer tSequence

Member Typedef Documentation

typedef BlasMatrix<Element> Block
 

Reimplemented from BlackboxBlockContainerBase.

typedef Field::Element Element
 

Reimplemented from BlackboxBlockContainerBase.

typedef _Field Field
 

Reimplemented from BlackboxBlockContainerBase.

typedef Field::RandIter RandIter
 

typedef BlasMatrix<Element> Value
 

Reimplemented from BlackboxBlockContainerBase.


Member Enumeration Documentation

enum Launcher
 

Enumeration values:
RowUpdate 
ColUpdate 
Nothing 


Constructor & Destructor Documentation

BlackboxBlockContainerRecord (    )  [inline]
 

BlackboxBlockContainerRecord (  const _Blackbox *    D,
const Field &    F,
const Block &    U0
)  [inline]
 

BlackboxBlockContainerRecord (  const _Blackbox *    D,
const Field &    F,
const Block &    U0,
const Block &    V0
)  [inline]
 

BlackboxBlockContainerRecord (  const _Blackbox *    D,
const Field &    F,
size_t    m,
size_t    n,
size_t    seed = time(NULL)
)  [inline]
 


Member Function Documentation

void _launch (    )  [inline, protected, virtual]
 

Launches a process to do the computation of the next sequence value: $U A^{i+1} V$. ...or just does it.

Implements BlackboxBlockContainerBase.

void _launch_record (    )  [inline, protected]
 

void _launch_record_col (    )  [inline, protected]
 

void _launch_record_row (    )  [inline, protected]
 

void _wait (    )  [inline, protected, virtual]
 

If a separate process is computing the next value of $U A^{i+1} V$, _wait() blocks until the value is ready.

Implements BlackboxBlockContainerBase.

void clearTimer (    )  [inline]
 

void printTimer (    )  [inline]
 

void recompute (    )  [inline]
 

void setU (  const std::vector< Element > &    b,
size_t    k
)  [inline]
 

void setV (  const std::vector< Element > &    b,
size_t    k
)  [inline]
 


Member Data Documentation

BlasMatrixDomain<Field> _BMD [protected]
 

size_t _case [protected]
 

size_t _iter [protected]
 

Launcher _launcher [protected]
 

std::vector<Value> _rep [protected]
 

std::vector<Element> _u [protected]
 

size_t _upd_idx [protected]
 

Block _Vcopy [protected]
 

std::vector<Element> _w [protected]
 

Block _W [protected]
 

Timer tSequence [protected]
 

Timer ttSequence [protected]
 


Generated on Mon Jun 20 09:16:57 2005 for linbox by doxygen1.2.18