32#include <sycl/sycl.hpp>
34namespace dpnp::kernels::logaddexp2
36constexpr double log2e = 1.442695040888963407359924681001892137;
41 return T(log2e) * sycl::log1p(x);
45inline T logaddexp2(T x, T y)
54 return x + log2_1p(sycl::exp2(-tmp));
57 return y + log2_1p(sycl::exp2(tmp));
59 return std::numeric_limits<T>::quiet_NaN();
62template <
typename argT1,
typename argT2,
typename resT>
65 using supports_sg_loadstore = std::true_type;
66 using supports_vec = std::false_type;
68 resT operator()(
const argT1 &in1,
const argT2 &in2)
const
70 return logaddexp2<resT>(in1, in2);