aggregate overload (2) - 2023.1 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.1 English
#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