#include #include #include #include #include #include #include "registerAggregateFunctions.h" namespace DB { namespace ErrorCodes { extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH; extern const int BAD_ARGUMENTS; } namespace { template struct MovingSum { using DataType = MovingSumData; using Function = MovingImpl; }; template struct MovingAvg { using DataType = MovingAvgData; using Function = MovingImpl; }; template using MovingSumTemplate = typename MovingSum::Function; template using MovingAvgTemplate = typename MovingAvg::Function; template