RTOp Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RTOpPack_ROpCountNanInf.hpp
Go to the documentation of this file.
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_COUNT_NAN_INF_HPP
12 #define RTOPPACK_ROP_COUNT_NAN_INF_HPP
13 
14 #include "RTOpPack_RTOpTHelpers.hpp"
15 
16 
17 namespace RTOpPack {
18 
19 
23 RTOP_ROP_1_REDUCT_SCALAR( ROpCountNanInf,
24  index_type, // Reduction object type
25  REDUCT_TYPE_SUM // Reduction object reduction
26  )
27 {
28  reduct += ( ScalarTraits<Scalar>::isnaninf(v0) ? 1 : 0 );
29 }
30 
31 
32 } // namespace RTOpPack
33 
34 
35 #endif // RTOPPACK_ROP_COUNT_NAN_INF_HPP
Teuchos_Ordinal index_type
RTOP_ROP_1_REDUCT_SCALAR(ROpCountNanInf, index_type, REDUCT_TYPE_SUM)
Reduction operator that counts the number of entries that are NaN or Inf.
static bool isnaninf(const T &x)