43#ifndef RTOPPACK_ROP_NORM2_HPP
44#define RTOPPACK_ROP_NORM2_HPP
46#include "RTOpPack_RTOpTHelpers.hpp"
57 void operator()(
const Scalar &v0, Scalar &reduct )
const
59 reduct += ScalarTraits<Scalar>::conjugate(v0)*v0;
73 typedef Teuchos::ScalarTraits<Scalar>
ST;
82 const Scalar sqrt_reduct = ST::squareroot(this->
getRawVal(reduct_obj));
83 return ST::magnitude(sqrt_reduct);
void operator()(const Scalar &v0, Scalar &reduct) const
Teuchos::ScalarTraits< Scalar > ST
ST::magnitudeType operator()(const ReductTarget &reduct_obj) const
const ConcreteReductObj & getRawVal(const ReductTarget &reduct_obj) const
ROp_1_ScalarReduction(const Scalar &initReductObjValue_in=Scalar(), ROpNorm2EleWiseReduction< Scalar > eleWiseReduction_in=ROpNorm2EleWiseReduction< Scalar >(), SumScalarReductObjReduction< Scalar > reductObjReduction_in=SumScalarReductObjReduction< Scalar >())
void setOpNameBase(const std::string &op_name_base)
Just set the operator name.
Abstract base class for all reduction objects.