Algorithm-Numerical-Sample
view release on metacpan or search on metacpan
lib/Algorithm/Numerical/Sample.pm view on Meta::CPAN
$args {$_} = $args {"-$_"} unless defined $args {$_};
}
my $self = {};
$self -> {sample_size} = defined $args {sample_size} ? $args {sample_size}
: 1;
$self -> {seen} = 0;
$self -> {reservoir} = [(undef) x $self -> {sample_size}];
bless $self, $class;
}
sub data {
my $self = shift;
foreach my $sample (@_) {
if ($self -> {seen} < $self -> {sample_size}) {
# Initialize reservoir.
$self -> {reservoir} -> [$self -> {seen}] =
[$self -> {seen}, $sample];
( run in 0.748 second using v1.01-cache-2.11-cpan-de7293f3b23 )