|
10 | 10 | #define NOX_TPETRA_1DFEM_FUNCTORS_HPP |
11 | 11 |
|
12 | 12 | #include "Kokkos_Core.hpp" |
| 13 | +#if KOKKOS_VERSION > 40799 |
| 14 | +#include "KokkosKernels_ArithTraits.hpp" |
| 15 | +#else |
13 | 16 | #include "Kokkos_ArithTraits.hpp" |
| 17 | +#endif |
14 | 18 | #include "Tpetra_Details_OrdinalTraits.hpp" |
15 | 19 |
|
16 | 20 | template <class ViewType, class GO> |
@@ -112,7 +116,11 @@ struct ResidualEvaluatorFunctor |
112 | 116 | KOKKOS_INLINE_FUNCTION |
113 | 117 | void operator() (const std::size_t row) const |
114 | 118 | { |
| 119 | +#if KOKKOS_VERSION > 40799 |
| 120 | + Scalar one = KokkosKernels::ArithTraits<Scalar>::one(); |
| 121 | +#else |
115 | 122 | Scalar one = Kokkos::ArithTraits<Scalar>::one(); |
| 123 | +#endif |
116 | 124 | fView_(row, 0) = one/(one - integralOpView_(row,0)) - uView_(row, 0); |
117 | 125 | } |
118 | 126 |
|
@@ -157,8 +165,16 @@ struct JacobianEvaluatorFunctor |
157 | 165 | KOKKOS_INLINE_FUNCTION |
158 | 166 | void operator() (const std::size_t row) const |
159 | 167 | { |
| 168 | +#if KOKKOS_VERSION > 40799 |
| 169 | + Scalar zero = KokkosKernels::ArithTraits<Scalar>::zero(); |
| 170 | +#else |
160 | 171 | Scalar zero = Kokkos::ArithTraits<Scalar>::zero(); |
| 172 | +#endif |
| 173 | +#if KOKKOS_VERSION > 40799 |
| 174 | + Scalar one = KokkosKernels::ArithTraits<Scalar>::one(); |
| 175 | +#else |
161 | 176 | Scalar one = Kokkos::ArithTraits<Scalar>::one(); |
| 177 | +#endif |
162 | 178 | Scalar value = omega_*integralOpXView_(row,0); |
163 | 179 | value /= (2*globalLength_*(one-integralOpView_(row,0))*(one-integralOpView_(row,0))); |
164 | 180 | if (beta_ == zero) |
@@ -199,7 +215,11 @@ struct PreconditionerEvaluatorFunctor |
199 | 215 | KOKKOS_INLINE_FUNCTION |
200 | 216 | void operator() (const LO localRow) const |
201 | 217 | { |
| 218 | +#if KOKKOS_VERSION > 40799 |
| 219 | + Scalar one = KokkosKernels::ArithTraits<Scalar>::one(); |
| 220 | +#else |
202 | 221 | Scalar one = Kokkos::ArithTraits<Scalar>::one(); |
| 222 | +#endif |
203 | 223 | Scalar value = one - integralOpView_(localRow, 0); |
204 | 224 | value = omega_/(4*numGlobalElements_*value*value) - one; |
205 | 225 | value = 1.0/value; |
|
0 commit comments