def local_sort(key_arrs, data): # convert StringArray to list(string) to enable swapping in sort l_key_arrs = to_string_list(key_arrs) l_data = to_string_list(data) n_out = len(key_arrs[0]) sort_state_o = SortState(l_key_arrs, n_out, l_data) hpat.timsort.sort(sort_state_o, l_key_arrs, 0, n_out, l_data) cp_str_list_to_array(key_arrs, l_key_arrs) cp_str_list_to_array(data, l_data)
def local_sort(key_arrs, data, ascending=True): # convert StringArray to list(string) to enable swapping in sort l_key_arrs = to_string_list(key_arrs) l_data = to_string_list(data) n_out = len(key_arrs[0]) hpat.timsort.sort(l_key_arrs, 0, n_out, l_data) if not ascending: hpat.timsort.reverseRange(l_key_arrs, 0, n_out, l_data) cp_str_list_to_array(key_arrs, l_key_arrs) cp_str_list_to_array(data, l_data)