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

BlackboxBlockContainerBase Class Template Reference

#include <blackbox-block-container-base.h>

Inheritance diagram for BlackboxBlockContainerBase:

BlackboxBlockContainer BlackboxBlockContainerRecord List of all members.

Detailed Description

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

A base class for BlackboxBlockContainer. The primary member function is begin(). @doc It returns an iterator which after i increments (++) dereferences to $U A^i V$, for $U$ and $V$ determined by the init function. It is designed to be used with implementations of Block Berlekamp-Massey such as BlockMasseyDomain.

Subclasses complete the implementation by defining _launch() and _wait().


Public Types

typedef _Field Field
typedef Field::Element Element
typedef _Blackbox Blackbox
typedef BlasMatrix< Element > Block
typedef BlasMatrix< Element > Value

Public Methods

 BlackboxBlockContainerBase ()
 BlackboxBlockContainerBase (const Blackbox *BD, const Field &F, size_t m, size_t n, size_t seed=time(NULL))
virtual ~BlackboxBlockContainerBase ()
const_iterator begin ()
const_iterator end ()
size_t size () const
const Field & getField () const
const Blackbox * getBB () const
size_t rowdim () const
size_t coldim () const
size_t getrow () const
size_t getcol () const

Protected Methods

virtual void _launch ()=0
virtual void _wait ()=0
const Value & getvalue ()
void Mul (Block &M1, const Blackbox &M2, const Block &M3)
 Initializers.

void init (const Block &U, const Block &V)
 User Left and Right blocks.

void init (size_t m, size_t n)

Protected Attributes

Field _F
 Members.

const Blackbox * _BB
size_t _size
size_t _row
size_t _col
size_t _m
size_t _n
long casenumber
Block _U
Block _V
Value _value
size_t _seed

Friends

class const_iterator


Member Typedef Documentation

typedef _Blackbox Blackbox
 

typedef BlasMatrix<Element> Block
 

Reimplemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.

typedef Field::Element Element
 

Reimplemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.

typedef _Field Field
 

Reimplemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.

typedef BlasMatrix<Element> Value
 

Reimplemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.


Constructor & Destructor Documentation

BlackboxBlockContainerBase (    )  [inline]
 

BlackboxBlockContainerBase (  const Blackbox *    BD,
const Field &    F,
size_t    m,
size_t    n,
size_t    seed = time(NULL)
)  [inline]
 

virtual ~BlackboxBlockContainerBase (    )  [inline, virtual]
 


Member Function Documentation

virtual void _launch (    )  [protected, pure virtual]
 

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

Implemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.

virtual void _wait (    )  [protected, pure virtual]
 

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

Implemented in BlackboxBlockContainer, and BlackboxBlockContainerRecord.

const_iterator begin (    )  [inline]
 

size_t coldim (    )  const [inline]
 

const_iterator end (    )  [inline]
 

const Blackbox* getBB (    )  const [inline]
 

size_t getcol (    )  const [inline]
 

const Field& getField (    )  const [inline]
 

size_t getrow (    )  const [inline]
 

const Value& getvalue (    )  [inline, protected]
 

void init (  size_t    m,
size_t    n
)  [inline, protected]
 

void init (  const Block &    U,
const Block &    V
)  [inline, protected]
 

User Left and Right blocks.

void Mul (  Block &    M1,
const Blackbox &    M2,
const Block &    M3
)  [inline, protected]
 

Initializers.

size_t rowdim (    )  const [inline]
 

size_t size (    )  const [inline]
 


Friends And Related Function Documentation

friend class const_iterator [friend]
 


Member Data Documentation

const Blackbox* _BB [protected]
 

size_t _col [protected]
 

Field _F [protected]
 

Members.

size_t _m [protected]
 

size_t _n [protected]
 

size_t _row [protected]
 

size_t _seed [protected]
 

size_t _size [protected]
 

Block _U [protected]
 

Block _V [protected]
 

Value _value [protected]
 

long casenumber [protected]
 


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