#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 |