Open Search
    Random Classes

    About

    The MAXON API provides pseudo random number generators for trivial purposes and cryptographic applications.

    Random

    maxon::LinearCongruentialRandom is a standard pseudo random number generator that can be initialized with a seed value:

    // This example fills an array with pseudo random numbers float values.
    // prepare array
    // init pseudo random generator
    random.Init(123);
    // fill array with random float values
    for (maxon::Int32 i = 0; i < count; ++i)
    {
    const maxon::Float32 randomValue = random.Get01();
    values.Append(randomValue) iferr_return;
    }
    Py_ssize_t i
    Definition: abstract.h:645
    Py_ssize_t count
    Definition: abstract.h:640
    Definition: basearray.h:415
    ResultMem EnsureCapacity(Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
    Definition: basearray.h:1320
    MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > Append(ARG &&x)
    Appends a new element at the end of the array and constructs it using the forwarded value.
    Definition: basearray.h:619
    Definition: lib_math.h:19
    FLOAT Get01()
    Returns the next random value in the range of [0..1].
    int32_t Int32
    32 bit signed integer datatype.
    Definition: apibase.h:201
    float Float32
    32 bit floating point value (float)
    Definition: apibase.h:207
    #define iferr_return
    Definition: resultbase.h:1521

    SecureRandom

    maxon::SecureRandom is a cryptographically secure pseudo-random number generator. It is typically used in the context of encrypting data. See Cryptography

    maxon::SecureRandom provides these static functions:

    // This example fills an array with cryptographically secure random data.
    // prepare array
    values.Resize(100) iferr_return;
    // fill array with random data
    // print random data
    for (maxon::UChar& chr : values)
    {
    DiagnosticOutput("Random Data: @", chr);
    }
    ResultMem Resize(Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT)
    Definition: basearray.h:1209
    Definition: baseref.h:62
    static MAXON_METHOD SecureRandomProvider GetDefaultProvider()
    static MAXON_METHOD Bool GetRandomNumber(SecureRandomProvider provider, const Block< Byte > &buffer)
    unsigned char UChar
    unsigned 8 bit character
    Definition: apibase.h:210
    #define DiagnosticOutput(formatString,...)
    Definition: debugdiagnostics.h:176

    Further Reading