linbox  1
Public Member Functions | Protected Member Functions
RandIterAbstract Class Reference

#include <abstract.h>

Inheritance diagram for RandIterAbstract:
RandIterEnvelope< Field >

List of all members.

Public Member Functions

virtual RandIterAbstractconstruct (const FieldAbstract &F, const integer &size=0, const integer &seed=0) const =0
virtual RandIterAbstractclone (void) const =0
virtual RandIterAbstractoperator= (const RandIterAbstract &x)=0
virtual ~RandIterAbstract (void)
virtual Elementrandom (Element &a) const =0

Protected Member Functions

 RandIterAbstract (void)

Detailed Description

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.


Constructor & Destructor Documentation

virtual ~RandIterAbstract ( void  ) [inline, virtual]

Destructor.

RandIterAbstract ( void  ) [inline, protected]

Default constructor Required by derived classes, but protected because this class should never be constructed by itself.


Member Function Documentation

virtual RandIterAbstract* construct ( const FieldAbstract F,
const integer size = 0,
const integer seed = 0 
) const [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.

Parameters:
FLinBox field archetype object in which to do arithmetic
sizeconstant integer reference of sample size from which to sample (default = 0)
seedconstant integer reference from which to seed random number generator (default = 0)

Implemented in RandIterEnvelope< Field >.

virtual RandIterAbstract* clone ( void  ) const [pure virtual]

Virtual copy constructor. Required because constructors cannot be virtual. Passes construction on to derived classes. Purely virtual.

Returns:
pointer to new RandIterAbstract object in dynamic memory.

Implemented in RandIterEnvelope< Field >.

virtual RandIterAbstract& operator= ( const RandIterAbstract x) [pure virtual]

Assignment operator. Purely virtual.

Parameters:
xconstant reference to RandIterAbstract object
Returns:
reference to self

Implemented in RandIterEnvelope< Field >.

virtual Element& random ( Element a) const [pure virtual]

Random field element creator. Purely virtual.

Returns:
reference to ElementAbstract object

Implemented in RandIterEnvelope< Field >.


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