File Coverage

blib/lib/Math/Gauss/XS.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package Math::Gauss::XS;
2 1     1   15722 use warnings;
  1         1  
  1         30  
3 1     1   3 use strict;
  1         1  
  1         84  
4              
5             our $VERSION = '0.02';
6              
7             require Exporter;
8             our @ISA = qw( Exporter );
9             our %EXPORT_TAGS = ('all' => [qw( pdf cdf inv_cdf )]);
10             Exporter::export_ok_tags('all');
11              
12             require XSLoader;
13             XSLoader::load('Math::Gauss::XS', $VERSION);
14              
15             =head1 NAME
16              
17             Math::Gauss::XS - Gaussian distribution function and its inverse, fast XS version
18              
19             =head1 VERSION
20              
21             0.01
22              
23             =head1 STATUS
24              
25             =begin HTML
26              
27            

28            
29            

30              
31             =end HTML
32              
33             =head1 SYNOPSIS
34              
35             use Math::Gauss::XS ':all';
36             my ($p, $c, $z, $x, $m, $s); # intialize them
37             $p = pdf( $z );
38             $p = pdf( $x, $m, $s );
39              
40             $c = cdf( $z );
41             $c = cdf( $x, $m, $s );
42              
43             $z = inv_cdf( $z );
44              
45             =head1 DESCRIPTION
46              
47             This module just rewrites the L module in XS. The precision and
48             exported function remain the same as in the original.
49              
50             The benchmark results are
51              
52             Benchmark: timing 30000000 iterations of pp/pdf, xs/pdf...
53             pp/pdf: 15 wallclock secs (14.99 usr + 0.00 sys = 14.99 CPU) @ 2001334.22/s (n=30000000)
54             xs/pdf: 2 wallclock secs ( 2.16 usr + 0.00 sys = 2.16 CPU) @ 13888888.89/s (n=30000000)
55             Benchmark: timing 30000000 iterations of pp/cdf, xs/cdf...
56             pp/cdf: 40 wallclock secs (38.93 usr + 0.00 sys = 38.93 CPU) @ 770613.92/s (n=30000000)
57             xs/cdf: 2 wallclock secs ( 2.22 usr + 0.00 sys = 2.22 CPU) @ 13513513.51/s (n=30000000)
58             Benchmark: timing 30000000 iterations of pp/inv_cdf, xs/inv_cdf...
59             pp/inv_cdf: 15 wallclock secs (16.02 usr + 0.00 sys = 16.02 CPU) @ 1872659.18/s (n=30000000)
60             xs/inv_cdf: 2 wallclock secs ( 2.18 usr + 0.00 sys = 2.18 CPU) @ 13761467.89/s (n=30000000)
61              
62             =for Pod::Coverage cdf inv_cdf pdf
63              
64             =head1 SOURCE CODE
65              
66             L
67              
68              
69             =head1 AUTHOR
70              
71             binary.com, C<< >>
72              
73             =head1 BUGS
74              
75             Please report any bugs or feature requests to
76             L.
77              
78             =cut
79              
80             1;