Collection of Concrete Vector Reduction/Transformation Operator Implementations  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
RTOpPack_ROpNormInf.hpp
1 // @HEADER
2 // *****************************************************************************
3 // RTOp: Interfaces and Support Software for Vector Reduction Transformation
4 // Operations
5 //
6 // Copyright 2006 NTESS and the RTOp contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef RTOPPACK_ROP_NORMINF_HPP
12 #define RTOPPACK_ROP_NORMINF_HPP
13 
14 #include "RTOpPack_RTOpTHelpers.hpp"
15 
16 
17 namespace RTOpPack {
18 
19 
20 //RTOP_ROP_1_REDUCT_SCALAR_MAG( ROpNormInf )
21 //{
22 // typedef ScalarTraits<Scalar> ST;
23 // reduct = std::max(reduct, ST::magnitude(v0));
24 //}
25 //
26 //
27 //RTOP_ROP_1_REDUCT_SCALAR_MAG_REDUCT_OBJ_REDUCTION( ROpNormInf )
28 //{
29 // inout_reduct = std::max(inout_reduct, in_reduct);
30 //}
31 
32 
34 RTOP_ROP_1_REDUCT_SCALAR(
35  ROpNormInf, // Name of the RTOp subclass
36  typename ScalarTraits<Scalar>::magnitudeType, // Reduction object type
37  REDUCT_TYPE_MAX // Basic reduction of reduction objects
38  )
39 {
40  typedef ScalarTraits<Scalar> ST;
41  reduct = std::max(reduct, ST::magnitude(v0));
42 }
43 
44 
45 } // namespace RTOpPack
46 
47 
48 #endif // RTOPPACK_ROP_NORMINF_HPP