public void offer(long hash) {
    // Compute hash of the value

    // Extract the first b bits for the register index
    int idx = (int) (hash & (m - 1));

    // Count the number of leading zeros in the remaining bits
    // Add 1 to get the position of the leftmost 1

    int leadingZeros = Long.numberOfTrailingZeros(hash >>> b) + 1;

    // Update the register if the new value is larger
    registers[idx] = Math.max(registers[idx], leadingZeros);
  }
Adds a value to the estimator.

<p>The value to add
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/approximate/HyperLogLog.java