File Coverage

blib/lib/Math/CDF.pm
Criterion Covered Total %
statement 12 24 50.0
branch 0 8 0.0
condition n/a
subroutine 4 6 66.6
pod n/a
total 16 38 42.1


line stmt bran cond sub pod time code
1             package Math::CDF;
2              
3 1     1   1569 use strict;
  1         2  
  1         42  
4 1     1   5 use Carp;
  1         2  
  1         237  
5 1     1   6 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD);
  1         2  
  1         557  
6              
7             require Exporter;
8             require DynaLoader;
9             require AutoLoader;
10              
11             @ISA = qw(Exporter DynaLoader);
12              
13             @EXPORT_OK = qw(pnorm qnorm pt qt pbeta qbeta pchisq qchisq
14             pf qf pgamma qgamma ppois qpois
15             pbinom pnbinom
16             );
17              
18             %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
19              
20             $VERSION = '0.1';
21              
22             sub AUTOLOAD {
23             # This AUTOLOAD is used to 'autoload' constants from the constant()
24             # XS function. If a constant is not found then control is passed
25             # to the AUTOLOAD in AutoLoader.
26              
27 0     0     my $constname;
28 0           ($constname = $AUTOLOAD) =~ s/.*:://;
29 0 0         croak "& not defined" if $constname eq 'constant';
30 0 0         my $val = constant($constname, @_ ? $_[0] : 0);
31 0 0         if ($! != 0) {
32 0 0         if ($! =~ /Invalid/) {
33 0           $AutoLoader::AUTOLOAD = $AUTOLOAD;
34 0           goto &AutoLoader::AUTOLOAD;
35             }
36             else {
37 0           croak "Your vendor has not defined CDF macro $constname";
38             }
39             }
40 1     1   16 no strict 'refs';
  1         2  
  1         168  
41 0     0     *$AUTOLOAD = sub () { $val };
  0            
42 0           goto &$AUTOLOAD;
43             }
44              
45             bootstrap Math::CDF $VERSION;
46              
47             # Preloaded methods go here.
48              
49             # Autoload methods go after =cut, and are processed by the autosplit program.
50              
51             1;
52             __END__