42 #ifndef KOKKOS_RANDOM_UQ_PCE_HPP
43 #define KOKKOS_RANDOM_UQ_PCE_HPP
46 #if defined(HAVE_STOKHOS_KOKKOSALGORITHMS)
50 #include "Kokkos_Random.hpp"
58 template<
class Generator,
class Storage>
59 struct rand<Generator,Sacado::UQ::PCE<Storage> > {
62 typedef rand<Generator,BaseScalar> BaseRand;
64 KOKKOS_INLINE_FUNCTION
67 KOKKOS_INLINE_FUNCTION
68 static Scalar draw(Generator& gen) {
69 return BaseRand::draw(gen);
72 KOKKOS_INLINE_FUNCTION
73 static Scalar draw(Generator& gen,
const Scalar& range) {
74 return BaseRand::draw(gen, range.coeff(0));
77 KOKKOS_INLINE_FUNCTION
79 return BaseRand::draw(gen, start.coeff(0), end.coeff(0));
83 template<
class S,
class ... P,
class RandomPool>
88 typedef View<Sacado::UQ::PCE<S>**,P...> Vector;
90 fill_random( a_flat, g, begin.fastAccessCoeff(0), end.fastAccessCoeff(0) );
KOKKOS_INLINE_FUNCTION PCE< Storage > max(const typename PCE< Storage >::value_type &a, const PCE< Storage > &b)
ScalarType g(const Teuchos::Array< ScalarType > &x, const ScalarType &y)