Click or drag to resize

RandIsaac Class

The ISAAC random number generator algorithm by Bob Jenkins
Inheritance Hierarchy
SystemObject
  SystemRandom
    Orthogonal.Common.Basic.PRNGRandCustomBase
      Orthogonal.Common.Basic.PRNGRandIsaac

Namespace: Orthogonal.Common.Basic.PRNG
Assembly: Orthogonal.Common.Basic (in Orthogonal.Common.Basic.dll) Version: 2024-04-15 18:00 GMT+10.f27da1471008deaf16b803c17e24a5955690aef1
Syntax
C#
public class RandIsaac : RandCustomBase

The RandIsaac type exposes the following members.

Constructors
 NameDescription
Public methodRandIsaac Constructs an ISAAC RNG with the default seed value of an array of 256 Int32 zeroes.
Public methodRandIsaac(Int32) Constructs an ISAAC RNG seeded by an Int32 array of maximum length SIZE (256).
Top
Methods
 NameDescription
Public methodNextInt64
(Overrides RandCustomBaseNextInt64)
Top
Fields
 NameDescription
Public fieldStatic memberSIZE Gets the length (size) of the internal Int32 array buffers that seed the generator and maintains its internal state. The algorithm's value is currently defined to be 256.
Top
Remarks

For the author's description see: ISAAC: a fast cryptographic random number generator. The algorithm also has a Wikipedia article.

Long running tests have observed the expected minimum values Next 0 (0x0) and Core 0.0 and the expected maximum Next 2147483646 (0x7FFFFFFE) from Core 0.999999999534339.

See Also