dlvhex  2.5.0
vs10/bm/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 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(ptr)   ( BMPTR_TESTBIT0(ptr)!=0 )
#define BMFORCEINLINE   inline
#define BM_ALIGN16
#define BM_ALIGN16ATTR

Define Documentation

#define BM_IS_GAP (   ptr)    ( BMPTR_TESTBIT0(ptr)!=0 )

Definition at line 88 of file bmdef.h.

Referenced by bm::blocks_manager< Alloc >::block_bitcount(), bm::blocks_manager< Alloc >::block_count_change_func::block_count(), bm::bvector< Alloc >::calc_stat(), bm::blocks_manager< Alloc >::check_allocate_block(), bm::bvector< Alloc >::check_or_next(), bm::bvector< Alloc >::check_or_next_extract(), bm::combine_count_and_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector< Alloc >::combine_count_operation_with_block(), bm::bvector< Alloc >::combine_operation(), bm::bvector< Alloc >::combine_operation_with_block(), bm::bvector< Alloc >::compare(), bm::blocks_manager< Alloc >::copy_block(), bm::bvector< Alloc >::count_range(), bm::blocks_manager< Alloc >::deoptimize_block(), bm::iterator_deserializer< BV, SerialIterator >::deserialize(), bm::distance_operation_any(), bm::blocks_manager< Alloc >::free_block(), bm::bvector< Alloc >::get_bit(), bm::random_subset< BV >::get_subset(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_up(), bm::blocks_manager< Alloc >::is_block_one(), bm::blocks_manager< Alloc >::is_block_zero(), bm::blocks_manager< Alloc >::block_any_func::operator()(), bm::blocks_manager< Alloc >::gap_level_func::operator()(), bm::blocks_manager< Alloc >::block_opt_func::operator()(), bm::blocks_manager< Alloc >::block_invert_func::operator()(), bm::blocks_manager< Alloc >::block_zero_func::operator()(), bm::blocks_manager< Alloc >::block_free_func::operator()(), bm::blocks_manager< Alloc >::block_copy_func::operator()(), bm::serializer< BV >::serialize(), and bm::bvector< Alloc >::set_range_no_check().

#define BMFORCEINLINE   inline

Definition at line 110 of file bmdef.h.

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

Definition at line 86 of file bmdef.h.

Referenced by bm::bvector< Alloc >::and_bit_no_check(), bm::blocks_manager< Alloc >::block_bitcount(), bm::blocks_manager< Alloc >::block_count_change_func::block_count(), bm::bvector< Alloc >::calc_stat(), bm::bvector< Alloc >::check_or_next(), bm::bvector< Alloc >::check_or_next_extract(), bm::combine_any_operation_with_block(), bm::combine_count_and_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector< Alloc >::combine_operation_with_block(), bm::combine_or(), bm::combine_sub(), bm::combine_xor(), bm::bvector< Alloc >::compare(), bm::blocks_manager< Alloc >::convert_gap2bitset(), bm::blocks_manager< Alloc >::copy_bit_block(), bm::blocks_manager< Alloc >::copy_block(), bm::bvector< Alloc >::count_range(), bm::deserializer< BV, DEC >::deserialize_gap(), bm::export_array(), bm::blocks_manager< Alloc >::free_block(), bm::bvector< Alloc >::get_bit(), bm::random_subset< BV >::get_subset(), bm::blocks_manager< Alloc >::is_block_one(), bm::blocks_manager< Alloc >::is_block_zero(), bm::blocks_manager< Alloc >::block_any_func::operator()(), bm::blocks_manager< Alloc >::gap_level_func::operator()(), bm::blocks_manager< Alloc >::block_opt_func::operator()(), bm::blocks_manager< Alloc >::block_invert_func::operator()(), bm::blocks_manager< Alloc >::block_zero_func::operator()(), bm::blocks_manager< Alloc >::block_free_func::operator()(), bm::blocks_manager< Alloc >::block_copy_func::operator()(), print_stat(), bm::bvector< Alloc >::enumerator::search_in_gapblock(), bm::serializer< BV >::serialize(), bm::bvector< Alloc >::set_bit_conditional_impl(), bm::bvector< Alloc >::set_bit_no_check(), and bm::blocks_manager< Alloc >::set_gap_block().

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

Definition at line 76 of file bmdef.h.

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