| 988 | |
| 989 | template <typename Op> |
| 990 | std::shared_ptr<ScalarFunction> MakeShiftFunctionNotNull(std::string name, |
| 991 | FunctionDoc doc) { |
| 992 | auto func = std::make_shared<ArithmeticFunction>(name, Arity::Binary(), std::move(doc)); |
| 993 | for (const auto& ty : IntTypes()) { |
| 994 | auto exec = ShiftExecFromOp<ScalarBinaryNotNullEqualTypes, Op>(ty); |
| 995 | DCHECK_OK(func->AddKernel({ty, ty}, ty, exec)); |
| 996 | } |
| 997 | AddNullExec(func.get()); |
| 998 | return func; |
| 999 | } |
| 1000 | |
| 1001 | template <typename Op, typename FunctionImpl = ArithmeticFloatingPointFunction> |
| 1002 | std::shared_ptr<ScalarFunction> MakeUnaryArithmeticFunctionFloatingPoint( |
nothing calls this directly
no test coverage detected