Givaro
GIV_randIter< Field, Type > Class Template Reference

Random field Element generator. More...

#include <givranditer.h>

Public Member Functions

Implementation-Specific Methods.
 GIV_randIter (void)
 Default constructor.
 

Common Object Interface.

These methods are required of all LinBox random field Element generators.

typedef Field::Element Element
 Field Element type. More...
 
 GIV_randIter (const Field &F, const size_t size=0, const uint64_t seed=0)
 Constructor from field, sampling size, and seed. More...
 
 GIV_randIter (const GIV_randIter &R)
 Copy constructor. More...
 
 ~GIV_randIter (void)
 Destructor. More...
 
GIV_randIter< Field, Type > & operator= (const GIV_randIter< Field, Type > &R)
 Assignment operator. More...
 
Elementrandom (Element &elt) const
 Random field Element creator with assignement. More...
 

Detailed Description

template<class Field, class Type>
class Givaro::GIV_randIter< Field, Type >

Random field Element generator.

This class defines a field Element generator for all givaro field (Gfq and Zpz) throught a template argument as a field. The random generator used is the givrandom.

Member Typedef Documentation

typedef Field::Element Element

Field Element type.

The field Element must contain a default constructor, a copy constructor, a destructor, and an assignment operator.

Constructor & Destructor Documentation

GIV_randIter ( const Field F,
const size_t  size = 0,
const uint64_t  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()). 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. This implementation sets the sampling size to be no more than the cardinality of the field.

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)
GIV_randIter ( const GIV_randIter< Field, Type > &  R)
inline

Copy constructor.

Constructs ALP_randIter object by copying the random field Element generator. This is required to allow generator objects to be passed by value into functions. In this implementation, this means copying the random field Element generator to which R._randIter_ptr points.

Parameters
RALP_randIter object.
~GIV_randIter ( void  )
inline

Destructor.

This destructs the random field Element generator object. In this implementation, this destroys the generator by deleting the random generator object to which _randIter_ptr points.

Member Function Documentation

GIV_randIter<Field,Type>& operator= ( const GIV_randIter< Field, Type > &  R)
inline

Assignment operator.

Assigns ALP_randIter object R to generator. In this implementation, this means copying the generator to which R._randIter_ptr points.

Parameters
RALP_randIter object.
Element& random ( Element elt) const
inline

Random field Element creator with assignement.

This returns a random field Element from the information supplied at the creation of the generator.

Returns
random field Element

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