linbox
|
Random field element generator. More...
#include <abstract.h>
Public Member Functions | |
virtual RandIterAbstract * | construct (const FieldAbstract &F, const integer &size=0, const uint64_t 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)=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 >.