38 #include <thrust/sort.h>
39 #include <thrust/scan.h>
40 #include <thrust/iterator/constant_iterator.h>
41 #include <thrust/iterator/counting_iterator.h>
66 template <
typename system_tag,
typename qgram_index_type,
typename query_iterator,
typename index_iterator>
92 template <
typename qgram_index_type,
typename query_iterator,
typename index_iterator>
99 typedef typename qgram_index_type::coord_type
coord_type;
120 const qgram_index_type& qgram_index,
122 const query_iterator queries,
123 const index_iterator indices);
129 template <
typename hits_iterator>
145 template <
typename hits_iterator,
typename output_iterator>
148 const hits_iterator hits,
149 output_iterator diags,
150 const uint32 interval = 1);
168 template <
typename hits_iterator,
typename output_iterator,
typename count_iterator>
172 const hits_iterator hits,
173 output_iterator merged_hits,
174 count_iterator merged_counts);
213 template <
typename qgram_index_type,
typename query_iterator,
typename index_iterator>
239 const qgram_index_type& qgram_index,
241 const query_iterator queries,
242 const index_iterator indices);
248 template <
typename hits_iterator>
264 template <
typename hits_iterator,
typename output_iterator>
267 const hits_iterator hits,
268 output_iterator diags,
269 const uint32 interval = 1);
287 template <
typename hits_iterator,
typename output_iterator,
typename count_iterator>
291 const hits_iterator hits,
292 output_iterator merged_hits,
293 count_iterator merged_counts);
315 template <
typename qgram_index_type,
typename query_iterator,
typename index_iterator>
318 template <
typename qgram_index_type,
typename query_iterator,
typename index_iterator>