Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

RandomSparseStream Class Template Reference

#include <stream.h>

Inheritance diagram for RandomSparseStream:

VectorStream

Detailed Description

template<class Field, class _Vector = typename LinBox::Vector<Field>::Sparse, class RandIter = typename Field::RandIter, class Trait = typename VectorTraits<_Vector>::VectorCategory>
class LinBox::RandomSparseStream< Field, _Vector, RandIter, Trait >

Random sparse vector stream Generates a sequence of random sparse vectors over a given field


Public Types

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

Public Member Functions

 RandomSparseStream (const Field &F, double p, size_t n, size_t m=0)
 RandomSparseStream (const Field &F, const RandIter &r, double p, size_t n, size_t m=0)
Vectorget (Vector &v)
Self_toperator>> (Vector &v)
size_t size () const
size_t pos () const
size_t dim () const
 operator bool () const
void reset ()
void setP (double p)


Member Typedef Documentation

typedef _Vector Vector
 

Reimplemented from VectorStream.

typedef RandomSparseStream<Field, Vector, RandIter, Trait > Self_t
 

Reimplemented from VectorStream.


Constructor & Destructor Documentation

RandomSparseStream const Field F,
double  p,
size_t  n,
size_t  m = 0
 

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

Parameters:
F Field over which to create random vectors
p Proportion of nonzero entries
n Size of vectors
m Number of vectors to return (0 for unlimited)

RandomSparseStream const Field F,
const RandIter r,
double  p,
size_t  n,
size_t  m = 0
 

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

Parameters:
F Field over which to create random vectors
n Size of vectors
p Proportion of nonzero entries
m Number of vectors to return (0 for unlimited)


Member Function Documentation

Vector& get Vector v  )  [virtual]
 

Get next element

Parameters:
v Vector into which to generate random vector
Returns:
reference to new random vector

Implements VectorStream.

Self_t& operator>> Vector v  )  [inline]
 

Extraction operator form

Reimplemented from VectorStream.

size_t size  )  const [virtual]
 

Number of vectors to be created

Implements VectorStream.

size_t pos  )  const [virtual]
 

Number of vectors created so far

Implements VectorStream.

size_t dim  )  const [virtual]
 

Dimension of the space

Implements VectorStream.

operator bool  )  const [virtual]
 

Check whether we have reached the end

Implements VectorStream.

void reset  )  [virtual]
 

Reset the stream to start at the beginning

Implements VectorStream.

void setP double  p  ) 
 

Set the probability of a nonzero entry


Generated on Fri Jul 8 10:29:57 2005 for linbox by doxygen 1.3.7