32 #ifndef VSMC_RNG_INTERNAL_COMMON_HPP
33 #define VSMC_RNG_INTERNAL_COMMON_HPP
41 #error __STDC_CONSTANT_MACROS not defined before #<stdint.h>
48 template <std::
size_t K, std::
size_t, std::
size_t,
typename T>
51 template <std::
size_t K, std::
size_t A, std::
size_t I,
typename T>
55 rng_array_left_assign<K, A, I + 1>(state,
59 template <std::
size_t K, std::
size_t,
typename T>
62 template <std::
size_t K, std::
size_t I,
typename T>
66 rng_array_left_zero<K, I + 1>(state,
70 template <std::
size_t K, std::
size_t A,
bool fillzero,
typename T>
73 rng_array_left_assign<K, A, 0>(state,
79 template <std::
size_t K, std::
size_t, std::
size_t,
typename T>
82 template <std::
size_t K, std::
size_t A, std::
size_t I,
typename T>
90 template <std::
size_t K, std::
size_t,
typename T>
93 template <std::
size_t K, std::
size_t I,
typename T>
101 template <std::
size_t K, std::
size_t A,
bool fillzero,
typename T>
110 template <
typename SeedSeq,
typename U,
typename V = U,
typename W = V>
113 !cxx11::is_convertible<SeedSeq, U>::value &&
114 !cxx11::is_convertible<SeedSeq, V>::value &&
115 !cxx11::is_convertible<SeedSeq, W>::value &&
116 !cxx11::is_same<typename cxx11::remove_cv<SeedSeq>::type, U>::value &&
117 !cxx11::is_same<typename cxx11::remove_cv<SeedSeq>::type, V>::value &&
118 !cxx11::is_same<typename cxx11::remove_cv<SeedSeq>::type, W>::value> {};
124 #endif // VSMC_RNG_INTERNAL_COMMON_HPP
void rng_array_right_assign(Array< T, K > &, cxx11::false_type)
Function template argument used for position.
void rng_array_left_assign(Array< T, K > &, cxx11::false_type)
void rng_array_right_shift(Array< T, K > &state)
void rng_array_right_zero(Array< T, K > &, cxx11::false_type)
void rng_array_left_zero(Array< T, K > &, cxx11::false_type)
void rng_array_left_shift(Array< T, K > &state)