linbox
Protected Member Functions | Protected Attributes
BlackboxBlockContainerBase< _Field, _Blackbox, _MatrixDomain > Class Template Referenceabstract

A base class for BlackboxBlockContainer. More...

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

+ Inheritance diagram for BlackboxBlockContainerBase< _Field, _Blackbox, _MatrixDomain >:
+ Collaboration diagram for BlackboxBlockContainerBase< _Field, _Blackbox, _MatrixDomain >:

Protected Member Functions

virtual void _launch ()=0
 Launches a process to do the computation of the next sequence value: $U A^{i+1} V$. More...
 
virtual void _wait ()=0
 If a separate process is computing the next value of $U A^{i+1} V$, _wait() blocks until the value is ready.
 
void Mul (Block &M1, const Blackbox &M2, const Block &M3)
 Initializers.
 
void init (const Block &U, const Block &V)
 User Left and Right blocks.
 

Protected Attributes

const Field * _field
 Members.
 

Detailed Description

template<class _Field, class _Blackbox, class _MatrixDomain = BlasMatrixDomain<_Field>>
class LinBox::BlackboxBlockContainerBase< _Field, _Blackbox, _MatrixDomain >

A base class for BlackboxBlockContainer.

The primary member function is begin().

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

Member Function Documentation

◆ _launch()

virtual void _launch ( )
protectedpure virtual

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

...or just does it.

Implemented in BlackboxBlockContainerRecord< _Field, _Blackbox, _MatrixDomain >.


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