Search Results for

    Show / Hide Table of Contents

    Struct WELL1024a

    Generates pseudorandom values based on the WELL1024a algorithm. You must Dispose() manually.

    Implements
    IRandomProvider
    System.IEquatable<WELL1024a>
    System.IDisposable
    Namespace: GDX.Mathematics.Random
    Syntax
    [VisualScriptingCompatible((short)4)]
    public struct WELL1024a : IRandomProvider, IEquatable<WELL1024a>, IDisposable
    Remarks

    Primarily based on the work of Chris Lomont, accessed on 2021-04-23. Additional understanding from Francois Panneton and Pierre L`Ecuyer, accessed on 2021-04-23.

    Constructors

    | Improve this Doc View Source

    WELL1024a(WELL1024a.WellState)

    Create a pseudorandom number generator from a restoreState.

    Declaration
    public WELL1024a(WELL1024a.WellState restoreState)
    Parameters
    Type Name Description
    WELL1024a.WellState restoreState

    A saved WELL1024a state.

    | Improve this Doc View Source

    WELL1024a(Int32)

    Creates a new pseudorandom number generator with the given seed.

    Declaration
    public WELL1024a(int seed)
    Parameters
    Type Name Description
    System.Int32 seed

    A System.Int32 value to use as a seed.

    Remarks

    The seed will have its sign stripped and stored as such in OriginalSeed.

    | Improve this Doc View Source

    WELL1024a(String, Boolean)

    Creates a new pseudorandom number generator with the given seed.

    Declaration
    public WELL1024a(string seed, bool forceUpperCase = true)
    Parameters
    Type Name Description
    System.String seed

    A System.String to create a System.UInt32 seed from.

    System.Boolean forceUpperCase

    Should the generated hashcode used as the seed be generated from an uppercase version of the seed.

    Remarks

    The created hashcode will have its sign stripped and stored as such in OriginalSeed.

    | Improve this Doc View Source

    WELL1024a(UInt32)

    Creates a new pseudorandom number generator with the given seed.

    Declaration
    public WELL1024a(uint seed)
    Parameters
    Type Name Description
    System.UInt32 seed

    A System.UInt32 value to use as a seed.

    Fields

    | Improve this Doc View Source

    Index

    The current index of use for the well array.

    Declaration
    public byte Index
    Field Value
    Type Description
    System.Byte
    Remarks

    CAUTION! Changing this will alter the understanding of the data.

    | Improve this Doc View Source

    OriginalSeed

    A copy of the original seed used to initialize the WELL1024a.

    Declaration
    public readonly uint OriginalSeed
    Field Value
    Type Description
    System.UInt32
    | Improve this Doc View Source

    SampleCount

    The number of times that this well has been sampled.

    Declaration
    public uint SampleCount
    Field Value
    Type Description
    System.UInt32
    | Improve this Doc View Source

    State

    The state array of the well.

    Declaration
    public NativeArray<uint> State
    Field Value
    Type Description
    Unity.Collections.NativeArray<System.UInt32>

    Methods

    | Improve this Doc View Source

    Dispose()

    Disposes of the native allocations.

    Declaration
    public void Dispose()
    | Improve this Doc View Source

    Equals(WELL1024a)

    Is one WELL1024a the same as the other.

    Declaration
    public bool Equals(WELL1024a other)
    Parameters
    Type Name Description
    WELL1024a other

    The WELL1024a to compare with.

    Returns
    Type Description
    System.Boolean

    true/false if they are fundamentally the same.

    Remarks

    Avoid using this format for comparison as it copies the data, where as Equals(ref WELL1024a) does not.

    | Improve this Doc View Source

    Equals(ref WELL1024a)

    Is one WELL1024a the same as the other.

    Declaration
    public bool Equals(ref WELL1024a other)
    Parameters
    Type Name Description
    WELL1024a other

    The WELL1024a to compare with.

    Returns
    Type Description
    System.Boolean

    true/false if they are fundamentally the same.

    | Improve this Doc View Source

    Equals(Object)

    Determines if the provided obj's hash code is equal to this WELL1024a's GetHashCode().

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    System.Object obj

    The System.Object to compare hash codes with.

    Returns
    Type Description
    System.Boolean

    true/false if the hash codes match.

    Overrides
    System.ValueType.Equals(System.Object)
    Remarks

    This doesnt preclude other objects of different types from having the same hashcode.

    | Improve this Doc View Source

    GetHashCode()

    Generate a hash code value for the given WELL1024a at its current state.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

    The hash code value.

    Overrides
    System.ValueType.GetHashCode()
    | Improve this Doc View Source

    GetState()

    Get a WELL1024a.WellState for the WELL1024a.

    Declaration
    public WELL1024a.WellState GetState()
    Returns
    Type Description
    WELL1024a.WellState
    Remarks

    Useful to save and restore the state of the WELL1024a.

    | Improve this Doc View Source

    NextBoolean(Single)

    Returns a pseudorandom System.Boolean value based on chance, favoring false, with a default 50% chance.

    Declaration
    public bool NextBoolean(float chance = 0.5F)
    Parameters
    Type Name Description
    System.Single chance

    The 0-1 System.Single percent chance of success.

    Returns
    Type Description
    System.Boolean

    A pseudorandom System.Boolean.

    | Improve this Doc View Source

    NextBytes(Byte[])

    Fills a buffer with pseudorandom System.Byte.

    Declaration
    public void NextBytes(byte[] buffer)
    Parameters
    Type Name Description
    System.Byte[] buffer

    The buffer to fill.

    Remarks

    The buffer shouldn't be null.

    | Improve this Doc View Source

    NextDouble(Double, Double)

    Returns the next pseudorandom System.Double between minValue and less then maxValue.

    Declaration
    public double NextDouble(double minValue = 0, double maxValue = 1)
    Parameters
    Type Name Description
    System.Double minValue

    The lowest possible value (inclusive).

    System.Double maxValue

    The highest possible value (exclusive).

    Returns
    Type Description
    System.Double

    A pseudorandom System.Double.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue.

    | Improve this Doc View Source

    NextInteger(Int32, Int32)

    Returns the next pseudorandom System.Int32 between minValue and maxValue.

    Declaration
    public int NextInteger(int minValue = 0, int maxValue = 2147483647)
    Parameters
    Type Name Description
    System.Int32 minValue

    The lowest possible value.

    System.Int32 maxValue

    The highest possible value, including itself.

    Returns
    Type Description
    System.Int32

    A pseudorandom System.Int32.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue. Never pass System.Int32.MaxValue to maxValue.

    | Improve this Doc View Source

    NextIntegerExclusive(Int32, Int32)

    Returns the next pseudorandom System.Int32 between minValue and maxValue, excluding maxValue itself.

    Declaration
    public int NextIntegerExclusive(int minValue = 0, int maxValue = 2147483647)
    Parameters
    Type Name Description
    System.Int32 minValue

    The lowest possible value.

    System.Int32 maxValue

    The highest possible value, excluding itself.

    Returns
    Type Description
    System.Int32

    A pseudorandom System.Int32.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue.

    | Improve this Doc View Source

    NextSingle(Single, Single)

    Returns the next pseudorandom System.Single between minValue and less then maxValue.

    Declaration
    public float NextSingle(float minValue = 0F, float maxValue = 1F)
    Parameters
    Type Name Description
    System.Single minValue

    The lowest possible value (inclusive).

    System.Single maxValue

    The highest possible value (exclusive).

    Returns
    Type Description
    System.Single

    A pseudorandom System.Single.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue.

    | Improve this Doc View Source

    NextUnsignedInteger(UInt32, UInt32)

    Returns the next pseudorandom System.UInt32 between minValue and maxValue.

    Declaration
    public uint NextUnsignedInteger(uint minValue = 0U, uint maxValue = 4294967295U)
    Parameters
    Type Name Description
    System.UInt32 minValue

    The lowest possible value.

    System.UInt32 maxValue

    The highest possible value, including itself.

    Returns
    Type Description
    System.UInt32

    A pseudorandom System.UInt32.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue. Never pass System.UInt32.MaxValue to maxValue.

    | Improve this Doc View Source

    NextUnsignedIntegerExclusive(UInt32, UInt32)

    Returns the next pseudorandom System.UInt32 between minValue and maxValue, excluding maxValue itself.

    Declaration
    public uint NextUnsignedIntegerExclusive(uint minValue = 0U, uint maxValue = 4294967295U)
    Parameters
    Type Name Description
    System.UInt32 minValue

    The lowest possible value.

    System.UInt32 maxValue

    The highest possible value, excluding itself.

    Returns
    Type Description
    System.UInt32

    A pseudorandom System.UInt32.

    Remarks

    Distribution of values falls within a linear scale. minValue should not be greater then maxValue.

    | Improve this Doc View Source

    Sample()

    Returns the next pseudorandom System.Double value, between 0.0 and 1.0.

    Declaration
    public double Sample()
    Returns
    Type Description
    System.Double

    A pseudorandom System.Double floating point value.

    Implements

    IRandomProvider
    System.IEquatable<T>
    System.IDisposable
    • Improve this Doc
    • View Source
    In This Article
    Back to top Built on 2024-01-01 against 1f69a68.
    Generated by Dox+DocFX.