43#ifndef RTOPPACK_TOP_RANDOMIZE_HPP
44#define RTOPPACK_TOP_RANDOMIZE_HPP
46#include "RTOpPack_RTOpTHelpers.hpp"
90 unsigned int get_seed()
const {
return seed_; }
100 typedef typename Teuchos::ArrayRCP<Scalar>::iterator
iter_t;
121 Teuchos::ScalarTraits<Scalar>::seedrandom(seed_+globalOffset+
i);
122 *
z0_val =
a * Teuchos::ScalarTraits<Scalar>::random() +
b;
128 static unsigned int static_seed_;
135template<
class Scalar>
136unsigned int TOpRandomize<Scalar>::static_seed_ = 0;
void apply_op(const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< ReductTarget > &reduct_obj) const
void setOpNameBase(const std::string &op_name_base)
Generate a random vector in the range [l,u]: z0[i] = 0.5*((u-l)*Teuchos::ScalarTraits<Scalar>::random...
unsigned int get_seed() const
void set_bounds(const Scalar &l, const Scalar &u)
TOpRandomize(const Scalar &l=-ScalarTraits< Scalar >::one(), const Scalar &u=+ScalarTraits< Scalar >::one())
void set_seed(const unsigned int seed)
void apply_op_impl(const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< ReductTarget > &reduct_obj_inout) const
static void set_static_seed(const unsigned int static_seed)
static unsigned int get_static_seed()