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

BlackboxContainerBase Class Template Reference

#include <blackbox-container-base.h>

List of all members.


Detailed Description

template<class Field, class Blackbox>
class LinBox::BlackboxContainerBase< Field, Blackbox >

A base class for BlackboxContainer. The primary member function is begin(). @doc It returns an iterator which after i increments (++) dereferences to $v^T A^i u$, for $v$ and $u$ determined by the form of construction. It is designed to be used with implementations of Berlekamp-Massey such as MasseyDom.

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


Public Types

typedef Field::Element Element

Public Methods

 BlackboxContainerBase ()
 BlackboxContainerBase (const Blackbox *BB, const Field &F)
 BlackboxContainerBase (const Blackbox *BB, const Field &F, unsigned long size)
virtual ~BlackboxContainerBase ()
const_iterator begin ()
const_iterator end ()
long size () const
const FieldgetField () const
BlackboxgetBB () const

Protected Methods

virtual void _launch ()=0
virtual void _wait ()=0
const Elementgetvalue ()
template<class Vector1, class Vector2> Elementinit (const Vector1 &uu, const Vector2 &vv)
 User Left and Right vectors.

template<class RandIter> Elementinit (RandIter &g)
 Random Left vectors, Zero Right vector.

template<class Vector> Elementinit (const Vector &uu)
 User Left vectors, Zero Right vector.


Protected Attributes

Field _F
 Members.

VectorDomain< Field_VD
const Blackbox_BB
long _size
long casenumber
std::vector< Elementu
std::vector< Elementv
Element _value

Friends

class const_iterator


Member Typedef Documentation

typedef Field::Element Element
 


Constructor & Destructor Documentation

BlackboxContainerBase   [inline]
 

BlackboxContainerBase const Blackbox   BB,
const Field   F
[inline]
 

BlackboxContainerBase const Blackbox   BB,
const Field   F,
unsigned long    size
[inline]
 

virtual ~BlackboxContainerBase   [inline, virtual]
 


Member Function Documentation

virtual void _launch   [protected, pure virtual]
 

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

Implemented in BlackboxContainerSymmetric, BlackboxContainer, and DenseContainer.

virtual void _wait   [protected, pure virtual]
 

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

Implemented in BlackboxContainerSymmetric, BlackboxContainer, and DenseContainer.

const_iterator begin   [inline]
 

const_iterator end   [inline]
 

Blackbox* getBB   const [inline]
 

const Field& getField   const [inline]
 

const Element& getvalue   [inline, protected]
 

Element& init const Vector   uu [inline, protected]
 

User Left vectors, Zero Right vector.

Element& init RandIter &    g [inline, protected]
 

Random Left vectors, Zero Right vector.

Element& init const Vector1 &    uu,
const Vector2 &    vv
[inline, protected]
 

User Left and Right vectors.

long size   const [inline]
 


Friends And Related Function Documentation

friend class const_iterator [friend]
 


Member Data Documentation

const Blackbox* _BB [protected]
 

Field _F [protected]
 

Members.

long _size [protected]
 

Element _value [protected]
 

VectorDomain<Field> _VD [protected]
 

long casenumber [protected]
 

std::vector<Element> u [protected]
 

std::vector<Element> v [protected]
 


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