Collaboration diagram for GAP functions:
|
Classes | |
| struct | bm::gap_len_table< T > |
| Default GAP lengths table. More... | |
| struct | bm::gap_len_table_min< T > |
| Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets. More... | |
Functions | |
| template<typename T> | |
| unsigned | bm::gap_test (const T *buf, unsigned pos) |
| Tests if bit = pos is true. | |
| template<typename T> | |
| unsigned | bm::gap_bit_count (const T *buf, unsigned dsize=0) |
| Calculates number of bits ON in GAP buffer. | |
| template<typename T> | |
| int | bm::gapcmp (const T *buf1, const T *buf2) |
| Lexicographical comparison of GAP buffers. | |
| template<typename T, class F> | |
| unsigned | bm::gap_buff_any_op (const T *vect1, unsigned vect1_mask, const T *vect2, unsigned vect2_mask, F f) |
| Abstract distance test operation for GAP buffers. Receives functor F as a template argument. | |
| template<typename T> | |
| unsigned | bm::gap_set_value (unsigned val, T *buf, unsigned pos, unsigned *is_set) |
| Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument Sets or clears bit in the GAP buffer. | |
| template<typename T> | |
| int | bm::gap_find_in_block (const T *buf, unsigned nbit, bm::id_t *prev) |
| Searches for the next 1 bit in the GAP block. | |
| template<typename T> | |
| void | bm::gap_sub_to_bitset (unsigned *dest, const T *buf) |
| SUB (AND NOT) GAP block to bitblock. | |
| template<typename T> | |
| void | bm::gap_xor_to_bitset (unsigned *dest, const T *buf) |
| XOR GAP block to bitblock. | |
| template<typename T> | |
| void | bm::gap_add_to_bitset (unsigned *dest, const T *buf) |
| Adds(OR) GAP block to bitblock. | |
| template<typename T> | |
| void | bm::gap_and_to_bitset (unsigned *dest, const T *buf) |
| ANDs GAP block to bitblock. | |
| template<typename T> | |
| void | bm::gap_convert_to_bitset (unsigned *dest, const T *buf) |
| GAP block to bitblock conversion. | |
| template<typename T> | |
| void | bm::gap_convert_to_bitset (unsigned *dest, const T *buf, unsigned dest_len) |
| GAP block to bitblock conversion. | |
| template<typename T> | |
| unsigned * | bm::gap_convert_to_bitset_smart (unsigned *dest, const T *buf, id_t set_max) |
| Smart GAP block to bitblock conversion. | |
| template<typename T> | |
| unsigned | bm::gap_control_sum (const T *buf) |
| Calculates sum of all words in GAP block. (For debugging purposes). | |
| template<class T> | |
| void | bm::gap_set_all (T *buf, unsigned set_max, unsigned value) |
| Sets all bits to 0 or 1 (GAP). | |
| template<class T> | |
| void | bm::gap_init_range_block (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max) |
| Init gap block so it has block in it (can be whole block). | |
| template<typename T> | |
| void | bm::gap_invert (T *buf) |
| Inverts all bits in the GAP buffer. | |
| template<typename T> | |
| bool | bm::gap_is_all_zero (const T *buf, unsigned set_max) |
| Temporary inverts all bits in the GAP buffer.Checks if GAP block is all-zero. | |
| template<typename T> | |
| bool | bm::gap_is_all_one (const T *buf, unsigned set_max) |
| Checks if GAP block is all-one. | |
| template<typename T> | |
| unsigned | bm::gap_length (const T *buf) |
| Returs GAP block length. | |
| template<typename T> | |
| unsigned | bm::gap_capacity (const T *buf, const T *glevel_len) |
| Returs GAP block capacity. | |
| template<typename T> | |
| unsigned | bm::gap_limit (const T *buf, const T *glevel_len) |
| Returs GAP block capacity limit. | |
| template<typename T> | |
| unsigned | bm::gap_level (const T *buf) |
| Returs GAP blocks capacity level. | |
| template<typename T> | |
| void | bm::set_gap_level (T *buf, unsigned level) |
| Sets GAP block capacity level. | |
| template<typename T> | |
| int | bm::gap_calc_level (int len, const T *glevel_len) |
| Calculates GAP block capacity level. | |
| template<typename T> | |
| unsigned | bm::gap_free_elements (const T *buf, const T *glevel_len) |
| Returns number of free elements in GAP block array. Difference between GAP block capacity on this level and actual GAP length. | |
| template<typename T> | |
| unsigned | bm::bit_convert_to_gap (T *dest, const unsigned *src, bm::id_t bits, unsigned dest_len) |
| Converts bit block to GAP. | |
| template<class T, class F> | |
| void | bm::for_each_gap_dbit (const T *buf, F &func) |
| Iterate gap block as delta-bits with a functor. | |
| template<typename D, typename T> | |
| D | bm::gap_convert_to_arr (D *dest, const T *buf, unsigned dest_len, bool invert=false) |
| Convert gap block into array of ints corresponding to 1 bits. | |
| gap_word_t * | bm::gap_operation_and (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) |
| GAP AND operation. | |
| unsigned | bm::gap_operation_any_and (const gap_word_t *vect1, const gap_word_t *vect2) |
| GAP AND operation test. | |
| gap_word_t * | bm::gap_operation_xor (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) |
| GAP XOR operation. | |
| unsigned | bm::gap_operation_any_xor (const gap_word_t *vect1, const gap_word_t *vect2) |
| GAP XOR operation test. | |
| gap_word_t * | bm::gap_operation_or (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) |
| GAP OR operation. | |
| gap_word_t * | bm::gap_operation_sub (const gap_word_t *vect1, const gap_word_t *vect2, gap_word_t *tmp_buf, unsigned &dsize) |
| GAP SUB (AND NOT) operation. | |
| unsigned | bm::gap_operation_any_sub (const gap_word_t *vect1, const gap_word_t *vect2) |
| GAP SUB operation test. | |
| template<typename T> | |
| unsigned | bm::gap_overhead (const T *length, const T *length_end, const T *glevel_len) |
| Convert bit block into an array of ints corresponding to 1 bits Calculates memory overhead for number of gap blocks sharing the same memory allocation table (level lengths table). | |
| template<typename T> | |
| bool | bm::improve_gap_levels (const T *length, const T *length_end, T *glevel_len) |
| Finds optimal gap blocks lengths. | |
|
||||||||||||||||||||||||
|
Converts bit block to GAP.
Definition at line 2266 of file bmfunc.h. References BM_ASSERT, len, and mask. Referenced by bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(). |
|
||||||||||||||||
|
Iterate gap block as delta-bits with a functor.
|
|
||||||||||||||||
|
Adds(OR) GAP block to bitblock.
Definition at line 1495 of file bmfunc.h. References BM_ASSERT, and bm::or_bit_block(). Referenced by bm::gap_convert_to_bitset(). |
|
||||||||||||||||
|
ANDs GAP block to bitblock.
Definition at line 1527 of file bmfunc.h. References BM_ASSERT, and bm::sub_bit_block(). |
|
||||||||||||||||
|
Calculates number of bits ON in GAP buffer.
Definition at line 618 of file bmfunc.h. Referenced by gap_vector::bit_count(), bm::blocks_manager< Alloc, MS >::block_bitcount(), bm::combine_count_operation_with_block(), bm::bvector< Alloc, MS >::combine_operation_with_block(), and bm::serializer< BV >::encode_gap_block(). |
|
||||||||||||||||||||||||||||
|
Abstract distance test operation for GAP buffers. Receives functor F as a template argument.
Definition at line 955 of file bmfunc.h. References f(), and bm::gap_max_bits. Referenced by bm::gap_operation_any_and(), bm::gap_operation_any_sub(), and bm::gap_operation_any_xor(). |
|
||||||||||||||||
|
Calculates GAP block capacity level.
Definition at line 2194 of file bmfunc.h. References BM_ASSERT, and bm::gap_levels. Referenced by bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::deserializer< BV, DEC >::deserialize_gap(), bm::gap_overhead(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), and bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(). |
|
||||||||||||||||
|
Returs GAP block capacity.
Definition at line 2136 of file bmfunc.h. Referenced by bm::bvector< Alloc, MS >::calc_stat(), bm::mem_alloc< BA, PA >::free_gap_block(), bm::gap_free_elements(), and bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(). |
|
||||||||||
|
Calculates sum of all words in GAP block. (For debugging purposes).
Definition at line 1962 of file bmfunc.h. References BM_ASSERT. Referenced by gap_vector::control(). |
|
||||||||||||||||||||||||
|
Convert gap block into array of ints corresponding to 1 bits.
Definition at line 2411 of file bmfunc.h. References invert. Referenced by bm::bvector< Alloc, MS >::combine_operation_with_block(), and bm::serializer< BV >::encode_gap_block(). |
|
||||||||||||||||||||
|
GAP block to bitblock conversion.
Definition at line 1919 of file bmfunc.h. References bm::gap_add_to_bitset(). |
|
||||||||||||||||
|
GAP block to bitblock conversion.
Definition at line 1903 of file bmfunc.h. References bm::bit_block_set(), and bm::gap_add_to_bitset(). Referenced by bm::miniset< A, N >::convert_buf(), bm::blocks_manager< Alloc, MS >::convert_gap2bitset(), gap_vector::convert_to_bitset(), bm::deserializer< BV, DEC >::deserialize_gap(), bm::gap_convert_to_bitset_smart(), and bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(). |
|
||||||||||||||||||||
|
Smart GAP block to bitblock conversion. Checks if GAP block is ALL-ZERO or ALL-ON. In those cases returns pointer on special static bitblocks.
Definition at line 1940 of file bmfunc.h. References FULL_BLOCK_ADDR, and bm::gap_convert_to_bitset(). |
|
||||||||||||||||||||
|
Searches for the next 1 bit in the GAP block.
Definition at line 1190 of file bmfunc.h. References BM_ASSERT, bm::gap_bfind(), and bm::gap_max_bits. |
|
||||||||||||||||
|
Returns number of free elements in GAP block array. Difference between GAP block capacity on this level and actual GAP length.
Definition at line 2215 of file bmfunc.h. References bm::gap_capacity(), bm::gap_length(), and len. |
|
||||||||||||||||||||||||||||
|
Init gap block so it has block in it (can be whole block).
Definition at line 2014 of file bmfunc.h. References BM_ASSERT, and bm::gap_set_all(). Referenced by bm::bvector< Alloc, MS >::set_range_no_check(). |
|
||||||||||
|
Inverts all bits in the GAP buffer.
Definition at line 2064 of file bmfunc.h. Referenced by bm::gap_operation_or(), and bm::blocks_manager< Alloc, MS >::block_invert_func::operator()(). |
|
||||||||||||||||
|
Checks if GAP block is all-one.
Definition at line 2110 of file bmfunc.h. Referenced by bm::blocks_manager< Alloc, MS >::is_block_one(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), and bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(). |
|
||||||||||||||||
|
Temporary inverts all bits in the GAP buffer.Checks if GAP block is all-zero.
Definition at line 2096 of file bmfunc.h. Referenced by bm::combine_any_operation_with_block(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::blocks_manager< Alloc, MS >::is_block_zero(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(), and bm::blocks_manager< Alloc, MS >::block_any_func::operator()(). |
|
||||||||||
|
||||||||||
|
Returs GAP blocks capacity level.
Definition at line 2164 of file bmfunc.h. Referenced by bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::blocks_manager< Alloc, MS >::extend_gap_block(), and bm::blocks_manager< Alloc, MS >::block_copy_func::operator()(). |
|
||||||||||||||||
|
Returs GAP block capacity limit.
Definition at line 2151 of file bmfunc.h. Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::combine_or(), bm::combine_sub(), bm::combine_xor(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), and bm::bvector< Alloc, MS >::set_bit_no_check(). |
|
||||||||||||||||||||
|
GAP AND operation. Function performs AND logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 2912 of file bmfunc.h. References bm::and_op(), and bm::gap_buff_op(). Referenced by gap_vector::combine_and(), and bm::combine_count_operation_with_block(). |
|
||||||||||||
|
GAP AND operation test. Function performs AND logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 2935 of file bmfunc.h. References bm::and_op(), and bm::gap_buff_any_op(). Referenced by bm::combine_any_operation_with_block(). |
|
||||||||||||
|
GAP SUB operation test. Function performs AND logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 3062 of file bmfunc.h. References bm::and_op(), and bm::gap_buff_any_op(). Referenced by bm::combine_any_operation_with_block(). |
|
||||||||||||
|
GAP XOR operation test. Function performs AND logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 2983 of file bmfunc.h. References bm::gap_buff_any_op(), and bm::xor_op(). Referenced by bm::combine_any_operation_with_block(). |
|
||||||||||||||||||||
|
GAP OR operation. Function performs OR logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 3008 of file bmfunc.h. References bm::and_op(), bm::gap_buff_op(), and bm::gap_invert(). Referenced by bm::combine_any_operation_with_block(), bm::combine_count_operation_with_block(), and gap_vector::combine_or(). |
|
||||||||||||||||||||
|
GAP SUB (AND NOT) operation. Function performs SUB logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 3038 of file bmfunc.h. References bm::and_op(), and bm::gap_buff_op(). Referenced by bm::combine_count_operation_with_block(), and gap_vector::combine_sub(). |
|
||||||||||||||||||||
|
GAP XOR operation. Function performs XOR logical oparation on gap vectors. If possible function put the result into vect1 and returns this pointer. Otherwise result is put into tmp_buf, which should be twice of the vector size.
Definition at line 2959 of file bmfunc.h. References bm::gap_buff_op(), and bm::xor_op(). Referenced by bm::combine_count_operation_with_block(), and gap_vector::combine_xor(). |
|
||||||||||||||||||||
|
Convert bit block into an array of ints corresponding to 1 bits Calculates memory overhead for number of gap blocks sharing the same memory allocation table (level lengths table).
Definition at line 4422 of file bmfunc.h. References BM_ASSERT, bm::gap_calc_level(), bm::gap_levels, and len. |
|
||||||||||||||||||||
|
Sets all bits to 0 or 1 (GAP).
Definition at line 1993 of file bmfunc.h. References BM_ASSERT. Referenced by bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::gap_init_range_block(), bm::miniset< A, N >::init_gapbuf(), bm::blocks_manager< Alloc, MS >::block_zero_func::operator()(), and bm::deseriaizer_base< DEC >::read_gap_block(). |
|
||||||||||||||||||||||||
|
Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument Sets or clears bit in the GAP buffer.
Definition at line 1098 of file bmfunc.h. References BM_ASSERT, bm::gap_bfind(), bm::gap_max_bits, and memmove. Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), gap_vector::clear_bit(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::combine_or(), bm::combine_sub(), bm::combine_xor(), bm::deseriaizer_base< DEC >::read_gap_block(), bm::miniset< A, N >::set(), gap_vector::set_bit(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), and bm::bvector< Alloc, MS >::set_bit_no_check(). |
|
||||||||||||||||
|
SUB (AND NOT) GAP block to bitblock.
Definition at line 1431 of file bmfunc.h. References BM_ASSERT, and bm::sub_bit_block(). |
|
||||||||||||||||
|
Tests if bit = pos is true.
Definition at line 454 of file bmfunc.h. References BM_ASSERT, and bm::gap_max_bits. Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), bm::blocks_manager< Alloc, MS >::block_count_change_func::block_count(), bm::combine_sub(), bm::combine_xor(), bm::bvector< Alloc, MS >::get_bit(), gap_vector::is_bit_true(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), gap_vector::test(), and bm::miniset< A, N >::test(). |
|
||||||||||||||||
|
XOR GAP block to bitblock.
Definition at line 1463 of file bmfunc.h. References BM_ASSERT, and bm::xor_bit_block(). |
|
||||||||||||||||
|
Lexicographical comparison of GAP buffers.
Definition at line 806 of file bmfunc.h. Referenced by gap_vector::compare(). |
|
||||||||||||||||||||
|
Finds optimal gap blocks lengths.
Definition at line 4450 of file bmfunc.h. References BM_ASSERT. Referenced by OptimGAPTest(), and bm::bvector< Alloc, MS >::optimize_gap_size(). |
|
||||||||||||||||
|
Sets GAP block capacity level.
Definition at line 2177 of file bmfunc.h. References BM_ASSERT, and bm::gap_levels. Referenced by bm::bvector< Alloc, MS >::combine_operation_with_block(), and bm::deserializer< BV, DEC >::deserialize_gap(). |
1.4.6
Modified on Mon Dec 07 16:24:37 2009 by modify_doxy.py rev. 173732