| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Audio::Nama::Lat; | 
| 2 | 2 |  |  | 2 |  | 34504 | use Modern::Perl; | 
|  | 2 |  |  |  |  | 13113 |  | 
|  | 2 |  |  |  |  | 13 |  | 
| 3 |  |  |  |  |  |  | our @ISA; | 
| 4 | 2 |  |  | 2 |  | 295 | use Data::Dumper::Concise; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 232 |  | 
| 5 |  |  |  |  |  |  | use overload '+' => \&add_latency, | 
| 6 | 2 |  |  | 2 |  | 11 | "\"\"" => sub { join ' ',$_[0]->min, $_[0]->max }; | 
|  | 2 |  |  | 5 |  | 2 |  | 
|  | 2 |  |  |  |  | 28 |  | 
|  | 5 |  |  |  |  | 924 |  | 
| 7 |  |  |  |  |  |  | sub new { | 
| 8 | 7 |  |  | 7 | 0 | 23 | my $class = shift; | 
| 9 | 7 |  |  |  |  | 10 | my ($min, $max) = @_; | 
| 10 | 7 | 50 | 33 |  |  | 36 | defined $min and defined $max or die "undefined field: min: $min or max; $max"; | 
| 11 | 7 | 100 |  |  |  | 26 | die "Lat object has Min ($min) greater than Max ($max)" if $min > $max; | 
| 12 | 6 |  |  |  |  | 15 | my $self = bless [$min, $max], $class; | 
| 13 | 6 |  |  |  |  | 24 | $self; | 
| 14 |  |  |  |  |  |  | } | 
| 15 |  |  |  |  |  |  | sub add_latency { | 
| 16 | 2 |  |  | 2 | 0 | 6 | my (@latencies) = @_[0,1]; # throw away swap argument | 
| 17 | 2 |  |  |  |  | 4 | my ($min, $max) = (0,0); | 
| 18 | 2 |  |  |  |  | 4 | map{ $min += $_->min; $max += $_->max } @latencies; | 
|  | 4 |  |  |  |  | 9 |  | 
|  | 4 |  |  |  |  | 9 |  | 
| 19 | 2 |  |  |  |  | 5 | Audio::Nama::Lat->new($min, $max); | 
| 20 |  |  |  |  |  |  | } | 
| 21 | 10 |  |  | 10 | 0 | 172 | sub min {$_[0]->[0] } | 
| 22 | 9 |  |  | 9 | 0 | 44 | sub max {$_[0]->[1] } | 
| 23 | 0 |  |  | 0 | 0 |  | sub values { $_[0]->min, $_[0]->max } | 
| 24 |  |  |  |  |  |  |  | 
| 25 |  |  |  |  |  |  | 1; | 
| 26 |  |  |  |  |  |  | __END__ |