Skip to content

Commit 9d6b092

Browse files
cabs_impl function changed to use select over branching
1 parent 39dd0da commit 9d6b092

File tree

1 file changed

+10
-15
lines changed
  • dpctl/tensor/libtensor/include/kernels/elementwise_functions

1 file changed

+10
-15
lines changed

dpctl/tensor/libtensor/include/kernels/elementwise_functions/cabs_impl.hpp

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,16 @@ template <typename realT> realT cabs(std::complex<realT> const &z)
5757
constexpr realT q_nan = std::numeric_limits<realT>::quiet_NaN();
5858
constexpr realT p_inf = std::numeric_limits<realT>::infinity();
5959

60-
if (std::isinf(x)) {
61-
return p_inf;
62-
}
63-
else if (std::isinf(y)) {
64-
return p_inf;
65-
}
66-
else if (std::isnan(x)) {
67-
return q_nan;
68-
}
69-
else if (std::isnan(y)) {
70-
return q_nan;
71-
}
72-
else {
73-
return exprm_ns::abs(exprm_ns::complex<realT>(z));
74-
}
60+
const realT res =
61+
std::isinf(x)
62+
? p_inf
63+
: ((std::isinf(y)
64+
? p_inf
65+
: ((std::isnan(x)
66+
? q_nan
67+
: exprm_ns::abs(exprm_ns::complex<realT>(z))))));
68+
69+
return res;
7570
}
7671

7772
} // namespace detail

0 commit comments

Comments
 (0)