linbox
Public Member Functions | Protected Member Functions | Protected Attributes
BlackboxContainerBase< Field, Blackbox > Class Template Referenceabstract

A base class for BlackboxContainer. More...

#include <blackbox-container-base.h>

Public Member Functions

 BlackboxContainerBase (const Blackbox *BB, const Field &F)
 
 BlackboxContainerBase (const Blackbox *BB, const Field &F, size_t Size)
 

Protected Member Functions

virtual void _launch ()=0
 Launches a process to do the computation of the next sequence value: $v^T A^{i+1} u$. More...
 
virtual void _wait ()=0
 If a separate process is computing the next value of $v^T A^{i+1} u$, _wait() blocks until the value is ready.
 
template<class Vector1 , class Vector2 >
Element & init (const Vector1 &uu, const Vector2 &vv)
 Initializers. More...
 
template<class RandIter >
Element & init (RandIter &g)
 Random Left vectors, Zero Right vector.
 
template<class Vector >
Element & init (const Vector &uu)
 User Left vectors, Zero Right vector.
 

Protected Attributes

const Field * _field
 Members.
 

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().

Constructor & Destructor Documentation

◆ BlackboxContainerBase() [1/2]

BlackboxContainerBase ( const Blackbox *  BB,
const Field &  F 
)
inline
Bug:
no need for F

◆ BlackboxContainerBase() [2/2]

BlackboxContainerBase ( const Blackbox *  BB,
const Field &  F,
size_t  Size 
)
inline
Bug:
no need for F

Member Function Documentation

◆ _launch()

virtual void _launch ( )
protectedpure 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 BlackboxContainer< Field, _Blackbox, RandIter >, DenseContainer< Field, Vector, RandIter >, and BlackboxContainerSymmetric< Field, _Blackbox, RandIter >.

◆ init()

Element& init ( const Vector1 &  uu,
const Vector2 &  vv 
)
inlineprotected

Initializers.

User Left and Right vectors


The documentation for this class was generated from the following file: