}
sub get_sections_ptvals {
- my $last_name;
+ my $last_ptval;
my @out;
while (my $name = shift @_) {
if ($name eq '-') {
- push @out, [ $last_name, 1.0 ];
+ push @out, $last_ptval;
} else {
my $count = shift @_;
+ my $neg = sub { $_[0] };
+ if ($count < 0) {
+ $count = -$count;
+ $neg = sub { 1- $_[0] };
+ }
foreach (my $ix = 0; $ix < $count; $ix++) {
- push @out, [ $name, $ix/$count ];
+ push @out, [ $name, $neg->($ix/$count) ];
}
- $last_name = $name;
+ $last_ptval = [ $name, $neg->(1.0) ];
}
}
return @out;