6 #ifndef OPENMPCD_CUDA_RANDOM_DISTRIBUTIONS_UNIFORM0E1I_HPP
7 #define OPENMPCD_CUDA_RANDOM_DISTRIBUTIONS_UNIFORM0E1I_HPP
24 namespace Distributions
46 template<
typename RNG>
64 template<
typename RNG>
70 template<>
template<
typename RNG>
74 return curand_uniform(rng.getState());
77 template<>
template<
typename RNG>
81 return curand_uniform_double(rng.getState());
85 template<
typename T>
template<
typename RNG>
88 RNG& rng, T*
const r1, T*
const r2)
const
93 *r1 = operator()(rng);
94 *r2 = operator()(rng);
99 void Uniform0e1i<double>::operator()<Generators::Philox4x32_10>(
100 Generators::Philox4x32_10& rng,
double*
const r1,
double*
const r2)
const
105 const double2 result = curand_uniform2_double(rng.getState());
117 #endif //OPENMPCD_CUDA_RANDOM_DISTRIBUTIONS_UNIFORM0E1I_HPP