Math::Gauss::XS - Gaussian distribution function and its inverse, fast XS version
0.01
use Math::Gauss::XS ':all'; my ($p, $c, $z, $x, $m, $s); # intialize them $p = pdf( $z ); $p = pdf( $x, $m, $s ); $c = cdf( $z ); $c = cdf( $x, $m, $s ); $z = inv_cdf( $z );
This module just rewrites the Math::Gauss module in XS. The precision and exported function remain the same as in the original.
The benchmark results are
Benchmark: timing 30000000 iterations of pp/pdf, xs/pdf... pp/pdf: 15 wallclock secs (14.99 usr + 0.00 sys = 14.99 CPU) @ 2001334.22/s (n=30000000) xs/pdf: 2 wallclock secs ( 2.16 usr + 0.00 sys = 2.16 CPU) @ 13888888.89/s (n=30000000) Benchmark: timing 30000000 iterations of pp/cdf, xs/cdf... pp/cdf: 40 wallclock secs (38.93 usr + 0.00 sys = 38.93 CPU) @ 770613.92/s (n=30000000) xs/cdf: 2 wallclock secs ( 2.22 usr + 0.00 sys = 2.22 CPU) @ 13513513.51/s (n=30000000) Benchmark: timing 30000000 iterations of pp/inv_cdf, xs/inv_cdf... pp/inv_cdf: 15 wallclock secs (16.02 usr + 0.00 sys = 16.02 CPU) @ 1872659.18/s (n=30000000) xs/inv_cdf: 2 wallclock secs ( 2.18 usr + 0.00 sys = 2.18 CPU) @ 13761467.89/s (n=30000000)
GitHub
binary.com, <perl at binary.com>
<perl at binary.com>
Please report any bugs or feature requests to https://github.com/binary-com/perl-Math-Gauss-XS/issues.
To install Math::Gauss::XS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Math::Gauss::XS
CPAN shell
perl -MCPAN -e shell install Math::Gauss::XS
For more information on module installation, please visit the detailed CPAN module installation guide.