linbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes
PrimeIterator< Trait > Class Template Reference

Prime Iterator. More...

#include <random-prime.h>

+ Inheritance diagram for PrimeIterator< Trait >:

Public Types

typedef UniqueSamplingTrait< Trait > UniqueSamplingTag
 whether a prime can be picked more than once
 

Public Member Functions

 PrimeIterator (uint64_t bits=23, uint64_t seed=0)
 Constructor. More...
 
PrimeIterator< Trait > & operator++ ()
 operator++() (prefix ++ operator) creates a new random prime.
 
const Prime_Type & operator* () const
 get the random prime. More...
 
void setBits (uint64_t bits)
 Sets the bit size. More...
 

Static Public Member Functions

static void setSeed (uint64_t ul)
 Sets the seed. More...
 

Protected Attributes

uint64_t _bits
 common lenght of all primes
 
integer _prime
 the generated prime. More...
 
Givaro::IntPrimeDom _IPD
 empty struct dealing with primality. More...
 

Detailed Description

template<class Trait = IteratorCategories::HeuristicTag>
class LinBox::PrimeIterator< Trait >

Prime Iterator.

Generates prime of specified length using a heuristically random distribution (no guarantee whatsoever).

Examples:
examples/qchar.C.

Constructor & Destructor Documentation

◆ PrimeIterator()

PrimeIterator ( uint64_t  bits = 23,
uint64_t  seed = 0 
)
inline

Constructor.

Parameters
bitssize of primes (in bits). Default is 23 so it can fit in a Linbox::Modular<double>.
seedif 0 a seed will be generated, otherwise, the provided seed will be use.

Member Function Documentation

◆ operator*()

const Prime_Type& operator* ( ) const
inline

get the random prime.

returns the actual prime.

Warning
a new prime is not generated.

◆ setSeed()

static void setSeed ( uint64_t  ul)
inlinestatic

Sets the seed.

Set the random seed to be ul.

Parameters
ulthe new seed.

◆ setBits()

void setBits ( uint64_t  bits)
inline

Sets the bit size.

Parameters
bitsthe new bit size.

Field Documentation

◆ _prime

integer _prime
protected

the generated prime.

◆ _IPD

Givaro::IntPrimeDom _IPD
protected

empty struct dealing with primality.


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