docs: public boolean add(final double k) {
  		long longKey = Double.doubleToLongBits(k);
  		if (longKey == 0L) {
  			if (this.containsZero) {
  				return false;
  			}
  
  			this.containsZero = true;
  		} else {
  			double[] key = this.key;
  			int pos;
  			long curr;
  			if ((curr = Double.doubleToLongBits(key[pos = (int) MurmurHashUtil.fmix(longKey) & this.mask])) != 0L) {
  				if (curr == longKey) {
  					return false;
  				}
  
  				while ((curr = Double.doubleToLongBits(key[pos = pos + 1 & this.mask])) != 0L) {
  					if (curr == longKey) {
  						return false;
  					}
  				}
  			}
  
  			key[pos] = k;
  		}
  
  		if (this.size++ >= this.maxFill) {
  			this.rehash(OptimizableHashSet.arraySize(this.size + 1, this.f));
  		}
  
  		return true;
  	}