Algorithm-History-Levels
view release on metacpan or search on metacpan
lib/Algorithm/History/Levels.pm view on Meta::CPAN
my $res = {
levels => [ map {[]} @$levels],
discard => [],
};
LEVEL:
for my $l (0..$#{$levels}) {
my ($period, $num_per_level) = @{ $levels->[$l] };
# first, fill the level with histories that fit the time frame for each
# level's slot
for my $slot (0..$num_per_level-1) {
my $min_time = $now-($slot+1)*$period;
my $max_time = $now-($slot )*$period;
if ($l > 0) {
my ($lower_period, $lower_num_per_level) = @{ $levels->[$l-1] };
$min_time -= $lower_num_per_level*$lower_period;
$max_time -= $lower_num_per_level*$lower_period;
}
my $h = _pick_history(\@histories, $min_time, $max_time);
( run in 0.638 second using v1.01-cache-2.11-cpan-df04353d9ac )