File Coverage

blib/lib/App/RecordStream/Aggregator/Internal/Ord2UnivariateMap.pm
Criterion Covered Total %
statement 12 16 75.0
branch n/a
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 16 22 72.7


line stmt bran cond sub pod time code
1             package App::RecordStream::Aggregator::Internal::Ord2UnivariateMap;
2              
3 5     5   3575 use strict;
  5         22  
  5         117  
4 5     5   22 use warnings;
  5         11  
  5         108  
5              
6 5     5   31 use App::RecordStream::Aggregator::Ord2Univariate;
  5         13  
  5         119  
7              
8 5     5   22 use base 'App::RecordStream::Aggregator::Ord2Univariate';
  5         9  
  5         909  
9              
10             #sub new -- passed through
11              
12             #sub new_from_valuation -- passed through
13              
14             sub squish
15             {
16 0     0 0   my ($this, $cookie) = @_;
17              
18 0           my ($sum1, $sumx, $sumx2) = @$cookie;
19              
20 0           my $var = ($sumx2 / $sum1) - ($sumx / $sum1) ** 2;
21             return
22             {
23 0           'ct' => $sum1,
24              
25             'sum' => $sumx,
26             'avg' => $sumx / $sum1,
27              
28             'sum2' => $sumx2,
29             'avg2' => $sumx2 / $sum1,
30             'var' => $var,
31             'stddev' => sqrt($var),
32             };
33             }
34              
35             App::RecordStream::DomainLanguage::Registry::register_vfn(__PACKAGE__, 'new_from_valuation', 'ord2map', 'VALUATION');
36              
37             1;