95 const ArrayView<
const ConstSubVectorView<Scalar> > &sub_vecs,
96 const ArrayView<
const SubVectorView<Scalar> > &targ_sub_vecs,
97 const Ptr<ReductTarget> &reduct_obj_inout
100 typedef typename Teuchos::ArrayRCP<Scalar>::iterator iter_t;
103 validate_apply_op<Scalar>(*
this, 0, 1,
false,
104 sub_vecs, targ_sub_vecs, reduct_obj_inout.getConst());
107 (void)reduct_obj_inout;
110 const index_type subDim = targ_sub_vecs[0].subDim();
111 const index_type globalOffset = targ_sub_vecs[0].globalOffset();
113 iter_t z0_val = targ_sub_vecs[0].values().begin();
114 const ptrdiff_t z0_s = targ_sub_vecs[0].stride();
117 const Scalar a = Scalar(0.5)*(
u_ -
l_);
118 const Scalar b = Scalar(0.5)*(
u_ +
l_);
119 for(
index_type i = 0; i < subDim; ++i, z0_val += z0_s )
121 Teuchos::ScalarTraits<Scalar>::seedrandom(
seed_+globalOffset+i);
122 *z0_val = a * Teuchos::ScalarTraits<Scalar>::random() + b;