line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Spreadsheet::Engine::Function::VAR; |
2
|
|
|
|
|
|
|
|
3
|
28
|
|
|
28
|
|
167
|
use strict; |
|
28
|
|
|
|
|
58
|
|
|
28
|
|
|
|
|
935
|
|
4
|
28
|
|
|
28
|
|
186
|
use warnings; |
|
28
|
|
|
|
|
76
|
|
|
28
|
|
|
|
|
721
|
|
5
|
|
|
|
|
|
|
|
6
|
28
|
|
|
28
|
|
148
|
use base 'Spreadsheet::Engine::Fn::series'; |
|
28
|
|
|
|
|
54
|
|
|
28
|
|
|
|
|
11353
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
sub calculate { |
9
|
|
|
|
|
|
|
return sub { |
10
|
362
|
|
|
362
|
|
663
|
my ($in, $A) = @_; |
11
|
362
|
100
|
|
|
|
3515
|
return $A = { mk1 => $in->value, sk1 => 0, count => 1 } |
12
|
|
|
|
|
|
|
unless defined $A; |
13
|
|
|
|
|
|
|
|
14
|
221
|
|
|
|
|
4950
|
my $diff = $in->value - $A->{mk1}; |
15
|
221
|
|
|
|
|
2167
|
$A->{mk} = $A->{mk1} + $diff / ++$A->{count}; |
16
|
221
|
|
|
|
|
4818
|
$A->{sk} = $A->{sk1} + $diff * ($in->value - $A->{mk}); |
17
|
221
|
|
|
|
|
2011
|
$A->{sk1} = $A->{sk}; |
18
|
221
|
|
|
|
|
568
|
$A->{mk1} = $A->{mk}; |
19
|
221
|
|
|
|
|
516
|
return $A; |
20
|
141
|
|
|
141
|
1
|
1334
|
}; |
21
|
|
|
|
|
|
|
} |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
sub result_from { |
24
|
84
|
|
|
84
|
1
|
143
|
my ($self, $A) = @_; |
25
|
84
|
100
|
|
|
|
263
|
die Spreadsheet::Engine::Error->div0 unless $A->{count} > 1; |
26
|
79
|
|
|
|
|
475
|
return $A->{sk} / ($A->{count} - 1); |
27
|
|
|
|
|
|
|
} |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
1; |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
__END__ |