Commit Graph

17 Commits

Author SHA1 Message Date
Robert Schulze
a7734672b9
Use std::popcount, ::countl_zero, ::countr_zero functions
- Introduced with the C++20 <bit> header

- The problem with __builtin_c(l|t)z() is that 0 as input has an
  undefined result (*) and the code did not always check. The std::
  versions do not have this issue.

- In some cases, we continue to use buildin_c(l|t)z(), (e.g. in
  src/Common/BitHelpers.h) because the std:: versions only accept
  unsigned inputs (and they also check that) and the casting would be
  ugly.

(*) https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
2022-07-31 15:16:51 +00:00
Li Yin
4088c0a7f3 Automated function registration
Automated register all functions with below naming convention by
iterating through the symbols:
void DB::registerXXX(DB::FunctionFactory &)
2022-07-29 15:39:50 +08:00
feng lv
53fde56cb7 rewrite bitHammingDistance with FunctionBinaryArithmetic
fix

fix typo
2022-01-19 09:07:05 +00:00
Pavel Kruglov
70b51133c1 Try to simplify code 2021-08-09 18:01:08 +03:00
Pavel Kruglov
0662df8b76 Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution 2021-08-09 17:54:14 +03:00
Pavel Kruglov
e792fa588f Mark all Functions as sutable or not for executing as short circuit arguments 2021-08-09 17:50:09 +03:00
Nikolai Kochetov
dbaa6ffc62 Rename ContextConstPtr to ContextPtr. 2021-06-01 15:20:52 +03:00
Alexander Kuzmenkov
3f57fc085b remove mutable context references from functions interface
Also remove it from some visitors.
2021-05-28 19:45:37 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Nikolai Kochetov
2c07516aee Fix special build and style. 2020-12-22 18:17:23 +03:00
Nikolai Kochetov
654b8528b2 Try fix build 2020-12-17 22:14:01 +03:00
feng lv
9a370a03ef fix
fix
2020-09-10 19:18:56 +08:00
feng lv
3b132c789e fix 2020-08-16 16:01:52 +08:00
feng lv
2067501ead fix 2020-08-16 15:42:35 +08:00
Nikolai Kochetov
07b5f9a58f Fix build. 2020-08-07 18:04:51 +03:00
feng lv
83c0807b43 update
update name
2020-05-22 23:45:09 +08:00
fenglv
64207abd0a update 2020-05-18 22:56:29 +08:00