Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

BlackboxContainerBase Class Template Reference

#include <blackbox-container-base.h>


Detailed Description

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

A base class for BlackboxContainer. The primary member function is begin(). 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 Member Functions

 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
Blackbox * getBB () const

Protected Member Functions

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


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

const_iterator begin  )  [inline]
 

const_iterator end  )  [inline]
 

long size  )  const [inline]
 

const Field& getField  )  const [inline]
 

Blackbox* getBB  )  const [inline]
 

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 Element& getvalue  )  [inline, protected]
 

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

User Left and Right vectors.

Element& init RandIter g  )  [inline, protected]
 

Random Left vectors, Zero Right vector.

Element& init const Vector uu  )  [inline, protected]
 

User Left vectors, Zero Right vector.


Field Documentation

Field _F [protected]
 

Members.

VectorDomain<Field> _VD [protected]
 

const Blackbox* _BB [protected]
 

long _size [protected]
 

long casenumber [protected]
 

std::vector<Element> u [protected]
 

std::vector<Element> v [protected]
 

Element _value [protected]
 


Generated on Fri Jul 8 10:29:44 2005 for linbox by doxygen 1.3.7