35 "Encoding must have equal resolution in x and y");
172 static_assert(
Size >= 0,
"Draw size greater or equal to zero.");
182static_assert(
sizeof(
State64Bit) == 8,
"State64Bit must be 8 bytes in size.");
#define OQMC_HOST_DEVICE
Definition gpu.h:13
constexpr std::uint32_t stateTransition(std::uint32_t state)
State transition function.
Definition pcg.h:79
constexpr std::uint32_t init()
Default initialise the PRNG state.
Definition pcg.h:117
constexpr std::uint32_t rng(std::uint32_t &state)
Compute a random number from the PRNG sequence.
Definition pcg.h:162
EncodeKey decodeBits16(std::uint16_t value)
Decode a value back into a key.
Definition encode.h:81
constexpr int computeIndexKey(int index)
Compute 16-bit key from index.
Definition state.h:92
constexpr int computeIndexId(int index)
Compute new 16-bit index from index.
Definition state.h:106
Generic sampler state type.
Definition state.h:28
static constexpr auto spatialEncodeBitSizeY
256 pixels in y.
Definition state.h:32
State64Bit()=default
Construct an invalid object.
static constexpr auto maxIndexSize
2^16 index upper limit.
Definition state.h:30
std::uint16_t sampleId
Identifier for sample index.
Definition state.h:80
std::uint16_t pixelId
Identifier for pixel position.
Definition state.h:81
State64Bit newDomainDistrib(int key, int index) const
Derive a split sampler object with a local distribution.
Definition state.h:156
State64Bit newDomainSplit(int key, int size, int index) const
Derive a split sampler object with a local and a global distribution.
Definition state.h:142
void drawRnd(std::uint32_t rnd[Size]) const
Draw integer pseudo random values from domain.
Definition state.h:170
std::uint32_t patternId
Identifier for domain pattern.
Definition state.h:79
static constexpr auto spatialEncodeBitSizeX
256 pixels in x.
Definition state.h:31
static constexpr auto maxIndexBitSize
2^16 index upper limit.
Definition state.h:29
State64Bit newDomain(int key) const
Derive a sampler object as a new domain.
Definition state.h:134
State64Bit pixelDecorrelate() const
Decorrelate state between pixels.
Definition state.h:129