File Coverage

blib/lib/Linux/Perl/TimeSpec.pm
Criterion Covered Total %
statement 13 16 81.2
branch n/a
condition n/a
subroutine 4 5 80.0
pod 0 2 0.0
total 17 23 73.9


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