Public Member Functions | |
phimahashvecs () | |
~phimahashvecs () | |
size_t | size () const |
size_t | max_size () const |
void | insert (const unsigned int i) |
void | prepare (const size_t tablesize) |
size_t | Intervalsize () const |
bool | found (const mpz_t &val) const |
bool | found (const mpz_t &val, unsigned int &the_index) const |
Private Attributes | |
phimavec | lookup [lookup_bins] |
size_t | myIntervalsize |
Static Private Attributes | |
static const mp_size_t | hashlimb = 1 |
static const unsigned int | lookup_bins = 0x1000 |
static const mp_limb_t | limbmask = lookup_bins-1 |
static const unsigned int | redundancy = 8 |
Definition at line 305 of file fermat.cc.
phimahashvecs::phimahashvecs | ( | ) | [inline] |
Definition at line 315 of file fermat.cc.
References entry::iL, entry::L, and mpz_init_set_ui().
size_t phimahashvecs::size | ( | ) | const [inline] |
Definition at line 321 of file fermat.cc.
References lookup, and lookup_bins.
Referenced by prepare().
size_t phimahashvecs::max_size | ( | ) | const [inline] |
Definition at line 327 of file fermat.cc.
References lookup, and std::vector< _Tp, _Alloc >::max_size().
Referenced by phimat2().
void phimahashvecs::insert | ( | const unsigned int | i | ) | [inline] |
Definition at line 329 of file fermat.cc.
References entry::get_mpz(), hashlimb, limbmask, lookup, mpz_getlimbn(), and std::vector< _Tp, _Alloc >::push_back().
Referenced by prepare().
void phimahashvecs::prepare | ( | const size_t | tablesize | ) | [inline] |
Definition at line 335 of file fermat.cc.
References entry::Base, cout, endl(), flush(), hashlimb, entry::iL, insert(), entry::L, limbmask, lookup, lookup_bins, mpz_getlimbn(), mpz_mod(), mpz_mul(), mpz_set_ui(), myIntervalsize, n, redundancy, std::vector< _Tp, _Alloc >::reserve(), std::vector< _Tp, _Alloc >::size(), size(), sort(), and phimavec::sort().
Referenced by phimat2().
size_t phimahashvecs::Intervalsize | ( | ) | const [inline] |
bool phimahashvecs::found | ( | const mpz_t & | val | ) | const [inline] |
Definition at line 379 of file fermat.cc.
References entry::Base, phimavec::found(), hashlimb, limbmask, lookup, mpz_clear(), mpz_getlimbn(), mpz_init_set(), mpz_mod(), mpz_mul(), n, and redundancy.
Referenced by found(), and phimat2().
bool phimahashvecs::found | ( | const mpz_t & | val, | |
unsigned int & | the_index | |||
) | const [inline] |
Definition at line 405 of file fermat.cc.
References entry::Base, cout, endl(), found(), Intervalsize(), mpz_clear(), mpz_cmp(), mpz_init(), mpz_invert(), mpz_mod(), mpz_mul(), mpz_powm_ui(), and n.
const mp_size_t phimahashvecs::hashlimb = 1 [static, private] |
const unsigned int phimahashvecs::lookup_bins = 0x1000 [static, private] |
const mp_limb_t phimahashvecs::limbmask = lookup_bins-1 [static, private] |
phimavec phimahashvecs::lookup[lookup_bins] [private] |
size_t phimahashvecs::myIntervalsize [private] |
const unsigned int phimahashvecs::redundancy = 8 [static, private] |