MCPcopy Create free account
hub / github.com/apache/arrow / Negate

Class Negate

cpp/src/arrow/compute/kernels/base_arithmetic_internal.h:471–499  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

469};
470
471struct Negate {
472 template <typename T, typename Arg>
473 static constexpr enable_if_floating_value<T> Call(KernelContext*, Arg arg, Status*) {
474 return -arg;
475 }
476
477 template <typename T, typename Arg>
478 static constexpr enable_if_half_float_value<T> Call(KernelContext*, Arg arg, Status*) {
479 return -arg;
480 }
481
482 template <typename T, typename Arg>
483 static constexpr enable_if_unsigned_integer_value<T> Call(KernelContext*, Arg arg,
484 Status*) {
485 return ~arg + 1;
486 }
487
488 template <typename T, typename Arg>
489 static constexpr enable_if_signed_integer_value<T> Call(KernelContext*, Arg arg,
490 Status*) {
491 return arrow::internal::SafeSignedNegate(arg);
492 }
493
494 template <typename T, typename Arg>
495 static constexpr enable_if_decimal_value<Arg, T> Call(KernelContext*, Arg arg,
496 Status*) {
497 return arg.Negate();
498 }
499};
500
501struct NegateChecked {
502 template <typename T, typename Arg>

Callers 4

basic_decimal.ccFile · 0.85
basic_decimal.hFile · 0.85
SliceForwardMethod · 0.85
SliceBackwardMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected