#include "xf_database/merge_join.hpp"
template < typename KEY_T, typename LEFT_FIELD_T, typename RIGHT_FIELD_T > void mergeJoin ( bool isascend, hls::stream <KEY_T>& left_strm_in_key, hls::stream <LEFT_FIELD_T>& left_strm_in_field, hls::stream <bool>& left_e_strm, hls::stream <KEY_T>& right_strm_in_key, hls::stream <RIGHT_FIELD_T>& right_strm_in_field, hls::stream <bool>& right_e_strm, hls::stream <KEY_T>& left_strm_out_key, hls::stream <LEFT_FIELD_T>& left_strm_out_field, hls::stream <KEY_T>& right_strm_out_key, hls::stream <RIGHT_FIELD_T>& right_strm_out_field, hls::stream <bool>& out_e_strm )
merge join function for sorted tables without duplicated key in the left table
Parameters:
KEY_T | the type of the key of left table |
LEFT_FIELD_T | the type of the field of left table |
RIGHT_FIELD_T | the type of the field of right table |
isascend | the flag to show if the input tables are ascend or descend tables |
left_strm_in_key | the key stream of the left input table |
left_strm_in_field | the field stream of the left input table |
left_e_strm | the end flag stream to mark the end of left input table |
right_strm_in_key | the key stream of the right input table |
right_strm_in_field | the field stream of the right input table |
right_e_strm | the end flag stream to mark the end of right input table |
left_strm_out_key | the output key stream of left table |
left_strm_out_field | the output field stream of left table |
right_strm_out_key | the output key stream of right table |
right_strm_out_field | the output field stream of right |
out_e_strm | the end flag stream to mark the end of out table |