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_ROpMin.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_MIN_HPP
12 #define RTOPPACK_ROP_MIN_HPP
13 
14 #include "RTOpPack_RTOpTHelpers.hpp"
15 
16 
17 namespace RTOpPack {
18 
19 
22 RTOP_ROP_1_REDUCT_SCALAR_CUSTOM_DEFAULT(
23  ROpMin, // Name of the RTOp subclass
24  Scalar, // Reduction object type
25  REDUCT_TYPE_MIN, // Basic reduction of reduction objects
26  std::numeric_limits<Scalar>::max() // Custom default reduct object value
27  )
28 {
29  reduct = std::min(reduct, v0);
30 }
31 
32 
33 } // namespace RTOpPack
34 
35 
36 #endif // RTOPPACK_ROP_MIN_HPP