#include "xf_database/aggregate.hpp"
template < AggregateOp op, typename T, typename T2 > void aggregate ( hls::stream <T>& in_strm, hls::stream <bool>& in_e_strm, hls::stream <T2>& out_strm, hls::stream <bool>& out_e_strm )
Aggregate function overload for SUM operation.
The output type can be inferred to be different from input type, this allows the sum value to have more precision bits than input, and avoid overflow.
Note that sum aggregate function will be returned as zero when the input is empty.
For group-by aggregation, please refer to the hashGroupAggregateMPU
primitive.
Parameters:
op | the aggregate operator: AOP_SUM |
T | the data type of input stream, inferred from argument |
T2 | the data type of output stream, inferred from argument |
in_strm | input data stream |
in_e_strm | end flag stream for input data |
out_strm | output data stream |
out_e_strm | end flag stream for output data |