Packagesekati.math
Classpublic class PRNG

PRNG provides a Seeded Pseudo-Random Number Generating System based on the Park Miller "minimal standard" linear congruential pseudo-random number generator.

See also

http://www.firstpr.com.au/dsp/rand31/


Public Properties
 PropertyDefined by
  $ : PRNG
[static][read-only] Shorthand singleton accessor getter
PRNG
  currentSeed : uint
[read-only] Return the current seed.
PRNG
  seed : uint
The random seed value.
PRNG
Protected Properties
 PropertyDefined by
  _currentSeed : uint = 0
PRNG
  _instance : PRNG
[static]
PRNG
  _seed : uint = 0
PRNG
Public Methods
 MethodDefined by
  
PRNG($:SingletonEnforcer = null, seed:uint = 1)
PRNG Singleton Constructor
PRNG
  
bit(chance:Number = 0.5):int
Seeded random bit.
PRNG
  
boolean(chance:Number = 0.5):Boolean
Seeded random boolean.
PRNG
  
float(min:Number, max:Number):Number
Seeded random float.
PRNG
  
[static] Singleton Accessor
PRNG
  
integer(min:Number, max:Number):int
Seeded random integer.
PRNG
  
random():Number
Returns a random number between 0 - 1 exclusive.
PRNG
  
reset():void
Reset the number series while retaining the seed.
PRNG
  
sign(chance:Number = 0.5):int
Seeded random sign.
PRNG
Property detail
$property
$:PRNG  [read-only]

Shorthand singleton accessor getter

Implementation
    public static function get $():PRNG
_currentSeedproperty 
protected var _currentSeed:uint = 0
currentSeedproperty 
currentSeed:uint  [read-only]

Return the current seed.

Implementation
    public function get currentSeed():uint
_instanceproperty 
protected static var _instance:PRNG
_seedproperty 
protected var _seed:uint = 0
seedproperty 
seed:uint  [read-write]

The random seed value.

Implementation
    public function get seed():uint
    public function set seed(value:uint):void

Example
   PRNG.$.seed = Math.random()xFFFFFF; // sets a random seed
   PRNG.$.seed = 50; // sets a static seed
   

Constructor detail
PRNG()constructor
public function PRNG($:SingletonEnforcer = null, seed:uint = 1)

PRNG Singleton Constructor

Parameters
$:SingletonEnforcer (default = null) — SingletonEnforcer - internal to the AS file; the param prevents external instantiation without error.
 
seed:uint (default = 1)
Method detail
bit()method
public function bit(chance:Number = 0.5):int

Seeded random bit.

Parameters
chance:Number (default = 0.5)

Returns
int

Example
   PRNG.$.bit(); // returns 1 or 0 (50% chance of 1)
   PRNG.$.bit(0.8); // returns 1 or 0 (80% chance of 1)
   

boolean()method 
public function boolean(chance:Number = 0.5):Boolean

Seeded random boolean.

Parameters
chance:Number (default = 0.5)

Returns
Boolean

Example
   PRNG.$.boolean( ); // returns true or false (50% chance of true)
   PRNG.$.float( 0.8 ); // returns true or false (80% chance of true)
   

float()method 
public function float(min:Number, max:Number):Number

Seeded random float.

Parameters
min:Number
 
max:Number

Returns
Number

Example
   PRNG.$.float( 50 ); // returns a number between 0-50 exclusive
   PRNG.$.float( 20, 50 ); // returns a number between 20-50 exclusive
   

getInstance()method 
public static function getInstance():PRNG

Singleton Accessor

Returns
PRNG — PRNG
integer()method 
public function integer(min:Number, max:Number):int

Seeded random integer.

Parameters
min:Number
 
max:Number

Returns
int

Example
   PRNG.$.integer(50); // returns an integer between 0-49 inclusive
   PRNG.$.integer(20,50); // returns an integer between 20-49 inclusive
   

random()method 
public function random():Number

Returns a random number between 0 - 1 exclusive.

Returns
Number
reset()method 
public function reset():void

Reset the number series while retaining the seed.

sign()method 
public function sign(chance:Number = 0.5):int

Seeded random sign.

Parameters
chance:Number (default = 0.5)

Returns
int

Example
   PRNG.$.sign(); // returns 1 or -1 (50% chance of 1)
   PRNG.$.sign(0.8); // returns 1 or -1 (80% chance of 1)