linbox
BlackboxContainer< Field, _Blackbox, RandIter > Class Template Reference

Limited doc so far. More...

#include <blackbox-container.h>

+ Inheritance diagram for BlackboxContainer< Field, _Blackbox, RandIter >:

Public Types

typedef _Blackbox Blackbox
 
typedef Field::Element Element
 

Public Member Functions

template<class Vector>
 BlackboxContainer (const Blackbox *D, const Field &F, const Vector &u0)
 
template<class Vector>
 BlackboxContainer (const Blackbox *D, const Field &F, const Vector &u0, size_t size)
 
template<class Vector1, class Vector2>
 BlackboxContainer (const Blackbox *D, const Field &F, const Vector1 &u0, const Vector2 &v0)
 
 BlackboxContainer (const Blackbox *D, const Field &F, RandIter &g)
 
const_iterator begin ()
 
const_iterator end ()
 
long size () const
 
const FieldgetField () const
 
const Fieldfield () const
 
_Blackbox * getBB () const
 

Protected Member Functions

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

Protected Attributes

BlasVector< Fieldw
 
const Field_field
 Members.
 
VectorDomain< Field_VD
 
const _Blackbox * _BB
 
long _size
 
long casenumber
 
BlasVector< Fieldu
 
BlasVector< Fieldv
 
Element _value
 

Detailed Description

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
class LinBox::BlackboxContainer< Field, _Blackbox, RandIter >

Limited doc so far.

Member Typedef Documentation

◆ Blackbox

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
typedef _Blackbox Blackbox

◆ Element

typedef Field::Element Element
inherited

Constructor & Destructor Documentation

◆ BlackboxContainer() [1/4]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
template<class Vector>
BlackboxContainer ( const Blackbox * D,
const Field & F,
const Vector & u0 )
inline

◆ BlackboxContainer() [2/4]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
template<class Vector>
BlackboxContainer ( const Blackbox * D,
const Field & F,
const Vector & u0,
size_t size )
inline

◆ BlackboxContainer() [3/4]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
template<class Vector1, class Vector2>
BlackboxContainer ( const Blackbox * D,
const Field & F,
const Vector1 & u0,
const Vector2 & v0 )
inline

◆ BlackboxContainer() [4/4]

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
BlackboxContainer ( const Blackbox * D,
const Field & F,
RandIter & g )
inline

Member Function Documentation

◆ _launch()

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
void _launch ( )
inlineprotectedvirtual

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

...or just does it.

Implements BlackboxContainerBase< Field, _Blackbox >.

◆ _wait()

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
void _wait ( )
inlineprotectedvirtual

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

Implements BlackboxContainerBase< Field, _Blackbox >.

◆ begin()

const_iterator begin ( )
inlineinherited

◆ end()

const_iterator end ( )
inlineinherited

◆ size()

long size ( ) const
inlineinherited

◆ getField()

const Field & getField ( ) const
inlineinherited

◆ field()

const Field & field ( ) const
inlineinherited

◆ getBB()

_Blackbox * getBB ( ) const
inlineinherited

◆ getvalue()

const Element & getvalue ( )
inlineprotectedinherited

◆ init() [1/3]

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

Initializers.

User Left and Right vectors

◆ init() [2/3]

Element & init ( RandIter & g)
inlineprotectedinherited

Random Left vectors, Zero Right vector.

◆ init() [3/3]

Element & init ( const Vector & uu)
inlineprotectedinherited

User Left vectors, Zero Right vector.

Field Documentation

◆ w

template<class Field, class _Blackbox, class RandIter = typename Field::RandIter>
BlasVector<Field> w
protected

◆ _field

const Field* _field
protectedinherited

Members.

◆ _VD

VectorDomain<Field> _VD
protectedinherited

◆ _BB

const _Blackbox* _BB
protectedinherited

◆ _size

long _size
protectedinherited

◆ casenumber

long casenumber
protectedinherited

◆ u

BlasVector<Field> u
protectedinherited

◆ v

BlasVector<Field> v
protectedinherited

◆ _value

Element _value
protectedinherited

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