File Coverage

blib/lib/Math/Prime/Util/MemFree.pm
Criterion Covered Total %
statement 24 24 100.0
branch 3 4 75.0
condition n/a
subroutine 8 8 100.0
pod 1 1 100.0
total 36 37 97.3


line stmt bran cond sub pod time code
1             package Math::Prime::Util::MemFree;
2 3     3   748 use strict;
  3         7  
  3         162  
3 3     3   18 use warnings;
  3         7  
  3         280  
4              
5             BEGIN {
6 3     3   11 $Math::Prime::Util::MemFree::AUTHORITY = 'cpan:DANAJ';
7 3         80 $Math::Prime::Util::MemFree::VERSION = '0.74';
8             }
9              
10 3     3   17 use base qw( Exporter );
  3         5  
  3         617  
11             our @EXPORT_OK = qw( );
12             our %EXPORT_TAGS = (all => [ @EXPORT_OK ]);
13              
14              
15 3     3   25 use Math::Prime::Util;
  3         7  
  3         46  
16 3     3   23 use Carp qw/carp croak confess/;
  3         6  
  3         742  
17              
18             my $memfree_instances = 0;
19             sub new {
20 8     8 1 30 my $self = bless {}, shift;
21 8         21 $memfree_instances++;
22 8         59 return $self;
23             }
24             sub DESTROY {
25 8     8   25509 my $self = shift;
26 8 50       110 confess "instances count mismatch" unless $memfree_instances > 0;
27 8 100       1417 Math::Prime::Util::prime_memfree if --$memfree_instances == 0;
28 8         200 return;
29             }
30              
31             1;
32              
33             __END__