26 static constexpr std::size_t cacheSize = 0;
27 static void initialiseCache(
void*
cache);
34 OQMC_HOST_DEVICE
LatticeImpl newDomain(
int key)
const;
35 OQMC_HOST_DEVICE
LatticeImpl newDomainSplit(
int key,
int size,
37 OQMC_HOST_DEVICE
LatticeImpl 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 LatticeImpl::LatticeImpl(
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 LatticeImpl LatticeImpl::newDomain(
int key)
const
65 return {state.newDomain(key)};
68inline LatticeImpl LatticeImpl::newDomainSplit(
int key,
int size,
71 return {state.newDomainSplit(key, size, index)};
74inline LatticeImpl LatticeImpl::newDomainDistrib(
int key,
int index)
const
76 return {state.newDomainDistrib(key, index)};
80void LatticeImpl::drawSample(std::uint32_t sample[Size])
const
82 shuffledRotatedLattice<Size>(state.sampleId, state.patternId, sample);
86void LatticeImpl::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