NAME
Math::Erf::Approx - pure Perl approximate implementation of the error function
DESCRIPTION
This is a pure Perl implementation of the error function (a.k.a. the Gauss error function). It gives an approximation with a maximum absolute difference of 0.0005 from the real value.
Functions
This module can export two functions. Neither is exported by default. This module uses Sub::Exporter, so the functions can be renamed:
use Math::Erf::Approx -all => { -prefix => 'math_' };
erf($x)
-
Calculates the result of the error function for value $x.
erfc($x, \&erf)
-
Given a value $x and a code reference to an implementation of erf(), calculates the complement.
If the code reference is ommitted (which I'd expect would be the most usual case), then the default is the
erf
function provided by this module.
Testing
It is possible to run a small test suite on this module using:
use Math::Erf::Approx;
Math::Erf::Approx->run_tests;
BENCHMARKS
Benchmarking against Games::Go::Erf (on a fairly underpowered netbook)...
Benchmark: timing 100000 iterations of GGE, MEA...
GGE: 6 wallclock secs ( 6.34 usr + 0.01 sys = 6.35 CPU) @ 15748.03/s (n=100000)
MEA: 3 wallclock secs ( 2.71 usr + 0.00 sys = 2.71 CPU) @ 36900.37/s (n=100000)
There are considerations other than raw speed though...
Games::Go::Erf provides much more accurate results
... and it can calculate inverses
... but it has a dependency on Tk
... and it sets
$[
to 1, which has been deprecated since Perl 5.12.
SEE ALSO
http://en.wikipedia.org/wiki/Error_function.
Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, ed Milton Abramowitz and Irene Stegun. ISBN 0-486-61272-4.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2012 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.