linbox

Random field element generator. More...
#include <abstract.h>
Public Member Functions  
virtual RandIterAbstract *  construct (const FieldAbstract &F, const integer &size=0, const integer &seed=0) const =0 
Virtual constructor from field, sampling size, and seed. More...  
virtual RandIterAbstract *  clone (void) const =0 
Virtual copy constructor. More...  
virtual RandIterAbstract &  operator= (const RandIterAbstract &x)=0 
Assignment operator. More...  
virtual  ~RandIterAbstract (void) 
Destructor.  
virtual Element &  random (Element &a) const =0 
Random field element creator. More...  
Protected Member Functions  
RandIterAbstract (void)  
Default constructor Required by derived classes, but protected because this class should never be constructed by itself.  
Random field element generator.
This encapsulated class is a generator of random field 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 random() which acts on a reference to a field element. The random value is written to the argument and also returned as a reference.

pure virtual 
Virtual constructor from field, sampling size, and seed.
Required because constructors cannot be virtual. Passes construction on to derived classes. 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.
F  LinBox field archetype object in which to do arithmetic 
size  constant integer reference of sample size from which to sample (default = 0) 
seed  constant integer reference from which to seed random number generator (default = 0) 
Implemented in RandIterEnvelope< Field >.

pure virtual 
Virtual copy constructor.
Required because constructors cannot be virtual. Passes construction on to derived classes. Purely virtual.
Implemented in RandIterEnvelope< Field >.

pure virtual 
Assignment operator.
Purely virtual.
x  constant reference to RandIterAbstract object 
Implemented in RandIterEnvelope< Field >.
Random field element creator.
Purely virtual.
Implemented in RandIterEnvelope< Field >.