Contents

class

SushiBLAS::RngStream

Holds one counter-based random stream: a seed and an offset counter under one lock.

Declared in
include/SushiBLAS/engine/rng_stream.hpp

See also

include/SushiBLAS/engine/README.md

Public member functions

RngStream()=default
RngStream(const RngStream &)=delete
RngStream & operator=(const RngStream &)=delete
RngStream(RngStream &&)=delete
RngStream & operator=(RngStream &&)=delete
~RngStream()=default
void reseed(std::uint64_t seed)

Sets the seed and rewinds the offset counter to zero, as one atomic step.

std::uint64_t seed() const

Returns the current seed.

RngPosition reserve(std::uint64_t count)

Reserves count consecutive offsets and returns them with their seed.

Parameters

count

Number of offsets taken; concurrent callers receive disjoint ranges.