#include "xf_database/compound_sort.hpp"
template < typename KEY_TYPE, int SORT_LEN, int INSERT_LEN > void compoundSort ( bool order, hls::stream <KEY_TYPE>& inKeyStrm, hls::stream <bool>& inEndStrm, hls::stream <KEY_TYPE>& outKeyStrm, hls::stream <bool>& outEndStrm )
compoundSort sort the key based on insert sort and merge sort.
Parameters:
KEY_TYPE | key type |
SORT_LEN | Maximum support sort length, between 16K to 2M, but it must be an integer power of 2. |
INSERT_LEN | insert sort length, maximum length 1024 (recommend) |
order | 1:sort ascending 0:sort descending |
inKeyStrm | input key stream |
inEndStrm | end flag stream for input key |
outKeyStrm | output key-sorted stream |
outEndStrm | end flag stream for output key |