ClickHouse

Форк
0
41 строка · 873.0 Байт
1
#include <Functions/FunctionMathUnary.h>
2
#include <Functions/FunctionFactory.h>
3

4
namespace DB
5
{
6

7
namespace
8
{
9

10
struct LogName { static constexpr auto name = "log"; };
11

12
#if USE_FASTOPS
13

14
    struct Impl
15
    {
16
        static constexpr auto name = LogName::name;
17
        static constexpr auto rows_per_iteration = 0;
18
        static constexpr bool always_returns_float64 = false;
19

20
        template <typename T>
21
        static void execute(const T * src, size_t size, T * dst)
22
        {
23
            NFastOps::Log<true>(src, size, dst);
24
        }
25
    };
26

27
using FunctionLog = FunctionMathUnary<Impl>;
28

29
#else
30
using FunctionLog = FunctionMathUnary<UnaryFunctionVectorized<LogName, log>>;
31
#endif
32

33
}
34

35
REGISTER_FUNCTION(Log)
36
{
37
    factory.registerFunction<FunctionLog>({}, FunctionFactory::CaseInsensitive);
38
    factory.registerAlias("ln", "log", FunctionFactory::CaseInsensitive);
39
}
40

41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.