39 using is_constant =
typename std::false_type;
43 using supports_vec =
typename std::false_type;
45 using supports_sg_loadstore =
typename std::true_type;
47 resT operator()(
const argT &x)
const
54 return std::numeric_limits<resT>::quiet_NaN();
57 constexpr argT inf = std::numeric_limits<argT>::infinity();
58 if constexpr (std::is_same_v<argT, sycl::half>) {
60 return sycl::nextafter(x, inf) - x;
63 return sycl::nextafter(x, sycl::copysign(inf, x)) - x;