File Coverage

blib/lib/App/RecordStream/Aggregator/Ord2Bivariate.pm
Criterion Covered Total %
statement 21 23 91.3
branch n/a
condition n/a
subroutine 7 9 77.7
pod 0 4 0.0
total 28 36 77.7


line stmt bran cond sub pod time code
1             package App::RecordStream::Aggregator::Ord2Bivariate;
2              
3             our $VERSION = "4.0.24";
4              
5 8     8   41 use strict;
  8         17  
  8         180  
6 8     8   51 use warnings;
  8         17  
  8         174  
7              
8 8     8   2248 use App::RecordStream::Aggregator::MapReduce::FieldSet;
  8         22  
  8         184  
9 8     8   725 use App::RecordStream::Aggregator;
  8         21  
  8         172  
10              
11 8     8   41 use base 'App::RecordStream::Aggregator::MapReduce::FieldSet';
  8         18  
  8         1488  
12              
13             #sub new -- passed through
14              
15             #sub new_from_valuation -- passed through
16              
17             sub map_fields
18             {
19 85     85 0 206 my ($this, $x, $y) = @_;
20              
21 85         306 return [1,
22             $x,
23             $y,
24             $x * $y,
25             $x * $x,
26             $y * $y];
27             }
28              
29             sub reduce
30             {
31 72     72 0 142 my ($this, $cookie, $cookie2) = @_;
32              
33 72         157 my ($sum1_1, $sumx_1, $sumy_1, $sumxy_1, $sumx2_1, $sumy2_1) = @$cookie;
34 72         135 my ($sum1_2, $sumx_2, $sumy_2, $sumxy_2, $sumx2_2, $sumy2_2) = @$cookie2;
35              
36 72         317 return [$sum1_1 + $sum1_2,
37             $sumx_1 + $sumx_2,
38             $sumy_1 + $sumy_2,
39             $sumxy_1 + $sumxy_2,
40             $sumx2_1 + $sumx2_2,
41             $sumy2_1 + $sumy2_2];
42             }
43              
44             sub squish
45             {
46 0     0 0   die "Ord2Bivariate subclass doesn't implement squish\n";
47             }
48              
49             sub argct
50             {
51 0     0 0   return 2;
52             }
53              
54             1;