#pragma once #include #include #define FOR_NUMERIC_TYPES(M) \ M(UInt8) \ M(UInt16) \ M(UInt32) \ M(UInt64) \ M(Int8) \ M(Int16) \ M(Int32) \ M(Int64) \ M(Float32) \ M(Float64) namespace DB { /** Create an aggregate function with a numeric type in the template parameter, depending on the type of the argument. */ template