| 643 | struct Sign { |
| 644 | template <typename T, typename Arg> |
| 645 | static constexpr enable_if_floating_value<Arg, T> Call(KernelContext*, Arg arg, |
| 646 | Status*) { |
| 647 | return std::isnan(arg) ? arg : ((arg == 0) ? 0 : (std::signbit(arg) ? -1 : 1)); |
| 648 | } |
| 649 | |
| 650 | template <typename T, typename Arg> |
| 651 | static constexpr enable_if_half_float_value<Arg, T> Call(KernelContext*, Arg arg, |