Set algebra algorithms using bit-vectors, arrays. Binary metrics and distances. Random sub-sets.
◆ agg_opt_bvect_and_countsPre-defined aggregator options for results plus counts operation.
Definition at line 103 of file bmaggregator.h.
◆ agg_opt_disable_bvects_and_countsPre-defined aggregator options to disable both intermediate results and counts.
Definition at line 86 of file bmaggregator.h.
◆ agg_opt_only_countsPre-defined aggregator options for counts-only (results dropped) operation.
Definition at line 95 of file bmaggregator.h.
◆ aggregator_pipeline_execute()template<typename Agg , typename It >
void bm::aggregator_pipeline_execute ( It first, It last )Experimental method ro run multiple aggregators in sync.
Pipeleine algorithm walts the sequence of iterators (pointers on aggregators) and run them all via aggregator<>::run_step() method
Definition at line 874 of file bmaggregator.h.
References first(), i, last(), and bm::set_sub_array_size.
◆ any_and()template<class BV >
BV::size_type bm::any_and ( const BV & bv1, const BV & bv2 ) noexcept ◆ any_or()template<class BV >
BV::size_type bm::any_or ( const BV & bv1, const BV & bv2 ) noexcept ◆ any_sub()template<class BV >
BV::size_type bm::any_sub ( const BV & bv1, const BV & bv2 ) noexcept ◆ any_xor()template<class BV >
BV::size_type bm::any_xor ( const BV & bv1, const BV & bv2 ) noexcept ◆ combine_and()template<class BV , class It >
void bm::combine_and ( BV & bv, It first, It last )AND Combine bitvector and the iterable sequence.
Algorithm combines bvector with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.
Definition at line 1365 of file bmalgo_impl.h.
References bm::combine_or(), first(), and last().
Referenced by bm::aggregator< BV >::combine_and().
◆ combine_and_sorted()template<class BV , class It >
void bm::combine_and_sorted ( BV & bv, It first, It last )AND Combine bitvector and the iterable sequence.
Algorithm combines bvector with sorted sequence of integers (represents another set).
Definition at line 1333 of file bmalgo_impl.h.
References BM_ASSERT, first(), last(), and prev().
Referenced by AndOperationsTest().
◆ combine_or()template<class BV , class It >
void bm::combine_or ( BV & bv, It first, It last )OR Combine bitvector and the iterable sequence.
Algorithm combines bvector with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.
Definition at line 1080 of file bmalgo_impl.h.
References bm::block_range_scan(), BM_ASSERT, BMGAP_PTR, first(), bm::gap_limit(), bm::gap_set_value(), bm::id_max, last(), bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift.
Referenced by BvectorBitForEachTest(), BvectorBulkSetTest(), bm::combine_and(), bm::aggregator< BV >::combine_or(), bm::iterator_deserializer< BV, SerialIterator >::load_id_list(), OrOperationsTest(), RangeForEachTest(), and ResizeTest().
◆ combine_sub()template<class BV , class It >
void bm::combine_sub ( BV & bv, It first, It last )SUB Combine bitvector and the iterable sequence.
Algorithm combines bvector with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.
Definition at line 1248 of file bmalgo_impl.h.
References bm::block_range_scan(), BM_ASSERT, BMGAP_PTR, first(), bm::gap_limit(), bm::gap_set_value(), bm::gap_test_unr(), bm::id_max, last(), bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift.
Referenced by bm::iterator_deserializer< BV, SerialIterator >::load_id_list().
◆ combine_xor()template<class BV , class It >
void bm::combine_xor ( BV & bv, It first, It last )XOR Combine bitvector and the iterable sequence.
Algorithm combines bvector with sequence of integers (represents another set). When the agrument set is sorted this method can give serious increase in performance.
Definition at line 1161 of file bmalgo_impl.h.
References bm::block_range_scan(), BM_ASSERT, BMGAP_PTR, first(), bm::gap_limit(), bm::gap_set_value(), bm::gap_test_unr(), bm::id_max, last(), bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift.
Referenced by XorOperationsTest().
◆ count_and()template<class BV >
BV::size_type bm::count_and ( const BV & bv1, const BV & bv2 ) noexcept ◆ count_intervals()template<class BV >
BV::size_type bm::count_intervals ( const BV & bv ) ◆ count_or()template<class BV >
BV::size_type bm::count_or ( const BV & bv1, const BV & bv2 ) noexcept ◆ count_sub()template<class BV >
BV::size_type bm::count_sub ( const BV & bv1, const BV & bv2 ) noexcept ◆ count_xor() ◆ export_array()template<typename BV , class It >
void bm::export_array ( BV & bv, It first, It last )Export bitset from an array of binary data representing the bit vector.
Input array can be array of ints, chars or other native C types. Method works with iterators, which makes it compatible with STL containers and C arrays
Definition at line 1423 of file bmalgo_impl.h.
References BM_ASSERT, bm::BM_BIT, first(), i, last(), bm::set_block_size, bm::set_total_blocks, and tmp.
Referenced by ExportTest().
◆ for_each_bit()template<class BV , class Func >
int bm::for_each_bit ( const BV & bv, Func & bit_functor ) ◆ for_each_bit_range()template<class BV , class Func >
int bm::for_each_bit_range ( const BV & bv, typename BV::size_type left, typename BV::size_type right, Func & bit_functor ) ◆ rank_range_split()template<typename BV , typename PairVect >
void bm::rank_range_split ( const BV & bv, typename BV::size_type rank, PairVect & target_v )Algorithm to identify bit-vector ranges (splits) for the rank.
Rank range split algorithm walks the bit-vector to create list of non-overlapping ranges [s1..e1],[s2..e2]...[sN...eN] with requested (rank) number of 1 bits. All ranges should be the same popcount weight, except the last one, which may have less. Scan is progressing from left to right so result ranges will be naturally sorted.
Definition at line 394 of file bmalgo.h.
References first(), and last().
Referenced by RankRangeSplitTest().
◆ visit_each_bit() ◆ visit_each_bit_range() ◆ agg_compute_counts ◆ agg_disable_counts ◆ agg_disable_result_bvectors ◆ agg_disable_search_masks ◆ agg_produce_result_bvectorsRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4