linbox
RandomDenseStream< Field, _Vector, RandIter, Trait > Class Template Reference

Random dense vector stream. More...

#include <stream.h>

+ Inheritance diagram for RandomDenseStream< Field, _Vector, RandIter, Trait >:

Public Types

typedef _Vector Vector
 
typedef RandomDenseStream< Field, Vector, RandIter, Trait > Self_t
 

Public Member Functions

 RandomDenseStream (const Field &F, RandIter &r, size_t n, size_t m=0)
 Constructor.
 
Vectorget (Vector &v)
 Get next element.
 
Self_toperator>> (Vector &v)
 Extraction operator form.
 
size_t size () const
 Number of vectors to be created.
 
size_t pos () const
 Number of vectors created so far.
 
size_t dim () const
 Dimension of the space.
 
 operator bool () const
 Check whether we have reached the end.
 
void reset ()
 Reset the stream to start at the beginning.
 
void rewind ()
 Alias for reset.
 
Legacy interface

These functions provide compatiblity with older parts of the library.

Their use is deprecated.

Vectornext (Vector &v)
 
size_t j () const
 
size_t m () const
 
size_t n () const
 

Detailed Description

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
class LinBox::RandomDenseStream< Field, _Vector, RandIter, Trait >

Random dense vector stream.

Generates a sequence of random dense vectors over a given field

Examples
examples/dot-product.C.

Member Typedef Documentation

◆ Vector

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
typedef _Vector Vector

◆ Self_t

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
typedef RandomDenseStream<Field, Vector, RandIter, Trait> Self_t

Constructor & Destructor Documentation

◆ RandomDenseStream()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
RandomDenseStream ( const Field & F,
RandIter & r,
size_t n,
size_t m = 0 )

Constructor.

Construct a new stream with the given field and vector size.

Parameters
FField over which to create random vectors
r
nSize of vectors
mNumber of vectors to return (0 for unlimited)

Member Function Documentation

◆ get()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
Vector & get ( Vector & v)
virtual

Get next element.

Parameters
vVector into which to generate random vector
Returns
reference to new random vector

Implements VectorStream< _Vector >.

◆ operator>>()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
Self_t & operator>> ( Vector & v)
inline

Extraction operator form.

◆ size()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
size_t size ( ) const
virtual

Number of vectors to be created.

Implements VectorStream< _Vector >.

◆ pos()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
size_t pos ( ) const
virtual

Number of vectors created so far.

Implements VectorStream< _Vector >.

◆ dim()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
size_t dim ( ) const
virtual

Dimension of the space.

Implements VectorStream< _Vector >.

◆ operator bool()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
operator bool ( ) const
virtual

Check whether we have reached the end.

Implements VectorStream< _Vector >.

◆ reset()

template<typename Field, typename _Vector = BlasVector<Field, typename Vector<Field>::Dense>, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
void reset ( )
virtual

Reset the stream to start at the beginning.

Implements VectorStream< _Vector >.

◆ rewind()

template<class _Vector>
void rewind ( )
inlineinherited

Alias for reset.

◆ next()

template<class _Vector>
Vector & next ( Vector & v)
inlineinherited

◆ j()

template<class _Vector>
size_t j ( ) const
inlineinherited

◆ m()

template<class _Vector>
size_t m ( ) const
inlineinherited

◆ n()

template<class _Vector>
size_t n ( ) const
inlineinherited

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