26 static constexpr std::size_t cacheSize = 0;
27 static void initialiseCache(
void*
cache);
34 OQMC_HOST_DEVICE
SobolImpl newDomain(
int key)
const;
35 OQMC_HOST_DEVICE
SobolImpl newDomainSplit(
int key,
int size,
37 OQMC_HOST_DEVICE
SobolImpl newDomainDistrib(
int key,
int index)
const;
40 OQMC_HOST_DEVICE
void drawSample(std::uint32_t
sample[
Size])
const;
43 OQMC_HOST_DEVICE
void drawRnd(std::uint32_t
rnd[
Size])
const;
56inline SobolImpl::SobolImpl(
int x,
int y,
int frame,
int index,
57 [[maybe_unused]]
const void* cache)
58 : state(x, y, frame, index)
60 state = state.pixelDecorrelate();
63inline SobolImpl SobolImpl::newDomain(
int key)
const
65 return {state.newDomain(key)};
68inline SobolImpl SobolImpl::newDomainSplit(
int key,
int size,
int index)
const
70 return {state.newDomainSplit(key, size, index)};
73inline SobolImpl SobolImpl::newDomainDistrib(
int key,
int index)
const
75 return {state.newDomainDistrib(key, index)};
79void SobolImpl::drawSample(std::uint32_t sample[Size])
const
81 shuffledScrambledSobol<Size>(state.sampleId, pcg::output(state.patternId),
86void SobolImpl::drawRnd(std::uint32_t rnd[Size])
const
88 state.drawRnd<Size>(rnd);
Public sampler API.
Definition sampler.h:111
EncodeKey decodeBits16(std::uint16_t value)
Decode a value back into a key.
Definition encode.h:81