NAME

Bio::Community::Role::PRNG - Role for objects that use a pseudo-random number generator

SYNOPSIS

package My::Package;

use Moose;
with 'Bio::Community::Role::PRNG';

# Use set_seed(), get_seed() and rand() as needed
# ...

1;

DESCRIPTION

This role provides the capability to generate random numbers using a specified or automatically determined seed. This module uses the superior Mersenne-Twister algorithm provided by the Math::GSL::RNG module to draw uniformly distributed random numbers.

AUTHOR

Florent Angly florent.angly@gmail.com

SUPPORT AND BUGS

User feedback is an integral part of the evolution of this and other Bioperl modules. Please direct usage questions or support issues to the mailing list, bioperl-l@bioperl.org, rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

If you have found a bug, please report it on the BioPerl bug tracking system to help us keep track the bugs and their resolution: https://redmine.open-bio.org/projects/bioperl/

COPYRIGHT

Copyright 2011-2014 by Florent Angly <florent.angly@gmail.com>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

get_seed, set_seed

Usage   : $prng->set_seed(1234513451);
Function: Get or set the seed used to generate the random numbers. The default
          is an automatically generated seed.
Args    : Positive integer
Returns : Positive integer

rand

Usage   : my $num = $prng->rand($max);
Function: Generate a number uniformly distributed in [0, $max)
Args    : Number
Returns : Number