public HyperLogLogBuilder enableBitPacking(boolean b) {
      this.bitPacking = b;
      return this;
    }
<pre>
This is an implementation of the following variants of hyperloglog (HLL)
algorithm
Original  - Original HLL algorithm from Flajolet et. al from
            http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf
HLLNoBias - Google's implementation of bias correction based on lookup table
            http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf
HLL++     - Google's implementation of HLL++ algorithm that uses SPARSE registers
            http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf

Following are the constructor parameters that determines which algorithm is
used
<b>numRegisterIndexBits</b> - number of LSB hashcode bits to be used as register index.
                       <i>Default is 14</i>. min = 4 and max = 16
<b>numHashBits</b> - number of bits for hashcode. <i>Default is 64</i>. min = 32 and max = 128
<b>encoding</b> - Type of encoding to use (SPARSE or DENSE). The algorithm automatically
           switches to DENSE beyond a threshold. <i>Default: SPARSE</i>
<b>enableBitPacking</b> - To enable bit packing or not. Bit packing improves compression
                   at the cost of more CPU cycles. <i>Default: true</i>
<b>noBias</b> - Use Google's bias table lookup for short range bias correction.
         Enabling this will highly improve the estimation accuracy for short
         range values. <i>Default: true</i>

</pre>
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/common/ndv/hll/HyperLogLog.java