# Vacations: day 7 to 14, 20, 22, 25 to 30
#
# 0 1 2 3 4
# day no. 0123457890123456789012345678901234567890
# vacations ######## # # #####
# list entries X X XXXX X X
my @vacation_skip = 7, 15, 20, 21, 22, 23, 25, 31
####
use List::MoreUtils qw/last_index/;
my @vacation_skip = (7, 15, 20, 21, 22, 23, 25, 31);
my $search_for = 18;
my $found = last_index { $_ <= $search_for } @vacation_skip;
if ($found % 2 == 0) {
print "vacation\n";
} else {
print "work day\n";
}
####
sub range_overlaps {
my ($start_probe, $end_probe, @skip) = @_;
my $start_idx = last_index { $_ <= $start_probe } @skip;
my $end_idx = last_index { $_ <= $end_probe } @skip;
return $start_idx != $end_idx || ($start_idx % 2 == 0);
}
####
my @proxy_vacations = (0, @vacation_skip);
####
sub inverted {
if ($_[0] == 0) {
return @_[1..$#_];
} else {
return (0, @_);
}
}
####
# 0 1 2 3 4
# day no. 0123457890123456789012345678901234567890
# vacations ######## # # #####
# old markers X X XXXX X X
# new range #######
# new vacations ######## ###########
# new markers X X X X
####
my @items = qw/a b c d e/;
my @weights = (0.1, 2, 1, 4, 1.3);
my @summed_weights;
my $running_sum = 0;
for (@weights) {
$running_sum += $_;
push @summed_weights, $running_sum;
}
use Data::Dumper;
print Dumper \@summed_weights;