#include #include namespace DB { namespace { struct SigmoidName { static constexpr auto name = "sigmoid"; }; #if USE_FASTOPS namespace { struct Impl { static constexpr auto name = SigmoidName::name; static constexpr auto rows_per_iteration = 0; static constexpr bool always_returns_float64 = false; template static void execute(const T * src, size_t size, T * dst) { NFastOps::Sigmoid<>(src, size, dst); } }; } using FunctionSigmoid = FunctionMathUnary; #else double sigmoid(double x) { return 1.0 / (1.0 + exp(-x)); } using FunctionSigmoid = FunctionMathUnary>; #endif } void registerFunctionSigmoid(FunctionFactory & factory) { factory.registerFunction(); } }