NAME
    Algorithm::HyperLogLog - Implementation of the HyperLogLog cardinality
    estimation algorithm

SYNOPSIS
      use Algorithm::HyperLogLog;
  
      my $hll = Algorithm::HyperLogLog->new(14);
  
      while(<>){
          $hll->add($_);
      }
  
      my $cardinality = $hll->estimate();

DESCRIPTION
    This module is implementation of the HyperLogLog algorithm.

    HyperLogLog is an algorithm for estimating the cardinality of a set.

METHODS
  new($b)
    Constructor.

    `$b` is the parameter for determining register size. (The register size
    is 2^$b.)

    `$b` must be a integer between 4 and 16.

  add($data)
    Adds element to the cardinality estimator.

  estimate()
    Returns estimated cardinality value in floation point number.

  XS()
    If using XS backend, this method return true value.

SEE ALSO
    Philippe Flajolet, ��ric Fusy, Olivier Gandouet and Fr��d��ric Meunier.
    HyperLogLog: the analysis of a near-optimal cardinality estimation
    algorithm. 2007 Conference on Analysis of Algorithms, DMTCS proc. AH,
    pp. 127���146, 2007.
    <http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf>

AUTHOR
    Hideaki Ohno <hide.o.j55 {at} gmail.com>

THANKS TO
    MurmurHash3(<https://github.com/PeterScott/murmur3>)

    Austin Appleby
    Peter Scott

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.