Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ModularRandIter Class Template Reference

#include <modular.h>

List of all members.


Detailed Description

template<class Element>
class LinBox::ModularRandIter< Element >

Random field base element generator. This encapsulated class is a generator of random field base elements for the encapsulating field. It is required to contain constructors from a field object and two integers. The first integer being a cardinality of a set to draw the random elements from, and the second being a seed for the random number generator. It is also required to contain a copy constructor, a destructor, and an operator() which acts on a reference to a field base element. In this operator(), the random element is placed into the input field base element and also returned as a reference.


Public Methods

 ModularRandIter (const Modular< Element > &F, const integer &size=0, const integer &seed=0)
 ModularRandIter (const ModularRandIter< Element > &R)
 ~ModularRandIter ()
ModularRandIter< Element > & operator= (const ModularRandIter< Element > &R)
Elementrandom (Element &a) const
ElementAbstractrandom (ElementAbstract &a) const


Constructor & Destructor Documentation

ModularRandIter const Modular< Element > &    F,
const integer   size = 0,
const integer   seed = 0
[inline]
 

Constructor from field, sampling size, and seed. The random field element iterator works in the field F, is seeded by seed, and it returns any one element with probability no more than 1/min (size, F.cardinality (c)). A sampling size of zero means to sample from the entire field. A seed of zero means to use some arbitrary seed for the generator. Purely virtual.

Parameters:
F  LinBox field archetype object in which to do arithmetic
size  constant integer reference of sample size from which to sample (default = modulus of field)
seed  constant integer reference from which to seed random number generator (default = 0)

ModularRandIter const ModularRandIter< Element > &    R [inline]
 

Copy constructor. Constructs ModularRandIter object by copying the random field element generator. This is required to allow generator objects to be passed by value into functions.

Parameters:
R  ModularRandIter object.

~ModularRandIter   [inline]
 

Destructor. This destructs the random field element generator object.


Member Function Documentation

ModularRandIter<Element>& operator= const ModularRandIter< Element > &    R [inline]
 

Assignment operator. Assigns ModularRandIter object R to generator.

Parameters:
R  ModularRandIter object.

ElementAbstract& random ElementAbstract   a const [inline]
 

Random field element creator. This returns a random field element from the information supplied at the creation of the generator. Required by abstract base class.

Returns:
reference to random field element

Element& random Element   a const [inline]
 

Random field element creator. This returns a random field element from the information supplied at the creation of the generator. Required by abstract base class.

Returns:
reference to random field element


Generated on Mon Jun 20 09:16:52 2005 for linbox by doxygen1.2.18