linbox
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 >:

Protected Member Functions

virtual void _launch ()=0
 Launches a process to do the computation of the next sequence value: \(U A^{i+1} V\).
 
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()

template<class _Field, class _Blackbox, class _MatrixDomain = BlasMatrixDomain<_Field>>
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 >, BlackboxBlockContainerRecord< Field, FMatrix >, and BlackboxBlockContainerRecord< Field, FMatrix >.


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