Click or drag to resize

RandEcuyerLFSR258 Class

Note: This API is now obsolete.

Piere L'Ecuyer's 1999 LFSR258 generator that combines 5 component 64-bit LFSRs. The class remains in this library as a historical reference.
Inheritance Hierarchy
SystemObject
  SystemRandom
    Orthogonal.Common.Basic.PRNGRandCustomBase
      Orthogonal.Common.Basic.PRNGRandEcuyerLFSR258

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#
[ObsoleteAttribute("This legacy PRNG algorithm should replaced with a more modern and effective one")]
public class RandEcuyerLFSR258 : RandCustomBase

The RandEcuyerLFSR258 type exposes the following members.

Constructors
 NameDescription
Public methodRandEcuyerLFSR258Initializes a new instance of the RandEcuyerLFSR258 class
Public methodRandEcuyerLFSR258(Int64, Int64, Int64, Int64, Int64)Initializes a new instance of the RandEcuyerLFSR258 class
Top
Methods
 NameDescription
Public methodNextInt64
(Overrides RandCustomBaseNextInt64)
Top
Remarks

See: Tables of Maximally Equidistributed Combined LFSR Generators (PDF).

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

A Core 0.0 is unlikely to be seen because there is a vanishing chance of seeing the limit values of 0x0000000000000000 and 0xFFFFFFFFFFFFFFFF in a flat random distribution of 64 bit values.

See Also