dlvhex
2.5.0
|
#include <cassert>
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 BM_ALIGN16 |
Definition at line 124 of file bmdef.h.
Referenced by bm::combine_any_operation_with_block(), bm::combine_count_operation_with_block(), bm::sse2_bit_block_calc_count_change(), bm::sse2_bit_count(), and bm::sse2_bit_count_op().
#define BM_ALIGN16ATTR |
Definition at line 125 of file bmdef.h.
Referenced by bm::combine_any_operation_with_block(), bm::combine_count_operation_with_block(), bm::sse2_bit_block_calc_count_change(), bm::sse2_bit_count(), and bm::sse2_bit_count_op().
#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 |
#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 ) |
Definition at line 75 of file bmdef.h.
Referenced by bm::blocks_manager< Alloc >::set_block(), and bm::blocks_manager< Alloc >::set_block_bit().
#define BMPTR_SETBIT0 | ( | ptr | ) | ( ((bm::id64_t)ptr) | 1 ) |
Definition at line 74 of file bmdef.h.
Referenced by bm::blocks_manager< Alloc >::set_block(), and bm::blocks_manager< Alloc >::set_block_gap().
#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().
#define BMSET_PTRGAP | ( | ptr | ) | ptr = (bm::word_t*)BMPTR_SETBIT0(ptr) |
#define FULL_BLOCK_ADDR bm::all_set<true>::_block._p |
Definition at line 60 of file bmdef.h.
Referenced by bm::bit_operation_or(), bm::blocks_manager< Alloc >::copy_block(), bm::iterator_deserializer< BV, SerialIterator >::deserialize(), bm::gap_convert_to_bitset_smart(), 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 >::set_block_all_set(), and bm::bvector< Alloc >::set_range_no_check().
#define IS_EMPTY_BLOCK | ( | addr | ) | (addr == 0) |
Definition at line 63 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 62 of file bmdef.h.
Referenced by bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::blocks_manager< Alloc >::block_bitcount(), bm::blocks_manager< Alloc >::block_count_change_func::block_count(), bm::blocks_manager< Alloc >::check_allocate_block(), bm::bvector< Alloc >::check_or_next(), bm::bvector< Alloc >::check_or_next_extract(), bm::bvector< Alloc >::combine_operation_with_block(), bm::blocks_manager< Alloc >::copy_block(), bm::blocks_manager< Alloc >::deoptimize_block(), bm::iterator_deserializer< BV, SerialIterator >::deserialize(), bm::blocks_manager< Alloc >::is_block_one(), bm::blocks_manager< Alloc >::block_any_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_one_func::operator()(), bm::blocks_manager< Alloc >::block_copy_func::operator()(), print_stat(), and bm::bvector< Alloc >::set_range_no_check().
#define IS_VALID_ADDR | ( | addr | ) | (addr && (addr != FULL_BLOCK_ADDR)) |
Definition at line 61 of file bmdef.h.
Referenced by bm::blocks_manager< Alloc >::alloc_bit_block(), bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::bit_operation_xor(), bm::bvector< Alloc >::calc_stat(), bm::blocks_manager< Alloc >::check_allocate_block(), bm::bvector< Alloc >::combine_operation_with_block(), bm::blocks_manager< Alloc >::convert_gap2bitset(), bm::mem_alloc< BA, PA >::free_bit_block(), and bm::mem_alloc< BA, PA >::free_gap_block().