29#include <sycl/sycl.hpp>
31namespace dpnp::kernels::logaddexp2
33constexpr double log2e = 1.442695040888963407359924681001892137;
38 return T(log2e) * sycl::log1p(x);
42inline T logaddexp2(T x, T y)
51 return x + log2_1p(sycl::exp2(-tmp));
54 return y + log2_1p(sycl::exp2(tmp));
56 return std::numeric_limits<T>::quiet_NaN();
59template <
typename argT1,
typename argT2,
typename resT>
62 using supports_sg_loadstore = std::true_type;
63 using supports_vec = std::false_type;
65 resT operator()(
const argT1 &in1,
const argT2 &in2)
const
67 return logaddexp2<resT>(in1, in2);