The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Math::Random::ISAAC::XS - C implementation of the ISAAC PRNG Algorithm

VERSION

Version 1.0.2 ($Id: XS.pm 6506 2009-04-21 02:43:47Z FREQUENCY@cpan.org $)

SYNOPSIS

This module implements the same interface as Math::Random::ISAAC and can be used as a drop-in replacement. This is the recommended implementation of the module, based on Bob Jenkins' reference implementation in C.

Selecting the backend to use manually really only has two uses:

  • If you are trying to avoid the small overhead incurred with dispatching method calls to the appropriate backend modules.

  • If you are testing the module for performance and wish to explicitly decide which module you would like to use.

Example code:

  # With Math::Random::ISAAC
  my $rng = Math::Random::ISAAC->new(time);
  my $rand = $rng->rand();

  # With Math::Random::ISAAC::XS
  my $rng = Math::Random::ISAAC::XS->new(time);
  my $rand = $rng->rand();

DESCRIPTION

See Math::Random::ISAAC for the full description.

METHODS

Math::Random::ISAAC::XS->new( @seeds )

Implements the interface as specified in Math::Random::ISAAC

$rng->rand()

Implements the interface as specified in Math::Random::ISAAC

$rng->irand()

Implements the interface as specified in Math::Random::ISAAC

AUTHOR

Jonathan Yu <frequency@cpan.org>

SEE ALSO

Math::Random::ISAAC

SUPPORT

Please file bugs for this module under the Math::Random::ISAAC distribution. For more information, see Math::Random::ISAAC's perldoc.

LICENSE

Copyleft 2009 by Jonathan Yu <frequency@cpan.org>. All rights reversed.

I, the copyright holder of this package, hereby release the entire contents therein into the public domain. This applies worldwide, to the extent that it is permissible by law.

In case this is not legally possible, I grant any entity the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

The full details of this can be found in the LICENSE file included in this package.

DISCLAIMER OF WARRANTY

The software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.