56template <
int Table,
int Depth>
62 static_assert(
Table >=
Depth,
"Table size is greater or equal to Depth.");
63 static_assert(
Depth >= 1,
"Pattern depth is greater or equal to one.");
64 static_assert(
Depth <= 4,
"Pattern depth is less or equal to four.");
#define OQMC_HOST_DEVICE
Definition gpu.h:13
constexpr std::uint32_t rotateBytes(std::uint32_t value, int distance)
Rotate bytes in an integer value.
Definition rotate.h:41
EncodeKey decodeBits16(std::uint16_t value)
Decode a value back into a key.
Definition encode.h:81
constexpr std::uint32_t shuffle(std::uint32_t value, std::uint32_t seed)
Compute a hash based owen scramble.
Definition permute.h:73
void shuffledScrambledLookup(std::uint32_t index, std::uint32_t hash, const std::uint32_t table[][Table], std::uint32_t sample[Depth])
Compute a randomised value from a pre-computed table.
Definition lookup.h:58
constexpr std::uint32_t randomDigitScramble(std::uint32_t value, std::uint32_t hash)
Random digit scramble an element in a sequence.
Definition lookup.h:35