32 #ifndef MCKL_RANDOM_INTERNAL_THREEFRY_AVX2_HPP 33 #define MCKL_RANDOM_INTERNAL_THREEFRY_AVX2_HPP 43 template <
typename T, std::size_t K, std::size_t Rounds,
typename Constants,
44 int = std::numeric_limits<T>::digits>
50 template <
typename T, std::
size_t K, std::
size_t Rounds,
typename Constants>
52 :
public std::conditional_t<K != 0 && 16 % K == 0,
53 ThreefryGeneratorAVX2Impl32<T, K, Rounds, Constants>,
54 ThreefryGeneratorGenericImpl<T, K, Rounds, Constants>>
58 template <
typename T, std::
size_t K, std::
size_t Rounds,
typename Constants>
60 :
public std::conditional_t<K != 0 && 16 % K == 0,
61 ThreefryGeneratorAVX2Impl64<T, K, Rounds, Constants>,
62 ThreefryGeneratorGenericImpl<T, K, Rounds, Constants>>
70 #endif // MCKL_RANDOM_INTERNAL_THREEFRY_AVX2_HPP