@@ -76,11 +76,11 @@ struct Trsv {
76
76
KOKKOS_INLINE_FUNCTION static int invoke (const MemberType &member, const ScalarType alpha, const AViewType &A,
77
77
const bViewType &b) {
78
78
int r_val = 0 ;
79
- if (std::is_same_v<ArgMode, Mode::Serial>) {
79
+ if constexpr (std::is_same_v<ArgMode, Mode::Serial>) {
80
80
r_val = SerialTrsv<ArgUplo, ArgTrans, ArgDiag, ArgAlgo>::invoke (alpha, A, b);
81
- } else if (std::is_same_v<ArgMode, Mode::Team>) {
81
+ } else if constexpr (std::is_same_v<ArgMode, Mode::Team>) {
82
82
r_val = TeamTrsv<MemberType, ArgUplo, ArgTrans, ArgDiag, ArgAlgo>::invoke (member, alpha, A, b);
83
- } else if (std::is_same_v<ArgMode, Mode::TeamVector>) {
83
+ } else if constexpr (std::is_same_v<ArgMode, Mode::TeamVector>) {
84
84
r_val = TeamVectorTrsv<MemberType, ArgUplo, ArgTrans, ArgDiag, ArgAlgo>::invoke (member, alpha, A, b);
85
85
}
86
86
return r_val;
@@ -155,46 +155,46 @@ struct Trsv {
155
155
156
156
#define KOKKOSBATCHED_TRSV_LOWER_NO_TRANSPOSE_INTERNAL_INVOKE (MODETYPE, ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, \
157
157
AS1, B, BS) \
158
- if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
158
+ if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
159
159
KOKKOSBATCHED_SERIAL_TRSV_LOWER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
160
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
160
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
161
161
KOKKOSBATCHED_TEAM_TRSV_LOWER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, \
162
162
BS); \
163
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
163
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
164
164
KOKKOSBATCHED_TEAMVECTOR_TRSV_LOWER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, \
165
165
B, BS); \
166
166
}
167
167
168
168
#define KOKKOSBATCHED_TRSV_LOWER_TRANSPOSE_INTERNAL_INVOKE (MODETYPE, ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, \
169
169
B, BS) \
170
- if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
170
+ if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
171
171
KOKKOSBATCHED_SERIAL_TRSV_LOWER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
172
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
172
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
173
173
KOKKOSBATCHED_TEAM_TRSV_LOWER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
174
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
174
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
175
175
KOKKOSBATCHED_TEAMVECTOR_TRSV_LOWER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, \
176
176
BS); \
177
177
}
178
178
179
179
#define KOKKOSBATCHED_TRSV_UPPER_NO_TRANSPOSE_INTERNAL_INVOKE (MODETYPE, ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, \
180
180
AS1, B, BS) \
181
- if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
181
+ if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
182
182
KOKKOSBATCHED_SERIAL_TRSV_UPPER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
183
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
183
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
184
184
KOKKOSBATCHED_TEAM_TRSV_UPPER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, \
185
185
BS); \
186
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
186
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
187
187
KOKKOSBATCHED_TEAMVECTOR_TRSV_UPPER_NO_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, \
188
188
B, BS); \
189
189
}
190
190
191
191
#define KOKKOSBATCHED_TRSV_UPPER_TRANSPOSE_INTERNAL_INVOKE (MODETYPE, ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, \
192
192
B, BS) \
193
- if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
193
+ if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Serial>) { \
194
194
KOKKOSBATCHED_SERIAL_TRSV_UPPER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
195
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
195
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::Team>) { \
196
196
KOKKOSBATCHED_TEAM_TRSV_UPPER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, BS); \
197
- } else if (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
197
+ } else if constexpr (std::is_same_v<MODETYPE, KokkosBatched::Mode::TeamVector>) { \
198
198
KOKKOSBATCHED_TEAMVECTOR_TRSV_UPPER_TRANSPOSE_INTERNAL_INVOKE (ALGOTYPE, MEMBER, DIAG, M, N, ALPHA, A, AS0, AS1, B, \
199
199
BS); \
200
200
}
0 commit comments