2121#include < hibf/interleaved_bloom_filter.hpp> // for interleaved_bloom_filter
2222#include < hibf/layout/layout.hpp> // for layout
2323#include < hibf/misc/counting_vector.hpp> // for counting_vector
24- #include < hibf/misc/timer.hpp> // for concurrent_timer
25- #include < hibf/platform.hpp> // for HIBF_CONSTEXPR_VECTOR
24+ #include < hibf/misc/md_vector.hpp>
25+ #include < hibf/misc/timer.hpp> // for concurrent_timer
26+ #include < hibf/platform.hpp> // for HIBF_CONSTEXPR_VECTOR
2627
2728namespace seqan ::hibf
2829{
@@ -202,7 +203,7 @@ class hierarchical_interleaved_bloom_filter
202203 * If `j != i` is returned, there is a lower level IBF, bin `b` is a merged bin, and `j` is the ID of the lower
203204 * level IBF in ibf_vector.
204205 */
205- std::vector<std::vector< int64_t > > next_ibf_id;
206+ md_vector< int64_t > next_ibf_id;
206207
207208 /* !\brief Stores for each bin in each IBF of the HIBF the user bin ID.
208209 * \details
@@ -211,7 +212,7 @@ class hierarchical_interleaved_bloom_filter
211212 * lower level IBF.
212213 * Otherwise, the returned value `j` is the corresponding user bin ID.
213214 */
214- std::vector<std::vector< int64_t > > ibf_bin_to_user_bin_id{};
215+ md_vector< int64_t > ibf_bin_to_user_bin_id{};
215216
216217 // !\brief Returns a membership_agent to be used for counting.
217218 membership_agent_type membership_agent () const ;
@@ -280,16 +281,16 @@ class hierarchical_interleaved_bloom_filter::membership_agent_type
280281 {
281282 sum += result[bin];
282283
283- auto const current_filename_index = hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx][ bin];
284+ auto const current_filename_index = hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx, bin];
284285
285286 if (current_filename_index < 0 ) // merged bin
286287 {
287288 if (sum >= threshold)
288- membership_for_impl (values, hibf_ptr->next_ibf_id [ibf_idx][ bin], threshold);
289+ membership_for_impl (values, hibf_ptr->next_ibf_id [ibf_idx, bin], threshold);
289290 sum = 0u ;
290291 }
291292 else if (bin + 1u == result.size () || // last bin
292- current_filename_index != hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx][ bin + 1 ]) // end of split bin
293+ current_filename_index != hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx, bin + 1 ]) // end of split bin
293294 {
294295 if (sum >= threshold)
295296 result_buffer.emplace_back (current_filename_index);
@@ -415,16 +416,16 @@ class hierarchical_interleaved_bloom_filter::counting_agent_type
415416 for (size_t bin{}; bin < result.size (); ++bin)
416417 {
417418 sum += result[bin];
418- auto const current_filename_index = hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx][ bin];
419+ auto const current_filename_index = hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx, bin];
419420
420421 if (current_filename_index < 0 ) // merged bin
421422 {
422423 if (sum >= threshold)
423- bulk_count_impl (values, hibf_ptr->next_ibf_id [ibf_idx][ bin], threshold);
424+ bulk_count_impl (values, hibf_ptr->next_ibf_id [ibf_idx, bin], threshold);
424425 sum = 0u ;
425426 }
426427 else if (bin + 1u == result.size () || // last bin
427- current_filename_index != hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx][ bin + 1 ]) // end of split bin
428+ current_filename_index != hibf_ptr->ibf_bin_to_user_bin_id [ibf_idx, bin + 1 ]) // end of split bin
428429 {
429430 if (sum >= threshold)
430431 result_buffer[current_filename_index] = sum;
0 commit comments