xoroshiro128++ PRNG. Extremely fast, not appropriate for cryptographic purposes.

Synopsis

Declared in <random.h>

class InsecureRandomContext
    : public RandomMixin<InsecureRandomContext>

Description

Memory footprint is very small, period is 2ˆ128 ‐ 1. This class is not thread‐safe.

Reference implementation available at https://prng.di.unimi.it/xoroshiro128plusplus.c See https://prng.di.unimi.it/

Base Classes

Name

Description

RandomMixin<InsecureRandomContext>

Mixin class that provides helper randomness functions.

Type Aliases

Name

Description

result_type

Result type of the generator, for the UniformRandomBitGenerator concept.

Member Functions

Name

Description

InsecureRandomContext [constructor]

Construct the context, deriving the initial state from a seed value.

operator=

Assignment operators

Reseed

Reset the context to a new state derived from a seed value.

fillrand

Fill a span with random bytes.

operator()

Generate the next random value, for the UniformRandomBitGenerator concept.

rand

Generate a random integer in its entire (non‐negative) range.

rand256

generate a random uint256.

rand32

Generate a random 32‐bit integer.

rand64

Generate a random 64‐bit integer.

rand_exp_duration

Return a duration sampled from an exponential distribution (https://en.wikipedia.org/wiki/Exponential_distribution). Successive events whose intervals are distributed according to this form a memoryless Poisson process. This should be used for repeated network events (e.g. sending a certain type of message) to minimize leaking information to observers.

rand_uniform_delay

Return the time point advanced by a uniform random duration.

rand_uniform_duration

Generate a uniform random duration in the range from 0 (inclusive) to range (exclusive).

randbits

randbits overloads

randbool

Generate a random boolean.

randbytes

randbytes overloads

randrange

randrange overloads

Static Member Functions

Name

Description

max

Largest value the generator can produce.

min

Smallest value the generator can produce.

Protected Member Functions

Name

Description

FlushCache

Discard any random bits buffered from a previous rand64() call.

Created with MrDocs