include/util/bitset/bmdef.h File Reference

#include <cassert>

Include dependency graph for bmdef.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define BM_ASSERT   assert
#define FULL_BLOCK_ADDR   bm::all_set<true>::_block._p
#define IS_VALID_ADDR(addr)   (addr && (addr != FULL_BLOCK_ADDR))
#define IS_FULL_BLOCK(addr)   (addr == FULL_BLOCK_ADDR)
#define IS_EMPTY_BLOCK(addr)   (addr == 0)
#define BMPTR_SETBIT0(ptr)   ( ((bm::id64_t)ptr) | 1 )
#define BMPTR_CLEARBIT0(ptr)   ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )
#define BMPTR_TESTBIT0(ptr)   ( ((bm::id64_t)ptr) & 1 )
#define BMGAP_PTR(ptr)   ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))
#define BMSET_PTRGAP(ptr)   ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)
#define BM_IS_GAP(obj, ptr, idx)   ( BMPTR_TESTBIT0(ptr)!=0 )
#define BMFORCEINLINE   inline
#define BM_ALIGN16
#define BM_ALIGN16ATTR
#define BM_INCWORD_BITCOUNT(cnt, w)


Define Documentation

#define BM_ALIGN16
 

Definition at line 130 of file bmdef.h.

Referenced by bm::sse2_bit_block_calc_count_change(), bm::sse2_bit_count(), and bm::sse2_bit_count_op().

#define BM_ALIGN16ATTR
 

Definition at line 131 of file bmdef.h.

Referenced by bm::sse2_bit_block_calc_count_change(), bm::sse2_bit_count(), and bm::sse2_bit_count_op().

#define BM_ASSERT   assert
 

Definition at line 47 of file bmdef.h.

Referenced by bm::mem_alloc< BA, PA >::alloc_gap_block(), bm::bvector< Alloc, MS >::and_bit_no_check(), bm::bit_block_any_range(), bm::bit_block_calc_count(), bm::bit_block_calc_count_change(), bm::bit_block_calc_count_range(), bm::bit_convert_to_gap(), bm::bit_count_nonzero_size(), bm::bit_for_each_4(), bm::bit_iblock_make_pcv(), bm::bit_iblock_pcv_stat(), bm::bit_iblock_reduce(), bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::bit_operation_xor(), bm::bitcmp(), bm::blocks_manager< Alloc, MS >::block_opt_func::block_opt_func(), bm::block_range_scan(), bm::globals< T >::bo::bo(), bm::combine_and_sorted(), bm::bvector< Alloc, MS >::combine_operation(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::combine_or(), bm::combine_sub(), bm::combine_xor(), bm::blocks_manager< Alloc, MS >::convert_gap2bitset(), bm::bvector< Alloc, MS >::count_range(), bm::iterator_deserializer< BV, SerialIterator >::deserialize(), bm::operation_deserializer< BV >::deserialize(), bm::deserialize(), bm::serializer< BV >::encode_gap_block(), bm::mem_alloc< BA, PA >::free_gap_block(), bm::bit_out< TEncoder >::gamma(), bm::gap_add_to_bitset(), bm::gap_and_to_bitset(), bm::gap_bfind(), bm::gap_bit_count_range(), bm::gap_bitset_and_any(), bm::gap_bitset_and_count(), bm::gap_bitset_or_any(), bm::gap_bitset_or_count(), bm::gap_bitset_sub_any(), bm::gap_bitset_sub_count(), bm::gap_bitset_xor_any(), bm::gap_bitset_xor_count(), bm::gap_calc_level(), bm::gap_control_sum(), bm::gap_find_in_block(), bm::gap_init_range_block(), bm::blocks_manager< Alloc, MS >::gap_level_func::gap_level_func(), bm::gap_overhead(), bm::gap_set_all(), bm::gap_set_value(), bm::gap_sub_to_bitset(), bm::gap_test(), bm::gap_xor_to_bitset(), bm::bit_grabber< T, BPC >::get(), bm::serial_stream_iterator< DEC >::get_arr_bit(), bm::bvector< Alloc, MS >::get_bit(), bm::serial_stream_iterator< DEC >::get_bit_block(), bm::serial_stream_iterator< DEC >::get_bit_block_AND(), bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA(), bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR(), bm::serial_stream_iterator< DEC >::get_bit_block_OR(), bm::serial_stream_iterator< DEC >::get_bit_block_SUB(), bm::serial_stream_iterator< DEC >::get_bit_block_XOR(), bm::blocks_manager< Alloc, MS >::get_block_coord(), bm::serial_stream_iterator< DEC >::get_gap_block(), bm::bvector< Alloc, MS >::enumerator::go_first(), bm::bvector< Alloc, MS >::enumerator::go_up(), bm::improve_gap_levels(), bm::serial_stream_iterator< DEC >::next(), bm::operation2metric(), bm::bvector< Alloc, MS >::insert_iterator::operator=(), bm::bvector< Alloc, MS >::operator[](), bm::bit_out< TEncoder >::put_bit(), bm::blocks_manager< Alloc, MS >::reserve_top_blocks(), bm::bvector< Alloc, MS >::enumerator::search_in_bitblock(), bm::bvector< Alloc, MS >::enumerator::search_in_gapblock(), bm::serializer< BV >::serialize(), bm::bvector< Alloc, MS >::set_bit(), bm::bvector< Alloc, MS >::set_bit_and(), bm::bvector< Alloc, MS >::set_bit_conditional(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), bm::blocks_manager< Alloc, MS >::set_block_ptr(), bm::set_gap_level(), bm::bvector< Alloc, MS >::set_range(), bm::setop2op(), bm::bvector_mini< A >::swap(), bm::blocks_manager< Alloc, MS >::swap(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore(), bm::vect_bit_transpose(), and bm::xor_swap().

#define BM_IS_GAP obj,
ptr,
idx   )     ( BMPTR_TESTBIT0(ptr)!=0 )
 

Definition at line 94 of file bmdef.h.

Referenced by bm::blocks_manager< Alloc, MS >::block_bitcount(), bm::blocks_manager< Alloc, MS >::block_count_change_func::block_count(), bm::bvector< Alloc, MS >::calc_stat(), bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::bvector< Alloc, MS >::combine_count_operation_with_block(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::bvector< Alloc, MS >::compare(), bm::bvector< Alloc, MS >::count_range(), bm::blocks_manager< Alloc, MS >::deoptimize_block(), bm::bvector< Alloc, MS >::get_bit(), bm::bvector< Alloc, MS >::enumerator::go_first(), bm::blocks_manager< Alloc, MS >::is_block_one(), bm::blocks_manager< Alloc, MS >::is_block_zero(), bm::blocks_manager< Alloc, MS >::make_bit_block(), bm::blocks_manager< Alloc, MS >::block_free_func::operator()(), bm::blocks_manager< Alloc, MS >::block_zero_func::operator()(), bm::blocks_manager< Alloc, MS >::block_invert_func::operator()(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(), bm::blocks_manager< Alloc, MS >::block_any_func::operator()(), bm::blocks_manager< Alloc, MS >::set_block_all_set(), bm::bvector< Alloc, MS >::set_range_no_check(), and bm::blocks_manager< Alloc, MS >::zero_block().

#define BMFORCEINLINE   inline
 

Definition at line 116 of file bmdef.h.

#define BMGAP_PTR ptr   )     ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))
 

Definition at line 92 of file bmdef.h.

Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), bm::blocks_manager< Alloc, MS >::block_bitcount(), bm::blocks_manager< Alloc, MS >::block_count_change_func::block_count(), bm::bvector< Alloc, MS >::calc_stat(), bm::combine_any_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::combine_or(), bm::combine_sub(), bm::combine_xor(), bm::blocks_manager< Alloc, MS >::convert_gap2bitset(), bm::bvector< Alloc, MS >::count_range(), bm::deserializer< BV, DEC >::deserialize_gap(), bm::export_array(), bm::bvector< Alloc, MS >::get_bit(), bm::blocks_manager< Alloc, MS >::is_block_one(), bm::blocks_manager< Alloc, MS >::is_block_zero(), bm::blocks_manager< Alloc, MS >::make_bit_block(), bm::blocks_manager< Alloc, MS >::block_copy_func::operator()(), bm::blocks_manager< Alloc, MS >::block_free_func::operator()(), bm::blocks_manager< Alloc, MS >::block_zero_func::operator()(), bm::blocks_manager< Alloc, MS >::block_invert_func::operator()(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(), bm::blocks_manager< Alloc, MS >::block_any_func::operator()(), bm::bvector< Alloc, MS >::enumerator::search_in_gapblock(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), bm::bvector< Alloc, MS >::set_bit_no_check(), bm::blocks_manager< Alloc, MS >::set_block_all_set(), bm::bvector< Alloc, MS >::set_range_no_check(), and bm::blocks_manager< Alloc, MS >::zero_block().

#define BMPTR_CLEARBIT0 ptr   )     ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )
 

Definition at line 81 of file bmdef.h.

Referenced by bm::blocks_manager< Alloc, MS >::set_block(), and bm::blocks_manager< Alloc, MS >::set_block_bit().

#define BMPTR_SETBIT0 ptr   )     ( ((bm::id64_t)ptr) | 1 )
 

Definition at line 80 of file bmdef.h.

Referenced by bm::blocks_manager< Alloc, MS >::set_block(), and bm::blocks_manager< Alloc, MS >::set_block_gap().

#define BMPTR_TESTBIT0 ptr   )     ( ((bm::id64_t)ptr) & 1 )
 

Definition at line 82 of file bmdef.h.

Referenced by bm::blocks_manager< Alloc, MS >::is_block_gap().

#define BMSET_PTRGAP ptr   )     ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)
 

Definition at line 93 of file bmdef.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 >::gap_level_func::operator()().

#define FULL_BLOCK_ADDR   bm::all_set<true>::_block._p
 

Definition at line 57 of file bmdef.h.

Referenced by bm::bit_operation_or(), bm::gap_convert_to_bitset_smart(), bm::blocks_manager< Alloc, MS >::block_invert_func::operator()(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), bm::blocks_manager< Alloc, MS >::gap_level_func::operator()(), bm::blocks_manager< Alloc, MS >::set_block_all_set(), and bm::bvector< Alloc, MS >::set_range_no_check().

#define IS_EMPTY_BLOCK addr   )     (addr == 0)
 

Definition at line 60 of file bmdef.h.

Referenced by bm::bit_operation_and(), bm::bit_operation_and_any(), bm::bit_operation_and_count(), bm::bit_operation_or_any(), bm::bit_operation_or_count(), bm::bit_operation_sub_any(), bm::bit_operation_sub_count(), bm::bit_operation_xor_any(), and bm::bit_operation_xor_count().

#define IS_FULL_BLOCK addr   )     (addr == FULL_BLOCK_ADDR)
 

Definition at line 59 of file bmdef.h.

Referenced by bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::blocks_manager< Alloc, MS >::block_bitcount(), bm::blocks_manager< Alloc, MS >::block_count_change_func::block_count(), bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::blocks_manager< Alloc, MS >::deoptimize_block(), bm::blocks_manager< Alloc, MS >::is_block_one(), bm::blocks_manager< Alloc, MS >::block_copy_func::operator()(), bm::blocks_manager< Alloc, MS >::block_one_func::operator()(), bm::blocks_manager< Alloc, MS >::block_zero_func::operator()(), bm::blocks_manager< Alloc, MS >::block_invert_func::operator()(), bm::blocks_manager< Alloc, MS >::block_opt_func::operator()(), bm::blocks_manager< Alloc, MS >::block_any_func::operator()(), print_stat(), and bm::bvector< Alloc, MS >::set_range_no_check().

#define IS_VALID_ADDR addr   )     (addr && (addr != FULL_BLOCK_ADDR))
 

Definition at line 58 of file bmdef.h.

Referenced by bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::bit_operation_xor(), bm::bvector< Alloc, MS >::calc_stat(), bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::blocks_manager< Alloc, MS >::convert_gap2bitset(), bm::mem_alloc< BA, PA >::free_bit_block(), bm::mem_alloc< BA, PA >::free_gap_block(), and bm::blocks_manager< Alloc, MS >::make_bit_block().


Generated on Mon Dec 7 06:38:35 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:21:36 2009 by modify_doxy.py rev. 173732