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< ElementBlock
typedef BlasMatrix< ElementValue
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