GIV_ExtensionrandIter< ExtensionField, Type > Class Template Reference

Extension rand iters. More...

`#include <extension.h>`

## Common Object Interface.

These methods are required of all LinBox random field Element generators.
typedef ExtensionField::PolElement | Element
| Field Element type.
typedef ExtensionField::Residu_t | Residu_t
| Field Element type.
| GIV_ExtensionrandIter (const ExtensionField &F, const Type &size=0, const Type &seed=0)
| Constructor from field, sampling size, and seed.
| GIV_ExtensionrandIter (const GIV_ExtensionrandIter &R)
| Copy constructor.
| ~GIV_ExtensionrandIter (void)
| Destructor.
Element & | random (Element &elt) const
| Assignment operator.
Element & | operator() (Element &elt) const
| Random field Element creator with assignement.
Element & | operator() (void)
| Random field Element creator.
const ExtensionField & | ring ()
| Field Element type.

## Detailed Description

template<class ExtensionField, class Type>
class Givaro::GIV_ExtensionrandIter< ExtensionField, Type >

Extension rand iters.

## Member Typedef Documentation

## Element

template<class ExtensionField, class Type>

typedef ExtensionField::PolElement Element

Field Element type.

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

## Residu_t

template<class ExtensionField, class Type>

typedef ExtensionField::Residu_t Residu_t

Field Element type.

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

## Constructor & Destructor Documentation

## GIV_ExtensionrandIter() [1/2]

template<class ExtensionField, class Type>

GIV_ExtensionrandIter | ( | const ExtensionField & | F,
|  | const Type & | size = 0,
|  | const Type & | 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

  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)

## GIV_ExtensionrandIter() [2/2]

template<class ExtensionField, class Type>

GIV_ExtensionrandIter | ( | const GIV_ExtensionrandIter< ExtensionField, 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

  R | ALP_randIter object.

## ~GIV_ExtensionrandIter()

template<class ExtensionField, class Type>

~GIV_ExtensionrandIter | ( | 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

## random()

template<class ExtensionField, class Type>

Element & random | ( | Element & | elt | ) | const

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

  R | ALP_randIter object. 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

## operator()() [1/2]

template<class ExtensionField, class Type>

Element & operator() | ( | 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

## operator()() [2/2]

template<class ExtensionField, class Type>

Element & operator() | ( | void |  | ) |

inline

Random field Element creator.

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

Returns
  random field Element

## ring()

template<class ExtensionField, class Type>

const ExtensionField & ring | ( |  | ) |

inline

Field Element type.

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

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

- extension.h