Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals | Examples

bmdef.h File Reference

#include <assert.h>

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   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 BMRESTRICT
#define BMFORCEINLINE   inline
#define BM_SET_MMX_GUARD   sse2_empty_guard bm_mmx_guard_;


Define Documentation

#define BM_ASSERT   assert
 

Definition at line 14 of file bmdef.h.

Referenced by 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_find_head_tail(), bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::bit_operation_xor(), bm::bitcmp(), bm::globals< T >::bo::bo(), bm::bvector< Alloc, MS >::combine_operation(), bm::bvector_mini< A >::compare(), bm::bvector< Alloc, MS >::count_range(), 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::gap_overhead(), bm::gap_set_all(), bm::gap_set_value(), bm::gap_sub_to_bitset(), bm::gap_test(), bm::gap_xor_to_bitset(), bm::bvector< Alloc, MS >::get_bit(), bm::bvector< Alloc, MS >::enumerator::go_first(), bm::bvector< Alloc, MS >::enumerator::go_up(), bm::improve_gap_levels(), bm::bvector< Alloc, MS >::insert_iterator::operator=(), bm::bvector< Alloc, MS >::operator[](), bm::bvector< Alloc, MS >::set_bit(), bm::bvector< Alloc, MS >::set_bit_and(), bm::bvector< Alloc, MS >::set_bit_conditional(), bm::set_gap_level(), bm::bvector< Alloc, MS >::set_range(), bm::setop2op(), bm::bvector_mini< A >::swap(), and bm::xor_swap().

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

Definition at line 59 of file bmdef.h.

Referenced by bm::bvector< Alloc, MS >::combine_operation(), bm::bvector< Alloc, MS >::combine_operation_with_block(), bm::bvector< Alloc, MS >::compare(), bm::bvector< Alloc, MS >::count_range(), bm::bvector< Alloc, MS >::get_bit(), bm::bvector< Alloc, MS >::enumerator::go_first(), and bm::bvector< Alloc, MS >::enumerator::go_up().

#define BM_SET_MMX_GUARD   sse2_empty_guard bm_mmx_guard_;
 

Definition at line 93 of file bmdef.h.

Referenced by bm::bvector< Alloc, MS >::combine_operation(), bm::bvector< Alloc, MS >::invert(), and bm::bvector< Alloc, MS >::set_range().

#define BMFORCEINLINE   inline
 

Definition at line 79 of file bmdef.h.

Referenced by bm::decoder_little_endian::get_16(), bm::decoder::get_16(), bm::decoder_little_endian::get_32(), bm::decoder::get_32(), bm::decoder_base::get_8(), bm::encoder::put_16(), bm::encoder::put_32(), bm::encoder::put_8(), bm::sse2_empty_guard::sse2_empty_guard(), and bm::sse2_empty_guard::~sse2_empty_guard().

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

Definition at line 57 of file bmdef.h.

Referenced by bm::bvector< Alloc, MS >::compare(), bm::bvector< Alloc, MS >::count_range(), bm::bvector< Alloc, MS >::get_bit(), and bm::bvector< Alloc, MS >::stat().

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

Definition at line 46 of file bmdef.h.

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

Definition at line 45 of file bmdef.h.

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

Definition at line 47 of file bmdef.h.

#define BMRESTRICT
 

Definition at line 70 of file bmdef.h.

Referenced by bm::bit_block_and(), bm::bit_block_or(), bm::bit_block_sub(), bm::bit_block_xor(), bm::bit_convert_to_arr(), bm::bit_convert_to_gap(), and bm::gap_convert_to_arr().

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

Definition at line 58 of file bmdef.h.

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

Definition at line 22 of file bmdef.h.

Referenced by bm::bit_operation_or(), and bm::gap_convert_to_bitset_smart().

#define IS_EMPTY_BLOCK addr   )     (addr == 0)
 

Definition at line 25 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 24 of file bmdef.h.

Referenced by bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), and bm::bvector< Alloc, MS >::stat().

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

Definition at line 23 of file bmdef.h.

Referenced by bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), and bm::bit_operation_xor().


Generated on Sun Aug 5 14:12:28 2007 for BitMagic by  doxygen 1.4.1