~ubuntu-branches/ubuntu/intrepid/bmagic/intrepid

« back to all changes in this revision

Viewing changes to html/a00097.html

  • Committer: Bazaar Package Importer
  • Author(s): Andres Salomon
  • Date: 2008-01-05 23:58:56 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080105235856-2kmxhxkz14qjy9ia
Tags: 3.5.0-1
* New upstream release.
* Add tcpp.dpatch.  This stops tests/stress/t.cpp from including
  ncbi_pch.hpp.  As far as I can tell, NCBI is not used at all, I have
  no idea where that came from..
* Silence some lintian warnings; binary-arch-rules-but-pkg-is-arch-indep
  and ancient-standards-version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
 
<title>BitMagic: BIT functions</title>
 
3
<title>BitMagic: dbg_ptr_allocator Class Reference</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
</head><body>
6
6
<!-- Generated by Doxygen 1.4.1 -->
7
7
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="examples.html">Examples</a></div>
8
 
<h1>BIT functions<br>
9
 
<small>
10
 
[<a class="el" href="a00094.html">BitMagic C++ Library</a>]</small>
11
 
</h1>
12
 
<p>
13
 
Collaboration diagram for BIT functions:<center><table><tr><td><img src="a00097.png" border="0" alt="" usemap="#a00156_map">
14
 
<map name="a00156_map">
15
 
<area href="a00094.html" shape="rect" coords="19,5,152,26" alt="">
16
 
</map></td></tr></table></center>
17
 
<table border="0" cellpadding="0" cellspacing="0">
 
8
<h1>dbg_ptr_allocator Class Reference</h1><table border="0" cellpadding="0" cellspacing="0">
18
9
<tr><td></td></tr>
19
 
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
20
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">bm::bit_count_table&lt; T &gt;</a></td></tr>
21
 
 
22
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers.  <a href="a00046.html#_details">More...</a><br></td></tr>
23
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">bm::block_set_table&lt; T &gt;</a></td></tr>
24
 
 
25
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps all-left/right ON bits masks.  <a href="a00047.html#_details">More...</a><br></td></tr>
26
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">bm::first_bit_table&lt; T &gt;</a></td></tr>
27
 
 
28
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure keeps index of first ON bit for every byte.  <a href="a00067.html#_details">More...</a><br></td></tr>
29
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html">bm::all_set&lt; T &gt;</a></td></tr>
30
 
 
31
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure carries pointer on bit block with all bits 1.  <a href="a00044.html#_details">More...</a><br></td></tr>
32
 
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
33
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga40">BM_INCWORD_BITCOUNT</a>(cnt, w)</td></tr>
34
 
 
35
 
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
36
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga0">bm::word_bitcount64</a> (<a class="el" href="a00092.html#a8">bm::id64_t</a> w)</td></tr>
37
 
 
38
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
39
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga1">bm::wordcmp0</a> (T w1, T w2)</td></tr>
40
 
 
41
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes.  <a href="#ga1"></a><br></td></tr>
42
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
43
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga2">bm::wordcmp</a> (T a, T b)</td></tr>
44
 
 
45
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes.  <a href="#ga2"></a><br></td></tr>
46
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga3">bm::or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
47
 
 
48
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bits to 1 in the bitblock.  <a href="#ga3"></a><br></td></tr>
49
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga4">bm::sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
50
 
 
51
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock.  <a href="#ga4"></a><br></td></tr>
52
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga5">bm::xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
53
 
 
54
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR bit interval to 1 in the bitblock.  <a href="#ga5"></a><br></td></tr>
55
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
56
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga6">bm::gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
57
 
 
58
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block.  <a href="#ga6"></a><br></td></tr>
59
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
60
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga7">bm::gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
61
 
 
62
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block.  <a href="#ga7"></a><br></td></tr>
63
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
64
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga8">bm::gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
65
 
 
66
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block.  <a href="#ga8"></a><br></td></tr>
67
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
68
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga9">bm::gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
69
 
 
70
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block.  <a href="#ga9"></a><br></td></tr>
71
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga10">bm::bit_block_set</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, <a class="el" href="a00092.html#a10">bm::word_t</a> value)</td></tr>
72
 
 
73
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock memset operation.  <a href="#ga10"></a><br></td></tr>
74
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
75
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga11">bm::bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
76
 
 
77
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of BIT buffers.  <a href="#ga11"></a><br></td></tr>
78
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
79
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga12">bm::bit_convert_to_arr</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00092.html#a9">bm::id_t</a> bits, unsigned dest_len)</td></tr>
80
 
 
81
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="#ga12"></a><br></td></tr>
82
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga13">bm::bit_block_calc_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *block, const <a class="el" href="a00092.html#a10">bm::word_t</a> *block_end)</td></tr>
83
 
 
84
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount for bit string.  <a href="#ga13"></a><br></td></tr>
85
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga14">bm::bit_count_change</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> w)</td></tr>
86
 
 
87
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga15">bm::bit_block_calc_count_change</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *block, const <a class="el" href="a00092.html#a10">bm::word_t</a> *block_end)</td></tr>
88
 
 
89
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga16">bm::bit_block_calc_count_range</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *block, <a class="el" href="a00092.html#a10">bm::word_t</a> left, <a class="el" href="a00092.html#a10">bm::word_t</a> right)</td></tr>
90
 
 
91
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
92
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga17">bm::bit_invert</a> (T *start, T *end)</td></tr>
93
 
 
94
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga18">bm::is_bits_one</a> (const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *start, const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *end)</td></tr>
95
 
 
96
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 1.  <a href="#ga18"></a><br></td></tr>
97
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga19">bm::bit_is_all_zero</a> (const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *start, const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *end)</td></tr>
98
 
 
99
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 0.  <a href="#ga19"></a><br></td></tr>
100
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga20">bm::bit_block_copy</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
101
 
 
102
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock copy operation.  <a href="#ga20"></a><br></td></tr>
103
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga21">bm::bit_block_and</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
104
 
 
105
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock AND operation. Function does not analyse availability of source and destination blocks.  <a href="#ga21"></a><br></td></tr>
106
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga22">bm::bit_block_and_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *src2)</td></tr>
107
 
 
108
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ANDs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="#ga22"></a><br></td></tr>
109
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga23">bm::bit_block_xor_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
110
 
 
111
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function XORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="#ga23"></a><br></td></tr>
112
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga24">bm::bit_block_sub_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
113
 
 
114
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function SUBs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="#ga24"></a><br></td></tr>
115
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga25">bm::bit_block_or_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *src2)</td></tr>
116
 
 
117
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function ORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks.  <a href="#ga25"></a><br></td></tr>
118
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga26">bm::bit_operation_and</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
119
 
 
120
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock AND operation.  <a href="#ga26"></a><br></td></tr>
121
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga27">bm::bit_operation_and_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
122
 
 
123
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result.  <a href="#ga27"></a><br></td></tr>
124
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga28">bm::bit_operation_sub_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
125
 
 
126
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result.  <a href="#ga28"></a><br></td></tr>
127
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga29">bm::bit_operation_or_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
128
 
 
129
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result.  <a href="#ga29"></a><br></td></tr>
130
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga30">bm::bit_block_or</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
131
 
 
132
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock OR operation. Function does not analyse availability of source and destination blocks.  <a href="#ga30"></a><br></td></tr>
133
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga31">bm::bit_operation_or</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
134
 
 
135
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL.  <a href="#ga31"></a><br></td></tr>
136
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga32">bm::bit_block_sub</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
137
 
 
138
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock SUB (AND NOT) operation. Function does not analyse availability of source and destination blocks.  <a href="#ga32"></a><br></td></tr>
139
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga33">bm::bit_operation_sub</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
140
 
 
141
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock SUB operation.  <a href="#ga33"></a><br></td></tr>
142
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga34">bm::bit_block_xor</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
143
 
 
144
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plain bitblock XOR operation. Function does not analyse availability of source and destination blocks.  <a href="#ga34"></a><br></td></tr>
145
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga35">bm::bit_operation_xor</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src)</td></tr>
146
 
 
147
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock XOR operation.  <a href="#ga35"></a><br></td></tr>
148
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga36">bm::bit_operation_xor_count</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT src2)</td></tr>
149
 
 
150
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result.  <a href="#ga36"></a><br></td></tr>
151
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga37">bm::bit_find_head_tail</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *data, unsigned *head_idx, unsigned *tail_idx)</td></tr>
152
 
 
153
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inspects bit block for zero words at the head and at the end.  <a href="#ga37"></a><br></td></tr>
154
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga38">bm::bit_find_in_block</a> (const <a class="el" href="a00092.html#a10">bm::word_t</a> *data, unsigned nbit, <a class="el" href="a00092.html#a9">bm::id_t</a> *prev)</td></tr>
155
 
 
156
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the BIT block.  <a href="#ga38"></a><br></td></tr>
157
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename B&gt; </td></tr>
158
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga39">bm::bit_list</a> (T w, B *bits)</td></tr>
159
 
 
160
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes.  <a href="#ga39"></a><br></td></tr>
 
10
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
 
11
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#e0">allocate</a> (size_t n, const void *)</td></tr>
 
12
 
 
13
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#e1">deallocate</a> (void *p, size_t n)</td></tr>
 
14
 
 
15
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#e2">balance</a> ()</td></tr>
 
16
 
 
17
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
 
18
<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#s0">na_</a> = 0</td></tr>
 
19
 
 
20
<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#s1">nf_</a> = 0</td></tr>
 
21
 
161
22
</table>
162
23
<hr><a name="_details"></a><h2>Detailed Description</h2>
163
 
Bit functions implement different opereations on bit blocks and serve as a minimal building blocks. <hr><h2>Define Documentation</h2>
164
 
<a class="anchor" name="ga40" doxytag="bmfunc.h::BM_INCWORD_BITCOUNT"></a><p>
 
24
<dl compact><dt><b>Examples: </b></dt><dd>
 
25
 
 
26
<p>
 
27
<a class="el" href="a00057.html#_a34">sample6.cpp</a>.</dl>
 
28
<p>
 
29
 
 
30
<p>
 
31
Definition at line <a class="el" href="a00151.html#l00077">77</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.<hr><h2>Member Function Documentation</h2>
 
32
<a class="anchor" name="e0" doxytag="dbg_ptr_allocator::allocate"></a><p>
165
33
<table class="mdTable" cellpadding="2" cellspacing="0">
166
34
  <tr>
167
35
    <td class="mdRow">
168
36
      <table cellpadding="0" cellspacing="0" border="0">
169
37
        <tr>
170
 
          <td class="md" nowrap valign="top">#define BM_INCWORD_BITCOUNT          </td>
 
38
          <td class="md" nowrap valign="top">static void* dbg_ptr_allocator::allocate           </td>
171
39
          <td class="md" valign="top">(&nbsp;</td>
172
 
          <td class="md" nowrap valign="top">cnt,         <tr>
 
40
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
 
41
          <td class="mdname" nowrap> <em>n</em>, </td>
 
42
        </tr>
 
43
        <tr>
173
44
          <td class="md" nowrap align="right"></td>
174
45
          <td class="md"></td>
175
 
          <td class="md" nowrap>w&nbsp;</td>
 
46
          <td class="md" nowrap>const void *&nbsp;</td>
 
47
          <td class="mdname" nowrap></td>
 
48
        </tr>
 
49
        <tr>
 
50
          <td class="md"></td>
 
51
          <td class="md">)&nbsp;</td>
 
52
          <td class="md" colspan="2"><code> [inline, static]</code></td>
 
53
        </tr>
 
54
      </table>
 
55
    </td>
 
56
  </tr>
 
57
</table>
 
58
<table cellspacing="5" cellpadding="0" border="0">
 
59
  <tr>
 
60
    <td>
 
61
      &nbsp;
 
62
    </td>
 
63
    <td>
 
64
 
 
65
<p>
 
66
 
 
67
<p>
 
68
Definition at line <a class="el" href="a00151.html#l00083">83</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.
 
69
<p>
 
70
References <a class="el" href="a00151.html#l00109">na_</a>.    </td>
 
71
  </tr>
 
72
</table>
 
73
<a class="anchor" name="e2" doxytag="dbg_ptr_allocator::balance"></a><p>
 
74
<table class="mdTable" cellpadding="2" cellspacing="0">
 
75
  <tr>
 
76
    <td class="mdRow">
 
77
      <table cellpadding="0" cellspacing="0" border="0">
 
78
        <tr>
 
79
          <td class="md" nowrap valign="top">static int dbg_ptr_allocator::balance           </td>
 
80
          <td class="md" valign="top">(&nbsp;</td>
176
81
          <td class="mdname1" valign="top" nowrap>          </td>
177
82
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
178
 
          <td class="md" nowrap></td>
179
 
        </tr>
180
 
      </table>
181
 
    </td>
182
 
  </tr>
183
 
</table>
184
 
<table cellspacing="5" cellpadding="0" border="0">
185
 
  <tr>
186
 
    <td>
187
 
      &nbsp;
188
 
    </td>
189
 
    <td>
190
 
 
191
 
<p>
192
 
<b>Value:</b><div class="fragment"><pre class="fragment">cnt += \
193
 
    <a class="code" href="a00046.html">bm::bit_count_table&lt;true&gt;</a>::_count[(<span class="keywordtype">unsigned</span> char)(w)] + \
194
 
    <a class="code" href="a00046.html">bm::bit_count_table&lt;true&gt;</a>::_count[(<span class="keywordtype">unsigned</span> char)((w) &gt;&gt; 8)] + \
195
 
    <a class="code" href="a00046.html">bm::bit_count_table&lt;true&gt;</a>::_count[(<span class="keywordtype">unsigned</span> char)((w) &gt;&gt; 16)] + \
196
 
    <a class="code" href="a00046.html">bm::bit_count_table&lt;true&gt;</a>::_count[(<span class="keywordtype">unsigned</span> char)((w) &gt;&gt; 24)];
197
 
</pre></div>Define calculates number of 1 bits in 32-bit word. 
198
 
<p>
199
 
Definition at line <a class="el" href="a00106.html#l00167">167</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
200
 
<p>
201
 
Referenced by <a class="el" href="a00106.html#l02522">bm::bit_block_and_count()</a>, <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, <a class="el" href="a00106.html#l02113">bm::bit_block_calc_count_change()</a>, <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, <a class="el" href="a00106.html#l02627">bm::bit_block_or_count()</a>, <a class="el" href="a00106.html#l02592">bm::bit_block_sub_count()</a>, <a class="el" href="a00106.html#l02557">bm::bit_block_xor_count()</a>, and <a class="el" href="a00106.html#l02095">bm::bit_count_change()</a>.    </td>
202
 
  </tr>
203
 
</table>
204
 
<hr><h2>Function Documentation</h2>
205
 
<a class="anchor" name="ga21" doxytag="bm::bit_block_and"></a><p>
206
 
<table class="mdTable" cellpadding="2" cellspacing="0">
207
 
  <tr>
208
 
    <td class="mdRow">
209
 
      <table cellpadding="0" cellspacing="0" border="0">
210
 
        <tr>
211
 
          <td class="md" nowrap valign="top">void bit_block_and           </td>
212
 
          <td class="md" valign="top">(&nbsp;</td>
213
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
214
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
215
 
        </tr>
216
 
        <tr>
217
 
          <td class="md" nowrap align="right"></td>
218
 
          <td class="md"></td>
219
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
220
 
          <td class="mdname" nowrap> <em>src</em></td>
221
 
        </tr>
222
 
        <tr>
223
 
          <td class="md"></td>
224
 
          <td class="md">)&nbsp;</td>
225
 
          <td class="md" colspan="2"><code> [inline]</code></td>
226
 
        </tr>
227
 
      </table>
228
 
    </td>
229
 
  </tr>
230
 
</table>
231
 
<table cellspacing="5" cellpadding="0" border="0">
232
 
  <tr>
233
 
    <td>
234
 
      &nbsp;
235
 
    </td>
236
 
    <td>
237
 
 
238
 
<p>
239
 
Plain bitblock AND operation. Function does not analyse availability of source and destination blocks. 
240
 
<p>
241
 
<dl compact><dt><b>Parameters:</b></dt><dd>
242
 
  <table border="0" cellspacing="2" cellpadding="0">
243
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
244
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block. </td></tr>
245
 
  </table>
246
 
</dl>
247
 
 
248
 
<p>
249
 
Definition at line <a class="el" href="a00106.html#l02488">2488</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
250
 
<p>
251
 
References <a class="el" href="a00105.html#l00070">BMRESTRICT</a>, and <a class="el" href="a00107.html#l00587">VECT_AND_ARR</a>.
252
 
<p>
253
 
Referenced by <a class="el" href="a00106.html#l02663">bm::bit_operation_and()</a>.    </td>
254
 
  </tr>
255
 
</table>
256
 
<a class="anchor" name="ga22" doxytag="bm::bit_block_and_count"></a><p>
257
 
<table class="mdTable" cellpadding="2" cellspacing="0">
258
 
  <tr>
259
 
    <td class="mdRow">
260
 
      <table cellpadding="0" cellspacing="0" border="0">
261
 
        <tr>
262
 
          <td class="md" nowrap valign="top">unsigned bit_block_and_count           </td>
263
 
          <td class="md" valign="top">(&nbsp;</td>
264
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
265
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
266
 
        </tr>
267
 
        <tr>
268
 
          <td class="md" nowrap align="right"></td>
269
 
          <td class="md"></td>
270
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
271
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
272
 
        </tr>
273
 
        <tr>
274
 
          <td class="md" nowrap align="right"></td>
275
 
          <td class="md"></td>
276
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
277
 
          <td class="mdname" nowrap> <em>src2</em></td>
278
 
        </tr>
279
 
        <tr>
280
 
          <td class="md"></td>
281
 
          <td class="md">)&nbsp;</td>
282
 
          <td class="md" colspan="2"><code> [inline]</code></td>
283
 
        </tr>
284
 
      </table>
285
 
    </td>
286
 
  </tr>
287
 
</table>
288
 
<table cellspacing="5" cellpadding="0" border="0">
289
 
  <tr>
290
 
    <td>
291
 
      &nbsp;
292
 
    </td>
293
 
    <td>
294
 
 
295
 
<p>
296
 
Function ANDs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. 
297
 
<p>
298
 
<dl compact><dt><b>Parameters:</b></dt><dd>
299
 
  <table border="0" cellspacing="2" cellpadding="0">
300
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block </td></tr>
301
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
302
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block </td></tr>
303
 
  </table>
304
 
</dl>
305
 
 
306
 
<p>
307
 
Definition at line <a class="el" href="a00106.html#l02522">2522</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
308
 
<p>
309
 
References <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00107.html#l00572">VECT_BITCOUNT_AND</a>.
310
 
<p>
311
 
Referenced by <a class="el" href="a00106.html#l02728">bm::bit_operation_and_count()</a>.    </td>
312
 
  </tr>
313
 
</table>
314
 
<a class="anchor" name="ga13" doxytag="bm::bit_block_calc_count"></a><p>
315
 
<table class="mdTable" cellpadding="2" cellspacing="0">
316
 
  <tr>
317
 
    <td class="mdRow">
318
 
      <table cellpadding="0" cellspacing="0" border="0">
319
 
        <tr>
320
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_block_calc_count           </td>
321
 
          <td class="md" valign="top">(&nbsp;</td>
322
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
323
 
          <td class="mdname" nowrap> <em>block</em>, </td>
324
 
        </tr>
325
 
        <tr>
326
 
          <td class="md" nowrap align="right"></td>
327
 
          <td class="md"></td>
328
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
329
 
          <td class="mdname" nowrap> <em>block_end</em></td>
330
 
        </tr>
331
 
        <tr>
332
 
          <td class="md"></td>
333
 
          <td class="md">)&nbsp;</td>
334
 
          <td class="md" colspan="2"><code> [inline]</code></td>
335
 
        </tr>
336
 
      </table>
337
 
    </td>
338
 
  </tr>
339
 
</table>
340
 
<table cellspacing="5" cellpadding="0" border="0">
341
 
  <tr>
342
 
    <td>
343
 
      &nbsp;
344
 
    </td>
345
 
    <td>
346
 
 
347
 
<p>
348
 
Bitcount for bit string. 
349
 
<p>
350
 
Function calculates number of 1 bits in the given array of words. Make sure the addresses are aligned. 
351
 
<p>
352
 
Definition at line <a class="el" href="a00106.html#l02021">2021</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
353
 
<p>
354
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00106.html#l00178">bm::word_bitcount64()</a>.
355
 
<p>
356
 
Referenced by <a class="el" href="a00106.html#l02781">bm::bit_operation_or_count()</a>, <a class="el" href="a00106.html#l02752">bm::bit_operation_sub_count()</a>, <a class="el" href="a00106.html#l03081">bm::bit_operation_xor_count()</a>, <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>, and <a class="el" href="a00102.html#l02132">bm::bvector&lt; Alloc, MS &gt;::stat()</a>.    </td>
357
 
  </tr>
358
 
</table>
359
 
<a class="anchor" name="ga15" doxytag="bm::bit_block_calc_count_change"></a><p>
360
 
<table class="mdTable" cellpadding="2" cellspacing="0">
361
 
  <tr>
362
 
    <td class="mdRow">
363
 
      <table cellpadding="0" cellspacing="0" border="0">
364
 
        <tr>
365
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_block_calc_count_change           </td>
366
 
          <td class="md" valign="top">(&nbsp;</td>
367
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
368
 
          <td class="mdname" nowrap> <em>block</em>, </td>
369
 
        </tr>
370
 
        <tr>
371
 
          <td class="md" nowrap align="right"></td>
372
 
          <td class="md"></td>
373
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
374
 
          <td class="mdname" nowrap> <em>block_end</em></td>
375
 
        </tr>
376
 
        <tr>
377
 
          <td class="md"></td>
378
 
          <td class="md">)&nbsp;</td>
379
 
          <td class="md" colspan="2"><code> [inline]</code></td>
380
 
        </tr>
381
 
      </table>
382
 
    </td>
383
 
  </tr>
384
 
</table>
385
 
<table cellspacing="5" cellpadding="0" border="0">
386
 
  <tr>
387
 
    <td>
388
 
      &nbsp;
389
 
    </td>
390
 
    <td>
391
 
 
392
 
<p>
393
 
Function calculates number of times when bit value changed (1-0 or 0-1) in the bit block. 
394
 
<p>
395
 
Definition at line <a class="el" href="a00106.html#l02113">2113</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
396
 
<p>
397
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00106.html#l00178">bm::word_bitcount64()</a>.    </td>
398
 
  </tr>
399
 
</table>
400
 
<a class="anchor" name="ga16" doxytag="bm::bit_block_calc_count_range"></a><p>
401
 
<table class="mdTable" cellpadding="2" cellspacing="0">
402
 
  <tr>
403
 
    <td class="mdRow">
404
 
      <table cellpadding="0" cellspacing="0" border="0">
405
 
        <tr>
406
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_block_calc_count_range           </td>
407
 
          <td class="md" valign="top">(&nbsp;</td>
408
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
409
 
          <td class="mdname" nowrap> <em>block</em>, </td>
410
 
        </tr>
411
 
        <tr>
412
 
          <td class="md" nowrap align="right"></td>
413
 
          <td class="md"></td>
414
 
          <td class="md" nowrap><a class="el" href="a00092.html#a10">bm::word_t</a>&nbsp;</td>
415
 
          <td class="mdname" nowrap> <em>left</em>, </td>
416
 
        </tr>
417
 
        <tr>
418
 
          <td class="md" nowrap align="right"></td>
419
 
          <td class="md"></td>
420
 
          <td class="md" nowrap><a class="el" href="a00092.html#a10">bm::word_t</a>&nbsp;</td>
421
 
          <td class="mdname" nowrap> <em>right</em></td>
422
 
        </tr>
423
 
        <tr>
424
 
          <td class="md"></td>
425
 
          <td class="md">)&nbsp;</td>
426
 
          <td class="md" colspan="2"><code> [inline]</code></td>
427
 
        </tr>
428
 
      </table>
429
 
    </td>
430
 
  </tr>
431
 
</table>
432
 
<table cellspacing="5" cellpadding="0" border="0">
433
 
  <tr>
434
 
    <td>
435
 
      &nbsp;
436
 
    </td>
437
 
    <td>
438
 
 
439
 
<p>
440
 
Function calculates number of 1 bits in the given array of words in the range between left anf right bits (borders included) Make sure the addresses are aligned. 
441
 
<p>
442
 
Definition at line <a class="el" href="a00106.html#l02201">2201</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
443
 
<p>
444
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, and <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>.
445
 
<p>
446
 
Referenced by <a class="el" href="a00102.html#l01638">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>, <a class="el" href="a00106.html#l01280">bm::gap_bitset_and_count()</a>, <a class="el" href="a00106.html#l01390">bm::gap_bitset_or_count()</a>, <a class="el" href="a00106.html#l01316">bm::gap_bitset_sub_count()</a>, and <a class="el" href="a00106.html#l01350">bm::gap_bitset_xor_count()</a>.    </td>
447
 
  </tr>
448
 
</table>
449
 
<a class="anchor" name="ga20" doxytag="bm::bit_block_copy"></a><p>
450
 
<table class="mdTable" cellpadding="2" cellspacing="0">
451
 
  <tr>
452
 
    <td class="mdRow">
453
 
      <table cellpadding="0" cellspacing="0" border="0">
454
 
        <tr>
455
 
          <td class="md" nowrap valign="top">void bit_block_copy           </td>
456
 
          <td class="md" valign="top">(&nbsp;</td>
457
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
458
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
459
 
        </tr>
460
 
        <tr>
461
 
          <td class="md" nowrap align="right"></td>
462
 
          <td class="md"></td>
463
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
464
 
          <td class="mdname" nowrap> <em>src</em></td>
465
 
        </tr>
466
 
        <tr>
467
 
          <td class="md"></td>
468
 
          <td class="md">)&nbsp;</td>
469
 
          <td class="md" colspan="2"><code> [inline]</code></td>
470
 
        </tr>
471
 
      </table>
472
 
    </td>
473
 
  </tr>
474
 
</table>
475
 
<table cellspacing="5" cellpadding="0" border="0">
476
 
  <tr>
477
 
    <td>
478
 
      &nbsp;
479
 
    </td>
480
 
    <td>
481
 
 
482
 
<p>
483
 
Bitblock copy operation. 
484
 
<p>
485
 
<dl compact><dt><b>Parameters:</b></dt><dd>
486
 
  <table border="0" cellspacing="2" cellpadding="0">
487
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
488
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block. </td></tr>
489
 
  </table>
490
 
</dl>
491
 
 
492
 
<p>
493
 
Definition at line <a class="el" href="a00106.html#l02468">2468</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
494
 
<p>
495
 
References <a class="el" href="a00107.html#l00599">VECT_COPY_BLOCK</a>.    </td>
496
 
  </tr>
497
 
</table>
498
 
<a class="anchor" name="ga30" doxytag="bm::bit_block_or"></a><p>
499
 
<table class="mdTable" cellpadding="2" cellspacing="0">
500
 
  <tr>
501
 
    <td class="mdRow">
502
 
      <table cellpadding="0" cellspacing="0" border="0">
503
 
        <tr>
504
 
          <td class="md" nowrap valign="top">void bit_block_or           </td>
505
 
          <td class="md" valign="top">(&nbsp;</td>
506
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
507
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
508
 
        </tr>
509
 
        <tr>
510
 
          <td class="md" nowrap align="right"></td>
511
 
          <td class="md"></td>
512
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
513
 
          <td class="mdname" nowrap> <em>src</em></td>
514
 
        </tr>
515
 
        <tr>
516
 
          <td class="md"></td>
517
 
          <td class="md">)&nbsp;</td>
518
 
          <td class="md" colspan="2"><code> [inline]</code></td>
519
 
        </tr>
520
 
      </table>
521
 
    </td>
522
 
  </tr>
523
 
</table>
524
 
<table cellspacing="5" cellpadding="0" border="0">
525
 
  <tr>
526
 
    <td>
527
 
      &nbsp;
528
 
    </td>
529
 
    <td>
530
 
 
531
 
<p>
532
 
Plain bitblock OR operation. Function does not analyse availability of source and destination blocks. 
533
 
<p>
534
 
<dl compact><dt><b>Parameters:</b></dt><dd>
535
 
  <table border="0" cellspacing="2" cellpadding="0">
536
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
537
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block. </td></tr>
538
 
  </table>
539
 
</dl>
540
 
 
541
 
<p>
542
 
Definition at line <a class="el" href="a00106.html#l02811">2811</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
543
 
<p>
544
 
References <a class="el" href="a00105.html#l00070">BMRESTRICT</a>, and <a class="el" href="a00107.html#l00590">VECT_OR_ARR</a>.
545
 
<p>
546
 
Referenced by <a class="el" href="a00106.html#l02849">bm::bit_operation_or()</a>.    </td>
547
 
  </tr>
548
 
</table>
549
 
<a class="anchor" name="ga25" doxytag="bm::bit_block_or_count"></a><p>
550
 
<table class="mdTable" cellpadding="2" cellspacing="0">
551
 
  <tr>
552
 
    <td class="mdRow">
553
 
      <table cellpadding="0" cellspacing="0" border="0">
554
 
        <tr>
555
 
          <td class="md" nowrap valign="top">unsigned bit_block_or_count           </td>
556
 
          <td class="md" valign="top">(&nbsp;</td>
557
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
558
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
559
 
        </tr>
560
 
        <tr>
561
 
          <td class="md" nowrap align="right"></td>
562
 
          <td class="md"></td>
563
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
564
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
565
 
        </tr>
566
 
        <tr>
567
 
          <td class="md" nowrap align="right"></td>
568
 
          <td class="md"></td>
569
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
570
 
          <td class="mdname" nowrap> <em>src2</em></td>
571
 
        </tr>
572
 
        <tr>
573
 
          <td class="md"></td>
574
 
          <td class="md">)&nbsp;</td>
575
 
          <td class="md" colspan="2"><code> [inline]</code></td>
576
 
        </tr>
577
 
      </table>
578
 
    </td>
579
 
  </tr>
580
 
</table>
581
 
<table cellspacing="5" cellpadding="0" border="0">
582
 
  <tr>
583
 
    <td>
584
 
      &nbsp;
585
 
    </td>
586
 
    <td>
587
 
 
588
 
<p>
589
 
Function ORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. 
590
 
<p>
591
 
<dl compact><dt><b>Parameters:</b></dt><dd>
592
 
  <table border="0" cellspacing="2" cellpadding="0">
593
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block </td></tr>
594
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first block end </td></tr>
595
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block. </td></tr>
596
 
  </table>
597
 
</dl>
598
 
 
599
 
<p>
600
 
Definition at line <a class="el" href="a00106.html#l02627">2627</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
601
 
<p>
602
 
References <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00107.html#l00575">VECT_BITCOUNT_OR</a>.
603
 
<p>
604
 
Referenced by <a class="el" href="a00106.html#l02781">bm::bit_operation_or_count()</a>.    </td>
605
 
  </tr>
606
 
</table>
607
 
<a class="anchor" name="ga10" doxytag="bm::bit_block_set"></a><p>
608
 
<table class="mdTable" cellpadding="2" cellspacing="0">
609
 
  <tr>
610
 
    <td class="mdRow">
611
 
      <table cellpadding="0" cellspacing="0" border="0">
612
 
        <tr>
613
 
          <td class="md" nowrap valign="top">void bit_block_set           </td>
614
 
          <td class="md" valign="top">(&nbsp;</td>
615
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
616
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
617
 
        </tr>
618
 
        <tr>
619
 
          <td class="md" nowrap align="right"></td>
620
 
          <td class="md"></td>
621
 
          <td class="md" nowrap><a class="el" href="a00092.html#a10">bm::word_t</a>&nbsp;</td>
622
 
          <td class="mdname" nowrap> <em>value</em></td>
623
 
        </tr>
624
 
        <tr>
625
 
          <td class="md"></td>
626
 
          <td class="md">)&nbsp;</td>
627
 
          <td class="md" colspan="2"><code> [inline]</code></td>
628
 
        </tr>
629
 
      </table>
630
 
    </td>
631
 
  </tr>
632
 
</table>
633
 
<table cellspacing="5" cellpadding="0" border="0">
634
 
  <tr>
635
 
    <td>
636
 
      &nbsp;
637
 
    </td>
638
 
    <td>
639
 
 
640
 
<p>
641
 
Bitblock memset operation. 
642
 
<p>
643
 
<dl compact><dt><b>Parameters:</b></dt><dd>
644
 
  <table border="0" cellspacing="2" cellpadding="0">
645
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
646
 
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>- value to set. </td></tr>
647
 
  </table>
648
 
</dl>
649
 
 
650
 
<p>
651
 
Definition at line <a class="el" href="a00106.html#l01438">1438</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
652
 
<p>
653
 
Referenced by <a class="el" href="a00106.html#l01456">bm::gap_convert_to_bitset()</a>.    </td>
654
 
  </tr>
655
 
</table>
656
 
<a class="anchor" name="ga32" doxytag="bm::bit_block_sub"></a><p>
657
 
<table class="mdTable" cellpadding="2" cellspacing="0">
658
 
  <tr>
659
 
    <td class="mdRow">
660
 
      <table cellpadding="0" cellspacing="0" border="0">
661
 
        <tr>
662
 
          <td class="md" nowrap valign="top">void bit_block_sub           </td>
663
 
          <td class="md" valign="top">(&nbsp;</td>
664
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
665
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
666
 
        </tr>
667
 
        <tr>
668
 
          <td class="md" nowrap align="right"></td>
669
 
          <td class="md"></td>
670
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
671
 
          <td class="mdname" nowrap> <em>src</em></td>
672
 
        </tr>
673
 
        <tr>
674
 
          <td class="md"></td>
675
 
          <td class="md">)&nbsp;</td>
676
 
          <td class="md" colspan="2"><code> [inline]</code></td>
677
 
        </tr>
678
 
      </table>
679
 
    </td>
680
 
  </tr>
681
 
</table>
682
 
<table cellspacing="5" cellpadding="0" border="0">
683
 
  <tr>
684
 
    <td>
685
 
      &nbsp;
686
 
    </td>
687
 
    <td>
688
 
 
689
 
<p>
690
 
Plain bitblock SUB (AND NOT) operation. Function does not analyse availability of source and destination blocks. 
691
 
<p>
692
 
<dl compact><dt><b>Parameters:</b></dt><dd>
693
 
  <table border="0" cellspacing="2" cellpadding="0">
694
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
695
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block. </td></tr>
696
 
  </table>
697
 
</dl>
698
 
 
699
 
<p>
700
 
Definition at line <a class="el" href="a00106.html#l02907">2907</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
701
 
<p>
702
 
References <a class="el" href="a00105.html#l00070">BMRESTRICT</a>, and <a class="el" href="a00107.html#l00593">VECT_SUB_ARR</a>.
703
 
<p>
704
 
Referenced by <a class="el" href="a00106.html#l02947">bm::bit_operation_sub()</a>.    </td>
705
 
  </tr>
706
 
</table>
707
 
<a class="anchor" name="ga24" doxytag="bm::bit_block_sub_count"></a><p>
708
 
<table class="mdTable" cellpadding="2" cellspacing="0">
709
 
  <tr>
710
 
    <td class="mdRow">
711
 
      <table cellpadding="0" cellspacing="0" border="0">
712
 
        <tr>
713
 
          <td class="md" nowrap valign="top">unsigned bit_block_sub_count           </td>
714
 
          <td class="md" valign="top">(&nbsp;</td>
715
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
716
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
717
 
        </tr>
718
 
        <tr>
719
 
          <td class="md" nowrap align="right"></td>
720
 
          <td class="md"></td>
721
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
722
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
723
 
        </tr>
724
 
        <tr>
725
 
          <td class="md" nowrap align="right"></td>
726
 
          <td class="md"></td>
727
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
728
 
          <td class="mdname" nowrap> <em>src2</em></td>
729
 
        </tr>
730
 
        <tr>
731
 
          <td class="md"></td>
732
 
          <td class="md">)&nbsp;</td>
733
 
          <td class="md" colspan="2"><code> [inline]</code></td>
734
 
        </tr>
735
 
      </table>
736
 
    </td>
737
 
  </tr>
738
 
</table>
739
 
<table cellspacing="5" cellpadding="0" border="0">
740
 
  <tr>
741
 
    <td>
742
 
      &nbsp;
743
 
    </td>
744
 
    <td>
745
 
 
746
 
<p>
747
 
Function SUBs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. 
748
 
<p>
749
 
<dl compact><dt><b>Parameters:</b></dt><dd>
750
 
  <table border="0" cellspacing="2" cellpadding="0">
751
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
752
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
753
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block. </td></tr>
754
 
  </table>
755
 
</dl>
756
 
 
757
 
<p>
758
 
Definition at line <a class="el" href="a00106.html#l02592">2592</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
759
 
<p>
760
 
References <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00107.html#l00581">VECT_BITCOUNT_SUB</a>.
761
 
<p>
762
 
Referenced by <a class="el" href="a00106.html#l02752">bm::bit_operation_sub_count()</a>.    </td>
763
 
  </tr>
764
 
</table>
765
 
<a class="anchor" name="ga34" doxytag="bm::bit_block_xor"></a><p>
766
 
<table class="mdTable" cellpadding="2" cellspacing="0">
767
 
  <tr>
768
 
    <td class="mdRow">
769
 
      <table cellpadding="0" cellspacing="0" border="0">
770
 
        <tr>
771
 
          <td class="md" nowrap valign="top">void bit_block_xor           </td>
772
 
          <td class="md" valign="top">(&nbsp;</td>
773
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
774
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
775
 
        </tr>
776
 
        <tr>
777
 
          <td class="md" nowrap align="right"></td>
778
 
          <td class="md"></td>
779
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
780
 
          <td class="mdname" nowrap> <em>src</em></td>
781
 
        </tr>
782
 
        <tr>
783
 
          <td class="md"></td>
784
 
          <td class="md">)&nbsp;</td>
785
 
          <td class="md" colspan="2"><code> [inline]</code></td>
786
 
        </tr>
787
 
      </table>
788
 
    </td>
789
 
  </tr>
790
 
</table>
791
 
<table cellspacing="5" cellpadding="0" border="0">
792
 
  <tr>
793
 
    <td>
794
 
      &nbsp;
795
 
    </td>
796
 
    <td>
797
 
 
798
 
<p>
799
 
Plain bitblock XOR operation. Function does not analyse availability of source and destination blocks. 
800
 
<p>
801
 
<dl compact><dt><b>Parameters:</b></dt><dd>
802
 
  <table border="0" cellspacing="2" cellpadding="0">
803
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
804
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block. </td></tr>
805
 
  </table>
806
 
</dl>
807
 
 
808
 
<p>
809
 
Definition at line <a class="el" href="a00106.html#l03003">3003</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
810
 
<p>
811
 
References <a class="el" href="a00105.html#l00070">BMRESTRICT</a>, and <a class="el" href="a00107.html#l00596">VECT_XOR_ARR</a>.
812
 
<p>
813
 
Referenced by <a class="el" href="a00106.html#l03043">bm::bit_operation_xor()</a>.    </td>
814
 
  </tr>
815
 
</table>
816
 
<a class="anchor" name="ga23" doxytag="bm::bit_block_xor_count"></a><p>
817
 
<table class="mdTable" cellpadding="2" cellspacing="0">
818
 
  <tr>
819
 
    <td class="mdRow">
820
 
      <table cellpadding="0" cellspacing="0" border="0">
821
 
        <tr>
822
 
          <td class="md" nowrap valign="top">unsigned bit_block_xor_count           </td>
823
 
          <td class="md" valign="top">(&nbsp;</td>
824
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
825
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
826
 
        </tr>
827
 
        <tr>
828
 
          <td class="md" nowrap align="right"></td>
829
 
          <td class="md"></td>
830
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
831
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
832
 
        </tr>
833
 
        <tr>
834
 
          <td class="md" nowrap align="right"></td>
835
 
          <td class="md"></td>
836
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
837
 
          <td class="mdname" nowrap> <em>src2</em></td>
838
 
        </tr>
839
 
        <tr>
840
 
          <td class="md"></td>
841
 
          <td class="md">)&nbsp;</td>
842
 
          <td class="md" colspan="2"><code> [inline]</code></td>
843
 
        </tr>
844
 
      </table>
845
 
    </td>
846
 
  </tr>
847
 
</table>
848
 
<table cellspacing="5" cellpadding="0" border="0">
849
 
  <tr>
850
 
    <td>
851
 
      &nbsp;
852
 
    </td>
853
 
    <td>
854
 
 
855
 
<p>
856
 
Function XORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. 
857
 
<p>
858
 
<dl compact><dt><b>Parameters:</b></dt><dd>
859
 
  <table border="0" cellspacing="2" cellpadding="0">
860
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
861
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
862
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block. </td></tr>
863
 
  </table>
864
 
</dl>
865
 
 
866
 
<p>
867
 
Definition at line <a class="el" href="a00106.html#l02557">2557</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
868
 
<p>
869
 
References <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>, and <a class="el" href="a00107.html#l00578">VECT_BITCOUNT_XOR</a>.
870
 
<p>
871
 
Referenced by <a class="el" href="a00106.html#l03081">bm::bit_operation_xor_count()</a>.    </td>
872
 
  </tr>
873
 
</table>
874
 
<a class="anchor" name="ga12" doxytag="bm::bit_convert_to_arr"></a><p>
875
 
<table class="mdTable" cellpadding="2" cellspacing="0">
876
 
  <tr>
877
 
    <td class="mdRow">
878
 
      <table cellpadding="0" cellspacing="0" border="0">
879
 
        <tr>
880
 
          <td class="mdPrefix" colspan="4">
881
 
template&lt;typename T&gt; </td>
882
 
        </tr>
883
 
        <tr>
884
 
          <td class="md" nowrap valign="top">T bit_convert_to_arr           </td>
885
 
          <td class="md" valign="top">(&nbsp;</td>
886
 
          <td class="md" nowrap valign="top">T *BMRESTRICT&nbsp;</td>
887
 
          <td class="mdname" nowrap> <em>dest</em>, </td>
888
 
        </tr>
889
 
        <tr>
890
 
          <td class="md" nowrap align="right"></td>
891
 
          <td class="md"></td>
892
 
          <td class="md" nowrap>const unsigned *BMRESTRICT&nbsp;</td>
893
 
          <td class="mdname" nowrap> <em>src</em>, </td>
894
 
        </tr>
895
 
        <tr>
896
 
          <td class="md" nowrap align="right"></td>
897
 
          <td class="md"></td>
898
 
          <td class="md" nowrap><a class="el" href="a00092.html#a9">bm::id_t</a>&nbsp;</td>
899
 
          <td class="mdname" nowrap> <em>bits</em>, </td>
900
 
        </tr>
901
 
        <tr>
902
 
          <td class="md" nowrap align="right"></td>
903
 
          <td class="md"></td>
904
 
          <td class="md" nowrap>unsigned&nbsp;</td>
905
 
          <td class="mdname" nowrap> <em>dest_len</em></td>
906
 
        </tr>
907
 
        <tr>
908
 
          <td class="md"></td>
909
 
          <td class="md">)&nbsp;</td>
910
 
          <td class="md" colspan="2"></td>
911
 
        </tr>
912
 
      </table>
913
 
    </td>
914
 
  </tr>
915
 
</table>
916
 
<table cellspacing="5" cellpadding="0" border="0">
917
 
  <tr>
918
 
    <td>
919
 
      &nbsp;
920
 
    </td>
921
 
    <td>
922
 
 
923
 
<p>
924
 
Convert bit block into an array of ints corresponding to 1 bits. 
925
 
<p>
926
 
 
927
 
<p>
928
 
Definition at line <a class="el" href="a00106.html#l01956">1956</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
929
 
<p>
930
 
References <a class="el" href="a00105.html#l00070">BMRESTRICT</a>.    </td>
931
 
  </tr>
932
 
</table>
933
 
<a class="anchor" name="ga14" doxytag="bm::bit_count_change"></a><p>
934
 
<table class="mdTable" cellpadding="2" cellspacing="0">
935
 
  <tr>
936
 
    <td class="mdRow">
937
 
      <table cellpadding="0" cellspacing="0" border="0">
938
 
        <tr>
939
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_count_change           </td>
940
 
          <td class="md" valign="top">(&nbsp;</td>
941
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>&nbsp;</td>
942
 
          <td class="mdname1" valign="top" nowrap> <em>w</em>          </td>
943
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
944
 
          <td class="md" nowrap><code> [inline]</code></td>
945
 
        </tr>
946
 
      </table>
947
 
    </td>
948
 
  </tr>
949
 
</table>
950
 
<table cellspacing="5" cellpadding="0" border="0">
951
 
  <tr>
952
 
    <td>
953
 
      &nbsp;
954
 
    </td>
955
 
    <td>
956
 
 
957
 
<p>
958
 
Function calculates number of times when bit value changed (1-0 or 0-1).<p>
959
 
For 001 result is 2 010 - 3 011 - 2 111 - 1 
960
 
<p>
961
 
Definition at line <a class="el" href="a00106.html#l02095">2095</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
962
 
<p>
963
 
References <a class="el" href="a00106.html#l00167">BM_INCWORD_BITCOUNT</a>.    </td>
964
 
  </tr>
965
 
</table>
966
 
<a class="anchor" name="ga37" doxytag="bm::bit_find_head_tail"></a><p>
967
 
<table class="mdTable" cellpadding="2" cellspacing="0">
968
 
  <tr>
969
 
    <td class="mdRow">
970
 
      <table cellpadding="0" cellspacing="0" border="0">
971
 
        <tr>
972
 
          <td class="md" nowrap valign="top">void bit_find_head_tail           </td>
973
 
          <td class="md" valign="top">(&nbsp;</td>
974
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
975
 
          <td class="mdname" nowrap> <em>data</em>, </td>
976
 
        </tr>
977
 
        <tr>
978
 
          <td class="md" nowrap align="right"></td>
979
 
          <td class="md"></td>
980
 
          <td class="md" nowrap>unsigned *&nbsp;</td>
981
 
          <td class="mdname" nowrap> <em>head_idx</em>, </td>
982
 
        </tr>
983
 
        <tr>
984
 
          <td class="md" nowrap align="right"></td>
985
 
          <td class="md"></td>
986
 
          <td class="md" nowrap>unsigned *&nbsp;</td>
987
 
          <td class="mdname" nowrap> <em>tail_idx</em></td>
988
 
        </tr>
989
 
        <tr>
990
 
          <td class="md"></td>
991
 
          <td class="md">)&nbsp;</td>
992
 
          <td class="md" colspan="2"><code> [inline]</code></td>
993
 
        </tr>
994
 
      </table>
995
 
    </td>
996
 
  </tr>
997
 
</table>
998
 
<table cellspacing="5" cellpadding="0" border="0">
999
 
  <tr>
1000
 
    <td>
1001
 
      &nbsp;
1002
 
    </td>
1003
 
    <td>
1004
 
 
1005
 
<p>
1006
 
Inspects bit block for zero words at the head and at the end. 
1007
 
<p>
1008
 
If there are no head-tail zeroes output parameters head_idx and tail_idx are going to be [0, <a class="el" href="a00092.html#a13">bm::set_block_size</a>-1]. If block is all-zero head_idx is -1<p>
1009
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1010
 
  <table border="0" cellspacing="2" cellpadding="0">
1011
 
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>- bit block pointer </td></tr>
1012
 
    <tr><td valign="top"></td><td valign="top"><em>head_idx</em>&nbsp;</td><td>- index of first non-zero word in block </td></tr>
1013
 
    <tr><td valign="top"></td><td valign="top"><em>tail_idx</em>&nbsp;</td><td>- index of the last non-zero word in block </td></tr>
1014
 
  </table>
1015
 
</dl>
1016
 
 
1017
 
<p>
1018
 
Definition at line <a class="el" href="a00106.html#l03109">3109</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1019
 
<p>
1020
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.    </td>
1021
 
  </tr>
1022
 
</table>
1023
 
<a class="anchor" name="ga38" doxytag="bm::bit_find_in_block"></a><p>
1024
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1025
 
  <tr>
1026
 
    <td class="mdRow">
1027
 
      <table cellpadding="0" cellspacing="0" border="0">
1028
 
        <tr>
1029
 
          <td class="md" nowrap valign="top">int bit_find_in_block           </td>
1030
 
          <td class="md" valign="top">(&nbsp;</td>
1031
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *&nbsp;</td>
1032
 
          <td class="mdname" nowrap> <em>data</em>, </td>
1033
 
        </tr>
1034
 
        <tr>
1035
 
          <td class="md" nowrap align="right"></td>
1036
 
          <td class="md"></td>
1037
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1038
 
          <td class="mdname" nowrap> <em>nbit</em>, </td>
1039
 
        </tr>
1040
 
        <tr>
1041
 
          <td class="md" nowrap align="right"></td>
1042
 
          <td class="md"></td>
1043
 
          <td class="md" nowrap><a class="el" href="a00092.html#a9">bm::id_t</a> *&nbsp;</td>
1044
 
          <td class="mdname" nowrap> <em>prev</em></td>
1045
 
        </tr>
1046
 
        <tr>
1047
 
          <td class="md"></td>
1048
 
          <td class="md">)&nbsp;</td>
1049
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1050
 
        </tr>
1051
 
      </table>
1052
 
    </td>
1053
 
  </tr>
1054
 
</table>
1055
 
<table cellspacing="5" cellpadding="0" border="0">
1056
 
  <tr>
1057
 
    <td>
1058
 
      &nbsp;
1059
 
    </td>
1060
 
    <td>
1061
 
 
1062
 
<p>
1063
 
Searches for the next 1 bit in the BIT block. 
1064
 
<p>
1065
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1066
 
  <table border="0" cellspacing="2" cellpadding="0">
1067
 
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>- BIT buffer </td></tr>
1068
 
    <tr><td valign="top"></td><td valign="top"><em>nbit</em>&nbsp;</td><td>- bit index to start checking from </td></tr>
1069
 
    <tr><td valign="top"></td><td valign="top"><em>prev</em>&nbsp;</td><td>- returns previously checked value </td></tr>
1070
 
  </table>
1071
 
</dl>
1072
 
 
1073
 
<p>
1074
 
Definition at line <a class="el" href="a00106.html#l03150">3150</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
1075
 
  </tr>
1076
 
</table>
1077
 
<a class="anchor" name="ga17" doxytag="bm::bit_invert"></a><p>
1078
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1079
 
  <tr>
1080
 
    <td class="mdRow">
1081
 
      <table cellpadding="0" cellspacing="0" border="0">
1082
 
        <tr>
1083
 
          <td class="mdPrefix" colspan="4">
1084
 
template&lt;typename T&gt; </td>
1085
 
        </tr>
1086
 
        <tr>
1087
 
          <td class="md" nowrap valign="top">void bit_invert           </td>
1088
 
          <td class="md" valign="top">(&nbsp;</td>
1089
 
          <td class="md" nowrap valign="top">T *&nbsp;</td>
1090
 
          <td class="mdname" nowrap> <em>start</em>, </td>
1091
 
        </tr>
1092
 
        <tr>
1093
 
          <td class="md" nowrap align="right"></td>
1094
 
          <td class="md"></td>
1095
 
          <td class="md" nowrap>T *&nbsp;</td>
1096
 
          <td class="mdname" nowrap> <em>end</em></td>
1097
 
        </tr>
1098
 
        <tr>
1099
 
          <td class="md"></td>
1100
 
          <td class="md">)&nbsp;</td>
1101
 
          <td class="md" colspan="2"></td>
1102
 
        </tr>
1103
 
      </table>
1104
 
    </td>
1105
 
  </tr>
1106
 
</table>
1107
 
<table cellspacing="5" cellpadding="0" border="0">
1108
 
  <tr>
1109
 
    <td>
1110
 
      &nbsp;
1111
 
    </td>
1112
 
    <td>
1113
 
 
1114
 
<p>
1115
 
Function inverts block of bits 
1116
 
<p>
1117
 
Definition at line <a class="el" href="a00106.html#l02267">2267</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1118
 
<p>
1119
 
References <a class="el" href="a00107.html#l00584">VECT_INVERT_ARR</a>.    </td>
1120
 
  </tr>
1121
 
</table>
1122
 
<a class="anchor" name="ga19" doxytag="bm::bit_is_all_zero"></a><p>
1123
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1124
 
  <tr>
1125
 
    <td class="mdRow">
1126
 
      <table cellpadding="0" cellspacing="0" border="0">
1127
 
        <tr>
1128
 
          <td class="md" nowrap valign="top">bool bit_is_all_zero           </td>
1129
 
          <td class="md" valign="top">(&nbsp;</td>
1130
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *&nbsp;</td>
1131
 
          <td class="mdname" nowrap> <em>start</em>, </td>
1132
 
        </tr>
1133
 
        <tr>
1134
 
          <td class="md" nowrap align="right"></td>
1135
 
          <td class="md"></td>
1136
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *&nbsp;</td>
1137
 
          <td class="mdname" nowrap> <em>end</em></td>
1138
 
        </tr>
1139
 
        <tr>
1140
 
          <td class="md"></td>
1141
 
          <td class="md">)&nbsp;</td>
1142
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1143
 
        </tr>
1144
 
      </table>
1145
 
    </td>
1146
 
  </tr>
1147
 
</table>
1148
 
<table cellspacing="5" cellpadding="0" border="0">
1149
 
  <tr>
1150
 
    <td>
1151
 
      &nbsp;
1152
 
    </td>
1153
 
    <td>
1154
 
 
1155
 
<p>
1156
 
Returns "true" if all bits in the block are 0. 
1157
 
<p>
1158
 
 
1159
 
<p>
1160
 
Definition at line <a class="el" href="a00106.html#l02309">2309</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1161
 
<p>
1162
 
Referenced by <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
1163
 
  </tr>
1164
 
</table>
1165
 
<a class="anchor" name="ga39" doxytag="bm::bit_list"></a><p>
1166
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1167
 
  <tr>
1168
 
    <td class="mdRow">
1169
 
      <table cellpadding="0" cellspacing="0" border="0">
1170
 
        <tr>
1171
 
          <td class="mdPrefix" colspan="4">
1172
 
template&lt;typename T, typename B&gt; </td>
1173
 
        </tr>
1174
 
        <tr>
1175
 
          <td class="md" nowrap valign="top">unsigned bit_list           </td>
1176
 
          <td class="md" valign="top">(&nbsp;</td>
1177
 
          <td class="md" nowrap valign="top">T&nbsp;</td>
1178
 
          <td class="mdname" nowrap> <em>w</em>, </td>
1179
 
        </tr>
1180
 
        <tr>
1181
 
          <td class="md" nowrap align="right"></td>
1182
 
          <td class="md"></td>
1183
 
          <td class="md" nowrap>B *&nbsp;</td>
1184
 
          <td class="mdname" nowrap> <em>bits</em></td>
1185
 
        </tr>
1186
 
        <tr>
1187
 
          <td class="md"></td>
1188
 
          <td class="md">)&nbsp;</td>
1189
 
          <td class="md" colspan="2"></td>
1190
 
        </tr>
1191
 
      </table>
1192
 
    </td>
1193
 
  </tr>
1194
 
</table>
1195
 
<table cellspacing="5" cellpadding="0" border="0">
1196
 
  <tr>
1197
 
    <td>
1198
 
      &nbsp;
1199
 
    </td>
1200
 
    <td>
1201
 
 
1202
 
<p>
1203
 
Unpacks word into list of ON bit indexes. 
1204
 
<p>
1205
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1206
 
  <table border="0" cellspacing="2" cellpadding="0">
1207
 
    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>- value </td></tr>
1208
 
    <tr><td valign="top"></td><td valign="top"><em>bits</em>&nbsp;</td><td>- pointer on the result array </td></tr>
1209
 
  </table>
1210
 
</dl>
1211
 
<dl compact><dt><b>Returns:</b></dt><dd>number of bits in the list </dd></dl>
1212
 
 
1213
 
<p>
1214
 
Definition at line <a class="el" href="a00106.html#l03193">3193</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1215
 
<p>
1216
 
Referenced by <a class="el" href="a00102.html#l00499">bm::bvector&lt; Alloc, MS &gt;::enumerator::go_up()</a>.    </td>
1217
 
  </tr>
1218
 
</table>
1219
 
<a class="anchor" name="ga26" doxytag="bm::bit_operation_and"></a><p>
1220
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1221
 
  <tr>
1222
 
    <td class="mdRow">
1223
 
      <table cellpadding="0" cellspacing="0" border="0">
1224
 
        <tr>
1225
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>* bit_operation_and           </td>
1226
 
          <td class="md" valign="top">(&nbsp;</td>
1227
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1228
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
1229
 
        </tr>
1230
 
        <tr>
1231
 
          <td class="md" nowrap align="right"></td>
1232
 
          <td class="md"></td>
1233
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1234
 
          <td class="mdname" nowrap> <em>src</em></td>
1235
 
        </tr>
1236
 
        <tr>
1237
 
          <td class="md"></td>
1238
 
          <td class="md">)&nbsp;</td>
1239
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1240
 
        </tr>
1241
 
      </table>
1242
 
    </td>
1243
 
  </tr>
1244
 
</table>
1245
 
<table cellspacing="5" cellpadding="0" border="0">
1246
 
  <tr>
1247
 
    <td>
1248
 
      &nbsp;
1249
 
    </td>
1250
 
    <td>
1251
 
 
1252
 
<p>
1253
 
bitblock AND operation. 
1254
 
<p>
1255
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1256
 
  <table border="0" cellspacing="2" cellpadding="0">
1257
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
1258
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block.</td></tr>
1259
 
  </table>
1260
 
</dl>
1261
 
<dl compact><dt><b>Returns:</b></dt><dd>pointer on destination block. If returned value equal to src means that block mutation requested. NULL is valid return value. </dd></dl>
1262
 
 
1263
 
<p>
1264
 
Definition at line <a class="el" href="a00106.html#l02663">2663</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1265
 
<p>
1266
 
References <a class="el" href="a00106.html#l02488">bm::bit_block_and()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00025">IS_EMPTY_BLOCK</a>, <a class="el" href="a00105.html#l00024">IS_FULL_BLOCK</a>, and <a class="el" href="a00105.html#l00023">IS_VALID_ADDR</a>.    </td>
1267
 
  </tr>
1268
 
</table>
1269
 
<a class="anchor" name="ga27" doxytag="bm::bit_operation_and_count"></a><p>
1270
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1271
 
  <tr>
1272
 
    <td class="mdRow">
1273
 
      <table cellpadding="0" cellspacing="0" border="0">
1274
 
        <tr>
1275
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_operation_and_count           </td>
1276
 
          <td class="md" valign="top">(&nbsp;</td>
1277
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1278
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
1279
 
        </tr>
1280
 
        <tr>
1281
 
          <td class="md" nowrap align="right"></td>
1282
 
          <td class="md"></td>
1283
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1284
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
1285
 
        </tr>
1286
 
        <tr>
1287
 
          <td class="md" nowrap align="right"></td>
1288
 
          <td class="md"></td>
1289
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1290
 
          <td class="mdname" nowrap> <em>src2</em></td>
1291
 
        </tr>
1292
 
        <tr>
1293
 
          <td class="md"></td>
1294
 
          <td class="md">)&nbsp;</td>
1295
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1296
 
        </tr>
1297
 
      </table>
1298
 
    </td>
1299
 
  </tr>
1300
 
</table>
1301
 
<table cellspacing="5" cellpadding="0" border="0">
1302
 
  <tr>
1303
 
    <td>
1304
 
      &nbsp;
1305
 
    </td>
1306
 
    <td>
1307
 
 
1308
 
<p>
1309
 
Performs bitblock AND operation and calculates bitcount of the result. 
1310
 
<p>
1311
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1312
 
  <table border="0" cellspacing="2" cellpadding="0">
1313
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
1314
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
1315
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block.</td></tr>
1316
 
  </table>
1317
 
</dl>
1318
 
<dl compact><dt><b>Returns:</b></dt><dd>bitcount value </dd></dl>
1319
 
 
1320
 
<p>
1321
 
Definition at line <a class="el" href="a00106.html#l02728">2728</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1322
 
<p>
1323
 
References <a class="el" href="a00106.html#l02522">bm::bit_block_and_count()</a>, and <a class="el" href="a00105.html#l00025">IS_EMPTY_BLOCK</a>.
1324
 
<p>
1325
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1326
 
  </tr>
1327
 
</table>
1328
 
<a class="anchor" name="ga31" doxytag="bm::bit_operation_or"></a><p>
1329
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1330
 
  <tr>
1331
 
    <td class="mdRow">
1332
 
      <table cellpadding="0" cellspacing="0" border="0">
1333
 
        <tr>
1334
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>* bit_operation_or           </td>
1335
 
          <td class="md" valign="top">(&nbsp;</td>
1336
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1337
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
1338
 
        </tr>
1339
 
        <tr>
1340
 
          <td class="md" nowrap align="right"></td>
1341
 
          <td class="md"></td>
1342
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1343
 
          <td class="mdname" nowrap> <em>src</em></td>
1344
 
        </tr>
1345
 
        <tr>
1346
 
          <td class="md"></td>
1347
 
          <td class="md">)&nbsp;</td>
1348
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1349
 
        </tr>
1350
 
      </table>
1351
 
    </td>
1352
 
  </tr>
1353
 
</table>
1354
 
<table cellspacing="5" cellpadding="0" border="0">
1355
 
  <tr>
1356
 
    <td>
1357
 
      &nbsp;
1358
 
    </td>
1359
 
    <td>
1360
 
 
1361
 
<p>
1362
 
Block OR operation. Makes analysis if block is 0 or FULL. 
1363
 
<p>
1364
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1365
 
  <table border="0" cellspacing="2" cellpadding="0">
1366
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
1367
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block.</td></tr>
1368
 
  </table>
1369
 
</dl>
1370
 
<dl compact><dt><b>Returns:</b></dt><dd>pointer on destination block. If returned value equal to src means that block mutation requested. NULL is valid return value. </dd></dl>
1371
 
 
1372
 
<p>
1373
 
Definition at line <a class="el" href="a00106.html#l02849">2849</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1374
 
<p>
1375
 
References <a class="el" href="a00106.html#l02811">bm::bit_block_or()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00022">FULL_BLOCK_ADDR</a>, <a class="el" href="a00105.html#l00024">IS_FULL_BLOCK</a>, and <a class="el" href="a00105.html#l00023">IS_VALID_ADDR</a>.    </td>
1376
 
  </tr>
1377
 
</table>
1378
 
<a class="anchor" name="ga29" doxytag="bm::bit_operation_or_count"></a><p>
1379
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1380
 
  <tr>
1381
 
    <td class="mdRow">
1382
 
      <table cellpadding="0" cellspacing="0" border="0">
1383
 
        <tr>
1384
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_operation_or_count           </td>
1385
 
          <td class="md" valign="top">(&nbsp;</td>
1386
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1387
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
1388
 
        </tr>
1389
 
        <tr>
1390
 
          <td class="md" nowrap align="right"></td>
1391
 
          <td class="md"></td>
1392
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1393
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
1394
 
        </tr>
1395
 
        <tr>
1396
 
          <td class="md" nowrap align="right"></td>
1397
 
          <td class="md"></td>
1398
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1399
 
          <td class="mdname" nowrap> <em>src2</em></td>
1400
 
        </tr>
1401
 
        <tr>
1402
 
          <td class="md"></td>
1403
 
          <td class="md">)&nbsp;</td>
1404
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1405
 
        </tr>
1406
 
      </table>
1407
 
    </td>
1408
 
  </tr>
1409
 
</table>
1410
 
<table cellspacing="5" cellpadding="0" border="0">
1411
 
  <tr>
1412
 
    <td>
1413
 
      &nbsp;
1414
 
    </td>
1415
 
    <td>
1416
 
 
1417
 
<p>
1418
 
Performs bitblock OR operation and calculates bitcount of the result. 
1419
 
<p>
1420
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1421
 
  <table border="0" cellspacing="2" cellpadding="0">
1422
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
1423
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
1424
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block.</td></tr>
1425
 
  </table>
1426
 
</dl>
1427
 
<dl compact><dt><b>Returns:</b></dt><dd>bitcount value </dd></dl>
1428
 
 
1429
 
<p>
1430
 
Definition at line <a class="el" href="a00106.html#l02781">2781</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1431
 
<p>
1432
 
References <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, <a class="el" href="a00106.html#l02627">bm::bit_block_or_count()</a>, and <a class="el" href="a00105.html#l00025">IS_EMPTY_BLOCK</a>.
1433
 
<p>
1434
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1435
 
  </tr>
1436
 
</table>
1437
 
<a class="anchor" name="ga33" doxytag="bm::bit_operation_sub"></a><p>
1438
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1439
 
  <tr>
1440
 
    <td class="mdRow">
1441
 
      <table cellpadding="0" cellspacing="0" border="0">
1442
 
        <tr>
1443
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>* bit_operation_sub           </td>
1444
 
          <td class="md" valign="top">(&nbsp;</td>
1445
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1446
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
1447
 
        </tr>
1448
 
        <tr>
1449
 
          <td class="md" nowrap align="right"></td>
1450
 
          <td class="md"></td>
1451
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1452
 
          <td class="mdname" nowrap> <em>src</em></td>
1453
 
        </tr>
1454
 
        <tr>
1455
 
          <td class="md"></td>
1456
 
          <td class="md">)&nbsp;</td>
1457
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1458
 
        </tr>
1459
 
      </table>
1460
 
    </td>
1461
 
  </tr>
1462
 
</table>
1463
 
<table cellspacing="5" cellpadding="0" border="0">
1464
 
  <tr>
1465
 
    <td>
1466
 
      &nbsp;
1467
 
    </td>
1468
 
    <td>
1469
 
 
1470
 
<p>
1471
 
bitblock SUB operation. 
1472
 
<p>
1473
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1474
 
  <table border="0" cellspacing="2" cellpadding="0">
1475
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
1476
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block.</td></tr>
1477
 
  </table>
1478
 
</dl>
1479
 
<dl compact><dt><b>Returns:</b></dt><dd>pointer on destination block. If returned value equal to src means that block mutation requested. NULL is valid return value. </dd></dl>
1480
 
 
1481
 
<p>
1482
 
Definition at line <a class="el" href="a00106.html#l02947">2947</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1483
 
<p>
1484
 
References <a class="el" href="a00106.html#l02907">bm::bit_block_sub()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, <a class="el" href="a00105.html#l00024">IS_FULL_BLOCK</a>, and <a class="el" href="a00105.html#l00023">IS_VALID_ADDR</a>.    </td>
1485
 
  </tr>
1486
 
</table>
1487
 
<a class="anchor" name="ga28" doxytag="bm::bit_operation_sub_count"></a><p>
1488
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1489
 
  <tr>
1490
 
    <td class="mdRow">
1491
 
      <table cellpadding="0" cellspacing="0" border="0">
1492
 
        <tr>
1493
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_operation_sub_count           </td>
1494
 
          <td class="md" valign="top">(&nbsp;</td>
1495
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1496
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
1497
 
        </tr>
1498
 
        <tr>
1499
 
          <td class="md" nowrap align="right"></td>
1500
 
          <td class="md"></td>
1501
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1502
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
1503
 
        </tr>
1504
 
        <tr>
1505
 
          <td class="md" nowrap align="right"></td>
1506
 
          <td class="md"></td>
1507
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1508
 
          <td class="mdname" nowrap> <em>src2</em></td>
1509
 
        </tr>
1510
 
        <tr>
1511
 
          <td class="md"></td>
1512
 
          <td class="md">)&nbsp;</td>
1513
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1514
 
        </tr>
1515
 
      </table>
1516
 
    </td>
1517
 
  </tr>
1518
 
</table>
1519
 
<table cellspacing="5" cellpadding="0" border="0">
1520
 
  <tr>
1521
 
    <td>
1522
 
      &nbsp;
1523
 
    </td>
1524
 
    <td>
1525
 
 
1526
 
<p>
1527
 
Performs bitblock SUB operation and calculates bitcount of the result. 
1528
 
<p>
1529
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1530
 
  <table border="0" cellspacing="2" cellpadding="0">
1531
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
1532
 
    <tr><td valign="top"></td><td valign="top"><em>src1_end</em>&nbsp;</td><td>- first bit block end </td></tr>
1533
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block</td></tr>
1534
 
  </table>
1535
 
</dl>
1536
 
<dl compact><dt><b>Returns:</b></dt><dd>bitcount value </dd></dl>
1537
 
 
1538
 
<p>
1539
 
Definition at line <a class="el" href="a00106.html#l02752">2752</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1540
 
<p>
1541
 
References <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, <a class="el" href="a00106.html#l02592">bm::bit_block_sub_count()</a>, and <a class="el" href="a00105.html#l00025">IS_EMPTY_BLOCK</a>.
1542
 
<p>
1543
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1544
 
  </tr>
1545
 
</table>
1546
 
<a class="anchor" name="ga35" doxytag="bm::bit_operation_xor"></a><p>
1547
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1548
 
  <tr>
1549
 
    <td class="mdRow">
1550
 
      <table cellpadding="0" cellspacing="0" border="0">
1551
 
        <tr>
1552
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a>* bit_operation_xor           </td>
1553
 
          <td class="md" valign="top">(&nbsp;</td>
1554
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1555
 
          <td class="mdname" nowrap> <em>dst</em>, </td>
1556
 
        </tr>
1557
 
        <tr>
1558
 
          <td class="md" nowrap align="right"></td>
1559
 
          <td class="md"></td>
1560
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1561
 
          <td class="mdname" nowrap> <em>src</em></td>
1562
 
        </tr>
1563
 
        <tr>
1564
 
          <td class="md"></td>
1565
 
          <td class="md">)&nbsp;</td>
1566
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1567
 
        </tr>
1568
 
      </table>
1569
 
    </td>
1570
 
  </tr>
1571
 
</table>
1572
 
<table cellspacing="5" cellpadding="0" border="0">
1573
 
  <tr>
1574
 
    <td>
1575
 
      &nbsp;
1576
 
    </td>
1577
 
    <td>
1578
 
 
1579
 
<p>
1580
 
bitblock XOR operation. 
1581
 
<p>
1582
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1583
 
  <table border="0" cellspacing="2" cellpadding="0">
1584
 
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>- destination block. </td></tr>
1585
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- source block.</td></tr>
1586
 
  </table>
1587
 
</dl>
1588
 
<dl compact><dt><b>Returns:</b></dt><dd>pointer on destination block. If returned value equal to src means that block mutation requested. NULL is valid return value. </dd></dl>
1589
 
 
1590
 
<p>
1591
 
Definition at line <a class="el" href="a00106.html#l03043">3043</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1592
 
<p>
1593
 
References <a class="el" href="a00106.html#l03003">bm::bit_block_xor()</a>, <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, and <a class="el" href="a00105.html#l00023">IS_VALID_ADDR</a>.    </td>
1594
 
  </tr>
1595
 
</table>
1596
 
<a class="anchor" name="ga36" doxytag="bm::bit_operation_xor_count"></a><p>
1597
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1598
 
  <tr>
1599
 
    <td class="mdRow">
1600
 
      <table cellpadding="0" cellspacing="0" border="0">
1601
 
        <tr>
1602
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> bit_operation_xor_count           </td>
1603
 
          <td class="md" valign="top">(&nbsp;</td>
1604
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1605
 
          <td class="mdname" nowrap> <em>src1</em>, </td>
1606
 
        </tr>
1607
 
        <tr>
1608
 
          <td class="md" nowrap align="right"></td>
1609
 
          <td class="md"></td>
1610
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1611
 
          <td class="mdname" nowrap> <em>src1_end</em>, </td>
1612
 
        </tr>
1613
 
        <tr>
1614
 
          <td class="md" nowrap align="right"></td>
1615
 
          <td class="md"></td>
1616
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a10">bm::word_t</a> *BMRESTRICT&nbsp;</td>
1617
 
          <td class="mdname" nowrap> <em>src2</em></td>
1618
 
        </tr>
1619
 
        <tr>
1620
 
          <td class="md"></td>
1621
 
          <td class="md">)&nbsp;</td>
1622
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1623
 
        </tr>
1624
 
      </table>
1625
 
    </td>
1626
 
  </tr>
1627
 
</table>
1628
 
<table cellspacing="5" cellpadding="0" border="0">
1629
 
  <tr>
1630
 
    <td>
1631
 
      &nbsp;
1632
 
    </td>
1633
 
    <td>
1634
 
 
1635
 
<p>
1636
 
Performs bitblock XOR operation and calculates bitcount of the result. 
1637
 
<p>
1638
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1639
 
  <table border="0" cellspacing="2" cellpadding="0">
1640
 
    <tr><td valign="top"></td><td valign="top"><em>src1</em>&nbsp;</td><td>- first bit block. </td></tr>
1641
 
    <tr><td valign="top"></td><td valign="top"><em>src2</em>&nbsp;</td><td>- second bit block.</td></tr>
1642
 
  </table>
1643
 
</dl>
1644
 
<dl compact><dt><b>Returns:</b></dt><dd>bitcount value </dd></dl>
1645
 
 
1646
 
<p>
1647
 
Definition at line <a class="el" href="a00106.html#l03081">3081</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1648
 
<p>
1649
 
References <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, <a class="el" href="a00106.html#l02557">bm::bit_block_xor_count()</a>, and <a class="el" href="a00105.html#l00025">IS_EMPTY_BLOCK</a>.
1650
 
<p>
1651
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1652
 
  </tr>
1653
 
</table>
1654
 
<a class="anchor" name="ga11" doxytag="bm::bitcmp"></a><p>
1655
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1656
 
  <tr>
1657
 
    <td class="mdRow">
1658
 
      <table cellpadding="0" cellspacing="0" border="0">
1659
 
        <tr>
1660
 
          <td class="mdPrefix" colspan="4">
1661
 
template&lt;typename T&gt; </td>
1662
 
        </tr>
1663
 
        <tr>
1664
 
          <td class="md" nowrap valign="top">int bitcmp           </td>
1665
 
          <td class="md" valign="top">(&nbsp;</td>
1666
 
          <td class="md" nowrap valign="top">const T *&nbsp;</td>
1667
 
          <td class="mdname" nowrap> <em>buf1</em>, </td>
1668
 
        </tr>
1669
 
        <tr>
1670
 
          <td class="md" nowrap align="right"></td>
1671
 
          <td class="md"></td>
1672
 
          <td class="md" nowrap>const T *&nbsp;</td>
1673
 
          <td class="mdname" nowrap> <em>buf2</em>, </td>
1674
 
        </tr>
1675
 
        <tr>
1676
 
          <td class="md" nowrap align="right"></td>
1677
 
          <td class="md"></td>
1678
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1679
 
          <td class="mdname" nowrap> <em>len</em></td>
1680
 
        </tr>
1681
 
        <tr>
1682
 
          <td class="md"></td>
1683
 
          <td class="md">)&nbsp;</td>
1684
 
          <td class="md" colspan="2"></td>
1685
 
        </tr>
1686
 
      </table>
1687
 
    </td>
1688
 
  </tr>
1689
 
</table>
1690
 
<table cellspacing="5" cellpadding="0" border="0">
1691
 
  <tr>
1692
 
    <td>
1693
 
      &nbsp;
1694
 
    </td>
1695
 
    <td>
1696
 
 
1697
 
<p>
1698
 
Lexicographical comparison of BIT buffers. 
1699
 
<p>
1700
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1701
 
  <table border="0" cellspacing="2" cellpadding="0">
1702
 
    <tr><td valign="top"></td><td valign="top"><em>buf1</em>&nbsp;</td><td>- First buffer pointer. </td></tr>
1703
 
    <tr><td valign="top"></td><td valign="top"><em>buf2</em>&nbsp;</td><td>- Second buffer pointer. </td></tr>
1704
 
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>- Buffer length in elements (T). </td></tr>
1705
 
  </table>
1706
 
</dl>
1707
 
<dl compact><dt><b>Returns:</b></dt><dd>&lt;0 - less, =0 - equal, &gt;0 - greater. </dd></dl>
1708
 
 
1709
 
<p>
1710
 
Definition at line <a class="el" href="a00106.html#l01786">1786</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1711
 
<p>
1712
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
1713
 
<p>
1714
 
Referenced by <a class="el" href="a00102.html#l01845">bm::bvector&lt; Alloc, MS &gt;::compare()</a>.    </td>
1715
 
  </tr>
1716
 
</table>
1717
 
<a class="anchor" name="ga6" doxytag="bm::gap_bitset_and_count"></a><p>
1718
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1719
 
  <tr>
1720
 
    <td class="mdRow">
1721
 
      <table cellpadding="0" cellspacing="0" border="0">
1722
 
        <tr>
1723
 
          <td class="mdPrefix" colspan="4">
1724
 
template&lt;typename T&gt; </td>
1725
 
        </tr>
1726
 
        <tr>
1727
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> gap_bitset_and_count           </td>
1728
 
          <td class="md" valign="top">(&nbsp;</td>
1729
 
          <td class="md" nowrap valign="top">const unsigned *&nbsp;</td>
1730
 
          <td class="mdname" nowrap> <em>block</em>, </td>
1731
 
        </tr>
1732
 
        <tr>
1733
 
          <td class="md" nowrap align="right"></td>
1734
 
          <td class="md"></td>
1735
 
          <td class="md" nowrap>const T *&nbsp;</td>
1736
 
          <td class="mdname" nowrap> <em>buf</em></td>
1737
 
        </tr>
1738
 
        <tr>
1739
 
          <td class="md"></td>
1740
 
          <td class="md">)&nbsp;</td>
1741
 
          <td class="md" colspan="2"></td>
1742
 
        </tr>
1743
 
      </table>
1744
 
    </td>
1745
 
  </tr>
1746
 
</table>
1747
 
<table cellspacing="5" cellpadding="0" border="0">
1748
 
  <tr>
1749
 
    <td>
1750
 
      &nbsp;
1751
 
    </td>
1752
 
    <td>
1753
 
 
1754
 
<p>
1755
 
Compute bitcount of bit block AND masked by GAP block. 
1756
 
<p>
1757
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1758
 
  <table border="0" cellspacing="2" cellpadding="0">
1759
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- bitblock buffer pointer. </td></tr>
1760
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
1761
 
  </table>
1762
 
</dl>
1763
 
 
1764
 
<p>
1765
 
Definition at line <a class="el" href="a00106.html#l01280">1280</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1766
 
<p>
1767
 
References <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, and <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
1768
 
<p>
1769
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1770
 
  </tr>
1771
 
</table>
1772
 
<a class="anchor" name="ga9" doxytag="bm::gap_bitset_or_count"></a><p>
1773
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1774
 
  <tr>
1775
 
    <td class="mdRow">
1776
 
      <table cellpadding="0" cellspacing="0" border="0">
1777
 
        <tr>
1778
 
          <td class="mdPrefix" colspan="4">
1779
 
template&lt;typename T&gt; </td>
1780
 
        </tr>
1781
 
        <tr>
1782
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> gap_bitset_or_count           </td>
1783
 
          <td class="md" valign="top">(&nbsp;</td>
1784
 
          <td class="md" nowrap valign="top">const unsigned *&nbsp;</td>
1785
 
          <td class="mdname" nowrap> <em>block</em>, </td>
1786
 
        </tr>
1787
 
        <tr>
1788
 
          <td class="md" nowrap align="right"></td>
1789
 
          <td class="md"></td>
1790
 
          <td class="md" nowrap>const T *&nbsp;</td>
1791
 
          <td class="mdname" nowrap> <em>buf</em></td>
1792
 
        </tr>
1793
 
        <tr>
1794
 
          <td class="md"></td>
1795
 
          <td class="md">)&nbsp;</td>
1796
 
          <td class="md" colspan="2"></td>
1797
 
        </tr>
1798
 
      </table>
1799
 
    </td>
1800
 
  </tr>
1801
 
</table>
1802
 
<table cellspacing="5" cellpadding="0" border="0">
1803
 
  <tr>
1804
 
    <td>
1805
 
      &nbsp;
1806
 
    </td>
1807
 
    <td>
1808
 
 
1809
 
<p>
1810
 
Compute bitcount of bit block OR masked by GAP block. 
1811
 
<p>
1812
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1813
 
  <table border="0" cellspacing="2" cellpadding="0">
1814
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- bitblock buffer pointer. </td></tr>
1815
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
1816
 
  </table>
1817
 
</dl>
1818
 
 
1819
 
<p>
1820
 
Definition at line <a class="el" href="a00106.html#l01390">1390</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1821
 
<p>
1822
 
References <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, and <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
1823
 
<p>
1824
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1825
 
  </tr>
1826
 
</table>
1827
 
<a class="anchor" name="ga7" doxytag="bm::gap_bitset_sub_count"></a><p>
1828
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1829
 
  <tr>
1830
 
    <td class="mdRow">
1831
 
      <table cellpadding="0" cellspacing="0" border="0">
1832
 
        <tr>
1833
 
          <td class="mdPrefix" colspan="4">
1834
 
template&lt;typename T&gt; </td>
1835
 
        </tr>
1836
 
        <tr>
1837
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> gap_bitset_sub_count           </td>
1838
 
          <td class="md" valign="top">(&nbsp;</td>
1839
 
          <td class="md" nowrap valign="top">const unsigned *&nbsp;</td>
1840
 
          <td class="mdname" nowrap> <em>block</em>, </td>
1841
 
        </tr>
1842
 
        <tr>
1843
 
          <td class="md" nowrap align="right"></td>
1844
 
          <td class="md"></td>
1845
 
          <td class="md" nowrap>const T *&nbsp;</td>
1846
 
          <td class="mdname" nowrap> <em>buf</em></td>
1847
 
        </tr>
1848
 
        <tr>
1849
 
          <td class="md"></td>
1850
 
          <td class="md">)&nbsp;</td>
1851
 
          <td class="md" colspan="2"></td>
1852
 
        </tr>
1853
 
      </table>
1854
 
    </td>
1855
 
  </tr>
1856
 
</table>
1857
 
<table cellspacing="5" cellpadding="0" border="0">
1858
 
  <tr>
1859
 
    <td>
1860
 
      &nbsp;
1861
 
    </td>
1862
 
    <td>
1863
 
 
1864
 
<p>
1865
 
Compute bitcount of bit block SUB masked by GAP block. 
1866
 
<p>
1867
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1868
 
  <table border="0" cellspacing="2" cellpadding="0">
1869
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- bitblock buffer pointer. </td></tr>
1870
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
1871
 
  </table>
1872
 
</dl>
1873
 
 
1874
 
<p>
1875
 
Definition at line <a class="el" href="a00106.html#l01316">1316</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1876
 
<p>
1877
 
References <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, and <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
1878
 
<p>
1879
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1880
 
  </tr>
1881
 
</table>
1882
 
<a class="anchor" name="ga8" doxytag="bm::gap_bitset_xor_count"></a><p>
1883
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1884
 
  <tr>
1885
 
    <td class="mdRow">
1886
 
      <table cellpadding="0" cellspacing="0" border="0">
1887
 
        <tr>
1888
 
          <td class="mdPrefix" colspan="4">
1889
 
template&lt;typename T&gt; </td>
1890
 
        </tr>
1891
 
        <tr>
1892
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> gap_bitset_xor_count           </td>
1893
 
          <td class="md" valign="top">(&nbsp;</td>
1894
 
          <td class="md" nowrap valign="top">const unsigned *&nbsp;</td>
1895
 
          <td class="mdname" nowrap> <em>block</em>, </td>
1896
 
        </tr>
1897
 
        <tr>
1898
 
          <td class="md" nowrap align="right"></td>
1899
 
          <td class="md"></td>
1900
 
          <td class="md" nowrap>const T *&nbsp;</td>
1901
 
          <td class="mdname" nowrap> <em>buf</em></td>
1902
 
        </tr>
1903
 
        <tr>
1904
 
          <td class="md"></td>
1905
 
          <td class="md">)&nbsp;</td>
1906
 
          <td class="md" colspan="2"></td>
1907
 
        </tr>
1908
 
      </table>
1909
 
    </td>
1910
 
  </tr>
1911
 
</table>
1912
 
<table cellspacing="5" cellpadding="0" border="0">
1913
 
  <tr>
1914
 
    <td>
1915
 
      &nbsp;
1916
 
    </td>
1917
 
    <td>
1918
 
 
1919
 
<p>
1920
 
Compute bitcount of bit block XOR masked by GAP block. 
1921
 
<p>
1922
 
<dl compact><dt><b>Parameters:</b></dt><dd>
1923
 
  <table border="0" cellspacing="2" cellpadding="0">
1924
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- bitblock buffer pointer. </td></tr>
1925
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
1926
 
  </table>
1927
 
</dl>
1928
 
 
1929
 
<p>
1930
 
Definition at line <a class="el" href="a00106.html#l01350">1350</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
1931
 
<p>
1932
 
References <a class="el" href="a00106.html#l02201">bm::bit_block_calc_count_range()</a>, and <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
1933
 
<p>
1934
 
Referenced by <a class="el" href="a00103.html#l00099">bm::combine_count_operation_with_block()</a>.    </td>
1935
 
  </tr>
1936
 
</table>
1937
 
<a class="anchor" name="ga18" doxytag="bm::is_bits_one"></a><p>
1938
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1939
 
  <tr>
1940
 
    <td class="mdRow">
1941
 
      <table cellpadding="0" cellspacing="0" border="0">
1942
 
        <tr>
1943
 
          <td class="md" nowrap valign="top">bool is_bits_one           </td>
1944
 
          <td class="md" valign="top">(&nbsp;</td>
1945
 
          <td class="md" nowrap valign="top">const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *&nbsp;</td>
1946
 
          <td class="mdname" nowrap> <em>start</em>, </td>
1947
 
        </tr>
1948
 
        <tr>
1949
 
          <td class="md" nowrap align="right"></td>
1950
 
          <td class="md"></td>
1951
 
          <td class="md" nowrap>const <a class="el" href="a00092.html#a31">bm::wordop_t</a> *&nbsp;</td>
1952
 
          <td class="mdname" nowrap> <em>end</em></td>
1953
 
        </tr>
1954
 
        <tr>
1955
 
          <td class="md"></td>
1956
 
          <td class="md">)&nbsp;</td>
1957
 
          <td class="md" colspan="2"><code> [inline]</code></td>
1958
 
        </tr>
1959
 
      </table>
1960
 
    </td>
1961
 
  </tr>
1962
 
</table>
1963
 
<table cellspacing="5" cellpadding="0" border="0">
1964
 
  <tr>
1965
 
    <td>
1966
 
      &nbsp;
1967
 
    </td>
1968
 
    <td>
1969
 
 
1970
 
<p>
1971
 
Returns "true" if all bits in the block are 1. 
1972
 
<p>
1973
 
 
1974
 
<p>
1975
 
Definition at line <a class="el" href="a00106.html#l02288">2288</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
1976
 
  </tr>
1977
 
</table>
1978
 
<a class="anchor" name="ga3" doxytag="bm::or_bit_block"></a><p>
1979
 
<table class="mdTable" cellpadding="2" cellspacing="0">
1980
 
  <tr>
1981
 
    <td class="mdRow">
1982
 
      <table cellpadding="0" cellspacing="0" border="0">
1983
 
        <tr>
1984
 
          <td class="md" nowrap valign="top">void or_bit_block           </td>
1985
 
          <td class="md" valign="top">(&nbsp;</td>
1986
 
          <td class="md" nowrap valign="top">unsigned *&nbsp;</td>
1987
 
          <td class="mdname" nowrap> <em>dest</em>, </td>
1988
 
        </tr>
1989
 
        <tr>
1990
 
          <td class="md" nowrap align="right"></td>
1991
 
          <td class="md"></td>
1992
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1993
 
          <td class="mdname" nowrap> <em>bitpos</em>, </td>
1994
 
        </tr>
1995
 
        <tr>
1996
 
          <td class="md" nowrap align="right"></td>
1997
 
          <td class="md"></td>
1998
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1999
 
          <td class="mdname" nowrap> <em>bitcount</em></td>
2000
 
        </tr>
2001
 
        <tr>
2002
 
          <td class="md"></td>
2003
 
          <td class="md">)&nbsp;</td>
2004
 
          <td class="md" colspan="2"><code> [inline]</code></td>
2005
 
        </tr>
2006
 
      </table>
2007
 
    </td>
2008
 
  </tr>
2009
 
</table>
2010
 
<table cellspacing="5" cellpadding="0" border="0">
2011
 
  <tr>
2012
 
    <td>
2013
 
      &nbsp;
2014
 
    </td>
2015
 
    <td>
2016
 
 
2017
 
<p>
2018
 
Sets bits to 1 in the bitblock. 
2019
 
<p>
2020
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2021
 
  <table border="0" cellspacing="2" cellpadding="0">
2022
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- Bitset buffer. </td></tr>
2023
 
    <tr><td valign="top"></td><td valign="top"><em>bitpos</em>&nbsp;</td><td>- Offset of the start bit. </td></tr>
2024
 
    <tr><td valign="top"></td><td valign="top"><em>bitcount</em>&nbsp;</td><td>- number of bits to set. </td></tr>
2025
 
  </table>
2026
 
</dl>
2027
 
 
2028
 
<p>
2029
 
Definition at line <a class="el" href="a00106.html#l00965">965</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
2030
 
<p>
2031
 
Referenced by <a class="el" href="a00106.html#l01215">bm::gap_add_to_bitset()</a>.    </td>
2032
 
  </tr>
2033
 
</table>
2034
 
<a class="anchor" name="ga4" doxytag="bm::sub_bit_block"></a><p>
2035
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2036
 
  <tr>
2037
 
    <td class="mdRow">
2038
 
      <table cellpadding="0" cellspacing="0" border="0">
2039
 
        <tr>
2040
 
          <td class="md" nowrap valign="top">void sub_bit_block           </td>
2041
 
          <td class="md" valign="top">(&nbsp;</td>
2042
 
          <td class="md" nowrap valign="top">unsigned *&nbsp;</td>
2043
 
          <td class="mdname" nowrap> <em>dest</em>, </td>
2044
 
        </tr>
2045
 
        <tr>
2046
 
          <td class="md" nowrap align="right"></td>
2047
 
          <td class="md"></td>
2048
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2049
 
          <td class="mdname" nowrap> <em>bitpos</em>, </td>
2050
 
        </tr>
2051
 
        <tr>
2052
 
          <td class="md" nowrap align="right"></td>
2053
 
          <td class="md"></td>
2054
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2055
 
          <td class="mdname" nowrap> <em>bitcount</em></td>
2056
 
        </tr>
2057
 
        <tr>
2058
 
          <td class="md"></td>
2059
 
          <td class="md">)&nbsp;</td>
2060
 
          <td class="md" colspan="2"><code> [inline]</code></td>
2061
 
        </tr>
2062
 
      </table>
2063
 
    </td>
2064
 
  </tr>
2065
 
</table>
2066
 
<table cellspacing="5" cellpadding="0" border="0">
2067
 
  <tr>
2068
 
    <td>
2069
 
      &nbsp;
2070
 
    </td>
2071
 
    <td>
2072
 
 
2073
 
<p>
2074
 
SUB (AND NOT) bit interval to 1 in the bitblock. 
2075
 
<p>
2076
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2077
 
  <table border="0" cellspacing="2" cellpadding="0">
2078
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- Bitset buffer. </td></tr>
2079
 
    <tr><td valign="top"></td><td valign="top"><em>bitpos</em>&nbsp;</td><td>- Offset of the start bit. </td></tr>
2080
 
    <tr><td valign="top"></td><td valign="top"><em>bitcount</em>&nbsp;</td><td>- number of bits to set. </td></tr>
2081
 
  </table>
2082
 
</dl>
2083
 
 
2084
 
<p>
2085
 
Definition at line <a class="el" href="a00106.html#l01027">1027</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
2086
 
<p>
2087
 
Referenced by <a class="el" href="a00106.html#l01247">bm::gap_and_to_bitset()</a>, and <a class="el" href="a00106.html#l01151">bm::gap_sub_to_bitset()</a>.    </td>
2088
 
  </tr>
2089
 
</table>
2090
 
<a class="anchor" name="ga0" doxytag="bm::word_bitcount64"></a><p>
2091
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2092
 
  <tr>
2093
 
    <td class="mdRow">
2094
 
      <table cellpadding="0" cellspacing="0" border="0">
2095
 
        <tr>
2096
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a9">bm::id_t</a> word_bitcount64           </td>
2097
 
          <td class="md" valign="top">(&nbsp;</td>
2098
 
          <td class="md" nowrap valign="top"><a class="el" href="a00092.html#a8">bm::id64_t</a>&nbsp;</td>
2099
 
          <td class="mdname1" valign="top" nowrap> <em>w</em>          </td>
2100
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2101
 
          <td class="md" nowrap><code> [inline]</code></td>
2102
 
        </tr>
2103
 
      </table>
2104
 
    </td>
2105
 
  </tr>
2106
 
</table>
2107
 
<table cellspacing="5" cellpadding="0" border="0">
2108
 
  <tr>
2109
 
    <td>
2110
 
      &nbsp;
2111
 
    </td>
2112
 
    <td>
2113
 
 
2114
 
<p>
2115
 
Function calculates number of 1 bits in 64-bit word. 
2116
 
<p>
2117
 
Definition at line <a class="el" href="a00106.html#l00178">178</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
2118
 
<p>
2119
 
Referenced by <a class="el" href="a00106.html#l02021">bm::bit_block_calc_count()</a>, and <a class="el" href="a00106.html#l02113">bm::bit_block_calc_count_change()</a>.    </td>
2120
 
  </tr>
2121
 
</table>
2122
 
<a class="anchor" name="ga2" doxytag="bm::wordcmp"></a><p>
2123
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2124
 
  <tr>
2125
 
    <td class="mdRow">
2126
 
      <table cellpadding="0" cellspacing="0" border="0">
2127
 
        <tr>
2128
 
          <td class="mdPrefix" colspan="4">
2129
 
template&lt;typename T&gt; </td>
2130
 
        </tr>
2131
 
        <tr>
2132
 
          <td class="md" nowrap valign="top">int wordcmp           </td>
2133
 
          <td class="md" valign="top">(&nbsp;</td>
2134
 
          <td class="md" nowrap valign="top">T&nbsp;</td>
2135
 
          <td class="mdname" nowrap> <em>a</em>, </td>
2136
 
        </tr>
2137
 
        <tr>
2138
 
          <td class="md" nowrap align="right"></td>
2139
 
          <td class="md"></td>
2140
 
          <td class="md" nowrap>T&nbsp;</td>
2141
 
          <td class="mdname" nowrap> <em>b</em></td>
2142
 
        </tr>
2143
 
        <tr>
2144
 
          <td class="md"></td>
2145
 
          <td class="md">)&nbsp;</td>
2146
 
          <td class="md" colspan="2"></td>
2147
 
        </tr>
2148
 
      </table>
2149
 
    </td>
2150
 
  </tr>
2151
 
</table>
2152
 
<table cellspacing="5" cellpadding="0" border="0">
2153
 
  <tr>
2154
 
    <td>
2155
 
      &nbsp;
2156
 
    </td>
2157
 
    <td>
2158
 
 
2159
 
<p>
2160
 
Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. 
2161
 
<p>
2162
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2163
 
  <table border="0" cellspacing="2" cellpadding="0">
2164
 
    <tr><td valign="top"></td><td valign="top"><em>buf1</em>&nbsp;</td><td>- First word. </td></tr>
2165
 
    <tr><td valign="top"></td><td valign="top"><em>buf2</em>&nbsp;</td><td>- Second word. </td></tr>
2166
 
  </table>
2167
 
</dl>
2168
 
<dl compact><dt><b>Returns:</b></dt><dd>&lt;0 - less, =0 - equal, &gt;0 - greater. </dd></dl>
2169
 
 
2170
 
<p>
2171
 
Definition at line <a class="el" href="a00106.html#l00281">281</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
2172
 
  </tr>
2173
 
</table>
2174
 
<a class="anchor" name="ga1" doxytag="bm::wordcmp0"></a><p>
2175
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2176
 
  <tr>
2177
 
    <td class="mdRow">
2178
 
      <table cellpadding="0" cellspacing="0" border="0">
2179
 
        <tr>
2180
 
          <td class="mdPrefix" colspan="4">
2181
 
template&lt;typename T&gt; </td>
2182
 
        </tr>
2183
 
        <tr>
2184
 
          <td class="md" nowrap valign="top">int wordcmp0           </td>
2185
 
          <td class="md" valign="top">(&nbsp;</td>
2186
 
          <td class="md" nowrap valign="top">T&nbsp;</td>
2187
 
          <td class="mdname" nowrap> <em>w1</em>, </td>
2188
 
        </tr>
2189
 
        <tr>
2190
 
          <td class="md" nowrap align="right"></td>
2191
 
          <td class="md"></td>
2192
 
          <td class="md" nowrap>T&nbsp;</td>
2193
 
          <td class="mdname" nowrap> <em>w2</em></td>
2194
 
        </tr>
2195
 
        <tr>
2196
 
          <td class="md"></td>
2197
 
          <td class="md">)&nbsp;</td>
2198
 
          <td class="md" colspan="2"></td>
2199
 
        </tr>
2200
 
      </table>
2201
 
    </td>
2202
 
  </tr>
2203
 
</table>
2204
 
<table cellspacing="5" cellpadding="0" border="0">
2205
 
  <tr>
2206
 
    <td>
2207
 
      &nbsp;
2208
 
    </td>
2209
 
    <td>
2210
 
 
2211
 
<p>
2212
 
Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. 
2213
 
<p>
2214
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2215
 
  <table border="0" cellspacing="2" cellpadding="0">
2216
 
    <tr><td valign="top"></td><td valign="top"><em>buf1</em>&nbsp;</td><td>- First word. </td></tr>
2217
 
    <tr><td valign="top"></td><td valign="top"><em>buf2</em>&nbsp;</td><td>- Second word. </td></tr>
2218
 
  </table>
2219
 
</dl>
2220
 
<dl compact><dt><b>Returns:</b></dt><dd>&lt;0 - less, =0 - equal, &gt;0 - greater. </dd></dl>
2221
 
 
2222
 
<p>
2223
 
Definition at line <a class="el" href="a00106.html#l00251">251</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
2224
 
  </tr>
2225
 
</table>
2226
 
<a class="anchor" name="ga5" doxytag="bm::xor_bit_block"></a><p>
2227
 
<table class="mdTable" cellpadding="2" cellspacing="0">
2228
 
  <tr>
2229
 
    <td class="mdRow">
2230
 
      <table cellpadding="0" cellspacing="0" border="0">
2231
 
        <tr>
2232
 
          <td class="md" nowrap valign="top">void xor_bit_block           </td>
2233
 
          <td class="md" valign="top">(&nbsp;</td>
2234
 
          <td class="md" nowrap valign="top">unsigned *&nbsp;</td>
2235
 
          <td class="mdname" nowrap> <em>dest</em>, </td>
2236
 
        </tr>
2237
 
        <tr>
2238
 
          <td class="md" nowrap align="right"></td>
2239
 
          <td class="md"></td>
2240
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2241
 
          <td class="mdname" nowrap> <em>bitpos</em>, </td>
2242
 
        </tr>
2243
 
        <tr>
2244
 
          <td class="md" nowrap align="right"></td>
2245
 
          <td class="md"></td>
2246
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2247
 
          <td class="mdname" nowrap> <em>bitcount</em></td>
2248
 
        </tr>
2249
 
        <tr>
2250
 
          <td class="md"></td>
2251
 
          <td class="md">)&nbsp;</td>
2252
 
          <td class="md" colspan="2"><code> [inline]</code></td>
2253
 
        </tr>
2254
 
      </table>
2255
 
    </td>
2256
 
  </tr>
2257
 
</table>
2258
 
<table cellspacing="5" cellpadding="0" border="0">
2259
 
  <tr>
2260
 
    <td>
2261
 
      &nbsp;
2262
 
    </td>
2263
 
    <td>
2264
 
 
2265
 
<p>
2266
 
XOR bit interval to 1 in the bitblock. 
2267
 
<p>
2268
 
<dl compact><dt><b>Parameters:</b></dt><dd>
2269
 
  <table border="0" cellspacing="2" cellpadding="0">
2270
 
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- Bitset buffer. </td></tr>
2271
 
    <tr><td valign="top"></td><td valign="top"><em>bitpos</em>&nbsp;</td><td>- Offset of the start bit. </td></tr>
2272
 
    <tr><td valign="top"></td><td valign="top"><em>bitcount</em>&nbsp;</td><td>- number of bits to set. </td></tr>
2273
 
  </table>
2274
 
</dl>
2275
 
 
2276
 
<p>
2277
 
Definition at line <a class="el" href="a00106.html#l01089">1089</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
2278
 
<p>
2279
 
Referenced by <a class="el" href="a00106.html#l01183">bm::gap_xor_to_bitset()</a>.    </td>
2280
 
  </tr>
2281
 
</table>
2282
 
<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 20 13:29:10 2006 for BitMagic by&nbsp;
 
83
          <td class="md" nowrap><code> [inline, static]</code></td>
 
84
        </tr>
 
85
      </table>
 
86
    </td>
 
87
  </tr>
 
88
</table>
 
89
<table cellspacing="5" cellpadding="0" border="0">
 
90
  <tr>
 
91
    <td>
 
92
      &nbsp;
 
93
    </td>
 
94
    <td>
 
95
 
 
96
<p>
 
97
 
 
98
<p>
 
99
Definition at line <a class="el" href="a00151.html#l00102">102</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.
 
100
<p>
 
101
References <a class="el" href="a00151.html#l00109">na_</a>, and <a class="el" href="a00151.html#l00110">nf_</a>.    </td>
 
102
  </tr>
 
103
</table>
 
104
<a class="anchor" name="e1" doxytag="dbg_ptr_allocator::deallocate"></a><p>
 
105
<table class="mdTable" cellpadding="2" cellspacing="0">
 
106
  <tr>
 
107
    <td class="mdRow">
 
108
      <table cellpadding="0" cellspacing="0" border="0">
 
109
        <tr>
 
110
          <td class="md" nowrap valign="top">static void dbg_ptr_allocator::deallocate           </td>
 
111
          <td class="md" valign="top">(&nbsp;</td>
 
112
          <td class="md" nowrap valign="top">void *&nbsp;</td>
 
113
          <td class="mdname" nowrap> <em>p</em>, </td>
 
114
        </tr>
 
115
        <tr>
 
116
          <td class="md" nowrap align="right"></td>
 
117
          <td class="md"></td>
 
118
          <td class="md" nowrap>size_t&nbsp;</td>
 
119
          <td class="mdname" nowrap> <em>n</em></td>
 
120
        </tr>
 
121
        <tr>
 
122
          <td class="md"></td>
 
123
          <td class="md">)&nbsp;</td>
 
124
          <td class="md" colspan="2"><code> [inline, static]</code></td>
 
125
        </tr>
 
126
      </table>
 
127
    </td>
 
128
  </tr>
 
129
</table>
 
130
<table cellspacing="5" cellpadding="0" border="0">
 
131
  <tr>
 
132
    <td>
 
133
      &nbsp;
 
134
    </td>
 
135
    <td>
 
136
 
 
137
<p>
 
138
 
 
139
<p>
 
140
Definition at line <a class="el" href="a00151.html#l00093">93</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.
 
141
<p>
 
142
References <a class="el" href="a00151.html#l00110">nf_</a>.    </td>
 
143
  </tr>
 
144
</table>
 
145
<hr><h2>Field Documentation</h2>
 
146
<a class="anchor" name="s0" doxytag="dbg_ptr_allocator::na_"></a><p>
 
147
<table class="mdTable" cellpadding="2" cellspacing="0">
 
148
  <tr>
 
149
    <td class="mdRow">
 
150
      <table cellpadding="0" cellspacing="0" border="0">
 
151
        <tr>
 
152
          <td class="md" nowrap valign="top">unsigned <a class="el" href="a00097.html#s0">dbg_ptr_allocator::na_</a> = 0<code> [static]</code>          </td>
 
153
        </tr>
 
154
      </table>
 
155
    </td>
 
156
  </tr>
 
157
</table>
 
158
<table cellspacing="5" cellpadding="0" border="0">
 
159
  <tr>
 
160
    <td>
 
161
      &nbsp;
 
162
    </td>
 
163
    <td>
 
164
 
 
165
<p>
 
166
 
 
167
<p>
 
168
Definition at line <a class="el" href="a00151.html#l00109">109</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.
 
169
<p>
 
170
Referenced by <a class="el" href="a00151.html#l00083">allocate()</a>, and <a class="el" href="a00151.html#l00102">balance()</a>.    </td>
 
171
  </tr>
 
172
</table>
 
173
<a class="anchor" name="s1" doxytag="dbg_ptr_allocator::nf_"></a><p>
 
174
<table class="mdTable" cellpadding="2" cellspacing="0">
 
175
  <tr>
 
176
    <td class="mdRow">
 
177
      <table cellpadding="0" cellspacing="0" border="0">
 
178
        <tr>
 
179
          <td class="md" nowrap valign="top">unsigned <a class="el" href="a00097.html#s1">dbg_ptr_allocator::nf_</a> = 0<code> [static]</code>          </td>
 
180
        </tr>
 
181
      </table>
 
182
    </td>
 
183
  </tr>
 
184
</table>
 
185
<table cellspacing="5" cellpadding="0" border="0">
 
186
  <tr>
 
187
    <td>
 
188
      &nbsp;
 
189
    </td>
 
190
    <td>
 
191
 
 
192
<p>
 
193
 
 
194
<p>
 
195
Definition at line <a class="el" href="a00151.html#l00110">110</a> of file <a class="el" href="a00151.html">sample6.cpp</a>.
 
196
<p>
 
197
Referenced by <a class="el" href="a00151.html#l00102">balance()</a>, and <a class="el" href="a00151.html#l00093">deallocate()</a>.    </td>
 
198
  </tr>
 
199
</table>
 
200
<hr>The documentation for this class was generated from the following file:<ul>
 
201
<li><a class="el" href="a00151.html">sample6.cpp</a></ul>
 
202
<hr size="1"><address style="align: right;"><small>Generated on Sun Aug 5 14:12:35 2007 for BitMagic by&nbsp;
2283
203
<a href="http://www.doxygen.org/index.html">
2284
204
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
2285
205
</body>