71template <
typename ScalarT>
77template <
typename ScalarT>
83 seed =
static_cast<ScalarT
>(s);
86template <
typename ScalarT>
90 const ScalarT
A = 16807.0;
91 const ScalarT bigInt = 2147483647.0;
97template <
typename ScalarT>
101 if ((s < 1) || (s > 2147483646)) {
102 std::cerr <<
"Error in Sacado::Random::" << s <<
"(): "
104 << s <<
" is not an integer between 1 and 2147483646."
105 << std::endl <<
"Using a seed of 1 instead." << std::endl;
112#ifdef HAVE_SACADO_COMPLEX
124Random(
const std::complex<T>&
a,
const std::complex<T>& b) :
125 rand_real(
a.real(), b.real()),
126 rand_imag(
a.imag(), b.imag())
131Sacado::Random< std::complex<T> >::
132Random(
const std::complex<T>&
a,
const std::complex<T>& b,
int s) :
133 rand_real(
a.real(), b.real(), s),
134 rand_imag(
a.imag(), b.imag(), s+1)
139Sacado::Random< std::complex<T> >::
146Sacado::Random< std::complex<T> >::
148 rand_real.setSeed(s);
149 rand_imag.setSeed(s+1);
154Sacado::Random< std::complex<T> >::
156 return std::complex<T>(rand_real.number(), rand_imag.number());