Algorithm-LossyCount

 view release on metacpan or  search on metacpan

t/Algorithm/LossyCount.t  view on Meta::CPAN

sub zipf_distribution {
  my ($num_samples) = @_;

  my $partition_function = sum map { 1 / $_ } 1 .. $num_samples;
  return sub {
    my ($i) = @_;
    1 / ($i * $partition_function);
  };
}

throws_ok {
  Algorithm::LossyCount->new;
} qr/max_error_ratio/, 'max_error_ratio is a mandatory parameter.';

my $num_samples = 20000;
my $distribution = zipf_distribution($num_samples);
my %sample_frequencies;
for my $i (1 .. $num_samples) {
  my $probability = $distribution->($i);
  my $frequency = int ($probability * $num_samples);
  next if $frequency == 0;



( run in 0.333 second using v1.01-cache-2.11-cpan-496ff517765 )