sub decode2 {
my $total = shift;
my $delta;
my $diff;
foreach (@_) {
$delta += $_;
$diff += $delta;
}
my $original= ($total-$diff)/(@_+1);
my $value= $original;
my @results= map { $value += $_ } @_;
return ($original, @results);
}
####
sub decode2 {
my $total = shift;
my $diff;
$diff += $_ for @_;
my $original= ($total-$diff)/(@_+1) - $_[0];
my $value= $original;
my @results= map { $value += $_ } @_;
return ($original, @results);
}
####
sub decode2 {
my $total = shift;
my $diff;
$diff += $_ for @_;
my $original= ($total-$diff)/(@_+1) - $_[0];
my $next;
my @results= map { $next += $_ } $original, @_;
return @results;
}
####
sub decode2 {
my $dc;
$_[0] = -$_[0];
$dc -= $_ for @_; # subtract the sum of all elements from the first
my $original= $dc/@_ - $_[1];
my $next;
return map { $next += $_ } $original, splice @_, 1;
}
####
sub decode2 {
my ($dc, $next);
$_[0] = -$_[0];
$dc -= $_ for @_; # subtract the sum of all elements from the first
$_[0] = $dc/@_ - $_[1];
return map { $next += $_ } @_;
}