36 using is_constant =
typename std::false_type;
40 using supports_vec =
typename std::false_type;
42 using supports_sg_loadstore =
typename std::true_type;
44 resT operator()(
const argT &x)
const
51 return std::numeric_limits<resT>::quiet_NaN();
54 constexpr argT inf = std::numeric_limits<argT>::infinity();
55 if constexpr (std::is_same_v<argT, sycl::half>) {
57 return sycl::nextafter(x, inf) - x;
60 return sycl::nextafter(x, sycl::copysign(inf, x)) - x;