Exemplo n.º 1
0
  VectorHashTable<Parms>::VectorHashTable(size_type i, const Parms & p)
    : parms_(p), size_(0) 
  {
    if (i <= 19) {
      i = 19;
    } else {
      size_type j =  ((i - 3)/4)*4 + 3;
      if (j == i) 
	i = j;
      else
	i = j + 4;
      Primes p(static_cast<size_type>(sqrt(static_cast<double>(i))+2));
      for (;;) {
	if (i > p.max_num())
	  p.resize(static_cast<size_type>(sqrt(static_cast<double>(i))+2));
	if (p.is_prime(i) && p.is_prime(i-2))
	  break;
	i += 4;
      }
    }
    vector_.resize(i);
    nonexistent_vector();
  }