19    template<
typename TCounter, 
typename TKey>
 
   45    template<
typename TParams>
 
  109            static_assert(TParams::counterSize == 4, 
"Only counterSize is supported.");
 
  113            for(
auto numShifts = 
state.
position; numShifts > 0; --numShifts)
 
  121            this->
skip4(offset / 4);
 
 
  132            : 
state{{0, 0, 0, 0}, {
low32Bits(seed), 
high32Bits(seed)}, {0, 0, 0, 0}, 0}
 
  134            this->skipSubsequence(subsequence);
 
 
 
ALPAKA_FN_HOST_ACC void advanceCounter(Counter &counter)
 
typename PhiloxStateless< TParams >::Counter Counter
 
typename PhiloxStateless< TParams >::Key Key
 
ALPAKA_FN_HOST_ACC void skip4(uint64_t offset)
 
ALPAKA_FN_HOST_ACC void advanceState()
 
ALPAKA_FN_HOST_ACC auto nextNumber()
 
typename Base::Counter Counter
Counter type.
 
ALPAKA_FN_HOST_ACC auto operator()()
 
ALPAKA_FN_HOST_ACC PhiloxSingle(uint64_t seed=0, uint64_t subsequence=0, uint64_t offset=0)
 
State state
Internal engine state.
 
ALPAKA_FN_HOST_ACC void skip(uint64_t offset)
Skips the next offset numbers.
 
typename Base::Key Key
Key type.
 
static ALPAKA_FN_HOST_ACC auto nRounds(Counter const &counter_in, Key const &key_in) -> Counter
 
#define ALPAKA_FN_HOST_ACC
 
The random number generator engine specifics.
 
ALPAKA_FN_HOST_ACC constexpr auto high32Bits(std::uint64_t const x) -> std::uint32_t
Get high 32 bits of a 64-bit number.
 
ALPAKA_FN_HOST_ACC constexpr auto low32Bits(std::uint64_t const x) -> std::uint32_t
Get low 32 bits of a 64-bit number.
 
Counter result
Intermediate result array.
 
std::uint32_t position
Pointer to the active intermediate result element.
 
Counter counter
Counter array.