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;