|
linbox
|
Prime Iterator. More...
#include <random-prime.h>
Inheritance diagram for PrimeIterator< Trait >:Public Types | |
| typedef integer | Prime_Type |
| typedef UniqueSamplingTrait< Trait > | UniqueSamplingTag |
| whether a prime can be picked more than once | |
| typedef Trait | IteratorTag |
Public Member Functions | |
| PrimeIterator (uint64_t bits=23, uint64_t seed=0) | |
| Constructor. | |
| PrimeIterator< Trait > & | operator++ () |
| operator++() (prefix ++ operator) creates a new random prime. | |
| const Prime_Type & | operator* () const |
| get the random prime. | |
| void | setBits (uint64_t bits) |
| Sets the bit size. | |
| uint64_t | getBits () const |
Static Public Member Functions | |
| static void | setSeed (uint64_t ul) |
| Sets the seed. | |
Protected Member Functions | |
| virtual void | generatePrime () |
| void | generatePrime () |
| void | generatePrime () |
| void | generatePrime () |
Protected Attributes | |
| uint64_t | _bits |
| common lenght of all primes | |
| integer | _prime |
| the generated prime. | |
| Givaro::IntPrimeDom | _IPD |
| empty struct dealing with primality. | |
Prime Iterator.
Generates prime of specified length using a heuristically random distribution (no guarantee whatsoever).
It is given by nextprime(2^_bits-p) where size(p) < _bits.
| typedef integer Prime_Type |
| typedef UniqueSamplingTrait<Trait> UniqueSamplingTag |
whether a prime can be picked more than once
| typedef Trait IteratorTag |
|
inline |
Constructor.
| bits | size of primes (in bits). Default is 23 so it can fit in a Linbox::Modular<double>. |
| seed | if 0 a seed will be generated, otherwise, the provided seed will be use. |
|
protectedvirtual |
Reimplemented in MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, MaskedPrimeIterator< Trait >, and MaskedPrimeIterator< Trait >.
|
inline |
operator++() (prefix ++ operator) creates a new random prime.
|
inline |
get the random prime.
returns the actual prime.
|
inlinestatic |
Sets the seed.
Set the random seed to be ul.
| ul | the new seed. |
|
inline |
Sets the bit size.
| bits | the new bit size. |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
common lenght of all primes
|
protected |
the generated prime.
|
protected |
empty struct dealing with primality.