File Coverage

blib/lib/Linux/Perl/TimeSpec.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 21 23 91.3


line stmt bran cond sub pod time code
1             package Linux::Perl::TimeSpec;
2              
3 5     5   47 use strict;
  5         11  
  5         139  
4 5     5   25 use warnings;
  5         8  
  5         195  
5              
6             use constant {
7 5         1213 _TEMPLATE => 'L!L!',
8             _NANO => 1_000_000_000,
9 5     5   29 };
  5         9  
10              
11             sub from_float {
12 24     24 0 66 my ($float) = @_;
13              
14 24         58 my $int = int $float;
15 24         51 my $fraction = $float - $int;
16              
17 24         153 return pack _TEMPLATE(), $int, ( $fraction * _NANO() );
18             }
19              
20             sub to_float {
21 8     8 0 20 my ($str) = @_;
22              
23 8         40 my ( $secs, $nsecs ) = unpack _TEMPLATE(), $str;
24              
25 8         38 return $secs + ( $nsecs / _NANO() );
26             }
27              
28             1;