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

« back to all changes in this revision

Viewing changes to html/a00078.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: bmfunc.h File Reference</title>
 
3
<title>BitMagic: bm::bit_XOR&lt; W &gt; Struct Template 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
8
<div class="nav">
9
 
<a class="el" href="dir_000000.html">src</a></div>
10
 
<h1>bmfunc.h File Reference</h1><code>#include &lt;memory.h&gt;</code><br>
11
 
 
12
 
<p>
13
 
Include dependency graph for bmfunc.h:<p><center><img src="a00136.png" border="0" usemap="#bmfunc.h_map" alt=""></center>
14
 
 
15
 
<p>
16
 
This graph shows which files directly or indirectly include this file:<p><center><img src="a00137.png" border="0" usemap="#bmfunc.hdep_map" alt=""></center>
17
 
<map name="bmfunc.hdep_map">
18
 
<area href="a00074.html" shape="rect" coords="132,192,172,214" alt="">
19
 
<area href="a00075.html" shape="rect" coords="232,6,296,27" alt="">
20
 
<area href="a00091.html" shape="rect" coords="356,30,444,51" alt="">
21
 
<area href="a00083.html" shape="rect" coords="221,102,307,123" alt="">
22
 
<area href="a00084.html" shape="rect" coords="221,147,307,168" alt="">
23
 
<area href="a00085.html" shape="rect" coords="220,192,308,214" alt="">
24
 
<area href="a00086.html" shape="rect" coords="221,238,307,259" alt="">
25
 
<area href="a00087.html" shape="rect" coords="220,283,308,304" alt="">
26
 
<area href="a00088.html" shape="rect" coords="221,328,307,350" alt="">
27
 
<area href="a00089.html" shape="rect" coords="221,374,307,395" alt="">
28
 
<area href="a00090.html" shape="rect" coords="220,419,308,440" alt="">
29
 
</map>
30
 
 
31
 
<p>
32
 
<a href="a00106.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 
9
<a class="el" href="a00129.html">bm</a>::<a class="el" href="a00078.html">bit_XOR</a></div>
 
10
<h1>bm::bit_XOR&lt; W &gt; Struct Template Reference</h1>Bit XOR functor.  
 
11
<a href="#_details">More...</a>
 
12
<p>
 
13
<code>#include &lt;<a class="el" href="a00141.html">bmfunc.h</a>&gt;</code>
 
14
<p>
 
15
<table border="0" cellpadding="0" cellspacing="0">
33
16
<tr><td></td></tr>
34
 
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
35
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html">bm</a></td></tr>
36
 
 
37
 
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
38
 
<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>
39
 
 
40
 
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a159">operation</a> { <a class="el" href="a00092.html#a159a1">BM_AND</a> =  0, 
42
 
<a class="el" href="a00092.html#a159a2">BM_OR</a>, 
43
 
<a class="el" href="a00092.html#a159a3">BM_SUB</a>, 
44
 
<a class="el" href="a00092.html#a159a4">BM_XOR</a>
45
 
 }</td></tr>
46
 
 
47
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bit operations enumeration.  <a href="a00092.html#a159">More...</a><br></td></tr>
48
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a160">ByteOrder</a> { <a class="el" href="a00092.html#a160a5">BigEndian</a> =  0, 
49
 
<a class="el" href="a00092.html#a160a6">LittleEndian</a> =  1
50
 
 }</td></tr>
51
 
 
52
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte orders recognized by the library.  <a href="a00092.html#a160">More...</a><br></td></tr>
53
 
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
54
 
<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">word_bitcount64</a> (<a class="el" href="a00092.html#a8">bm::id64_t</a> w)</td></tr>
55
 
 
56
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename W&gt; </td></tr>
57
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a48">xor_swap</a> (W &amp;x, W &amp;y)</td></tr>
58
 
 
59
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR swap two scalar variables.  <a href="#a48"></a><br></td></tr>
60
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
61
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga1">wordcmp0</a> (T w1, T w2)</td></tr>
62
 
 
63
 
<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="a00097.html#ga1"></a><br></td></tr>
64
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
65
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga2">wordcmp</a> (T a, T b)</td></tr>
66
 
 
67
 
<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="a00097.html#ga2"></a><br></td></tr>
68
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
69
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a51">gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</td></tr>
70
 
 
71
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
72
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga0">gap_test</a> (const T *buf, unsigned pos)</td></tr>
73
 
 
74
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if bit = pos is true.  <a href="a00096.html#ga0"></a><br></td></tr>
75
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
76
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a53">for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
77
 
 
78
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
79
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a54">for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
80
 
 
81
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
82
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a55">for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &amp;f)</td></tr>
83
 
 
84
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T, class F&gt; </td></tr>
85
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a56">bmfor_each</a> (T first, T last, F f)</td></tr>
86
 
 
87
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
88
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a57">sum_arr</a> (T *first, T *last)</td></tr>
89
 
 
90
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
91
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga1">gap_bit_count</a> (const T *buf)</td></tr>
92
 
 
93
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates number of bits ON in GAP buffer.  <a href="a00096.html#ga1"></a><br></td></tr>
94
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
95
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00092.html#a59">gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
96
 
 
97
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts 1 bits in GAP buffer in the closed [left, right] diapason.  <a href="#a59"></a><br></td></tr>
98
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
99
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga2">gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
100
 
 
101
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of GAP buffers.  <a href="a00096.html#ga2"></a><br></td></tr>
102
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, class F&gt; </td></tr>
103
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga3">gap_buff_op</a> (T *BMRESTRICT dest, const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
104
 
 
105
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract operation for GAP buffers. Receives functor F as a template argument.  <a href="a00096.html#ga3"></a><br></td></tr>
106
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
107
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga4">gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
108
 
 
109
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument Sets or clears bit in the GAP buffer.  <a href="a00096.html#ga4"></a><br></td></tr>
110
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
111
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga5">gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00092.html#a9">bm::id_t</a> *prev)</td></tr>
112
 
 
113
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the GAP block.  <a href="a00096.html#ga5"></a><br></td></tr>
114
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga3">or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
115
 
 
116
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets bits to 1 in the bitblock.  <a href="a00097.html#ga3"></a><br></td></tr>
117
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga4">sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
118
 
 
119
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock.  <a href="a00097.html#ga4"></a><br></td></tr>
120
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga5">xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
121
 
 
122
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR bit interval to 1 in the bitblock.  <a href="a00097.html#ga5"></a><br></td></tr>
123
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
124
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga6">gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
125
 
 
126
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock.  <a href="a00096.html#ga6"></a><br></td></tr>
127
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
128
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga7">gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
129
 
 
130
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XOR GAP block to bitblock.  <a href="a00096.html#ga7"></a><br></td></tr>
131
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
132
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga8">gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
133
 
 
134
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds(OR) GAP block to bitblock.  <a href="a00096.html#ga8"></a><br></td></tr>
135
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
136
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga9">gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
137
 
 
138
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ANDs GAP block to bitblock.  <a href="a00096.html#ga9"></a><br></td></tr>
139
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
140
 
<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">gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
141
 
 
142
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block.  <a href="a00097.html#ga6"></a><br></td></tr>
143
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
144
 
<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">gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
145
 
 
146
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block.  <a href="a00097.html#ga7"></a><br></td></tr>
147
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
148
 
<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">gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
149
 
 
150
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block.  <a href="a00097.html#ga8"></a><br></td></tr>
151
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
152
 
<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">gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
153
 
 
154
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block.  <a href="a00097.html#ga9"></a><br></td></tr>
155
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga10">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>
156
 
 
157
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock memset operation.  <a href="a00097.html#ga10"></a><br></td></tr>
158
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
159
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga10">gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
160
 
 
161
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00096.html#ga10"></a><br></td></tr>
162
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
163
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga11">gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
164
 
 
165
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP block to bitblock conversion.  <a href="a00096.html#ga11"></a><br></td></tr>
166
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
167
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga12">gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, <a class="el" href="a00092.html#a9">id_t</a> set_max)</td></tr>
168
 
 
169
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart GAP block to bitblock conversion.  <a href="a00096.html#ga12"></a><br></td></tr>
170
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
171
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga13">gap_control_sum</a> (const T *buf)</td></tr>
172
 
 
173
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates sum of all words in GAP block. (For debugging purposes).  <a href="a00096.html#ga13"></a><br></td></tr>
174
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
175
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga14">gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
176
 
 
177
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all bits to 0 or 1 (GAP).  <a href="a00096.html#ga14"></a><br></td></tr>
178
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T&gt; </td></tr>
179
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga15">gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
180
 
 
181
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Init gap block so it has block in it (can be whole block).  <a href="a00096.html#ga15"></a><br></td></tr>
182
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
183
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga16">gap_invert</a> (T *buf)</td></tr>
184
 
 
185
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts all bits in the GAP buffer.  <a href="a00096.html#ga16"></a><br></td></tr>
186
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
187
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga17">gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
188
 
 
189
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporary inverts all bits in the GAP buffer. Checks if GAP block is all-zero.  <a href="a00096.html#ga17"></a><br></td></tr>
190
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
191
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga18">gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
192
 
 
193
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if GAP block is all-one.  <a href="a00096.html#ga18"></a><br></td></tr>
194
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
195
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga19">gap_length</a> (const T *buf)</td></tr>
196
 
 
197
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block length.  <a href="a00096.html#ga19"></a><br></td></tr>
198
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
199
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga20">gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
200
 
 
201
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity.  <a href="a00096.html#ga20"></a><br></td></tr>
202
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
203
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga21">gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
204
 
 
205
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP block capacity limit.  <a href="a00096.html#ga21"></a><br></td></tr>
206
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
207
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga22">gap_level</a> (const T *buf)</td></tr>
208
 
 
209
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returs GAP blocks capacity level.  <a href="a00096.html#ga22"></a><br></td></tr>
210
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
211
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga23">set_gap_level</a> (T *buf, unsigned level)</td></tr>
212
 
 
213
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets GAP block capacity level.  <a href="a00096.html#ga23"></a><br></td></tr>
214
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
215
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga24">gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
216
 
 
217
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates GAP block capacity level.  <a href="a00096.html#ga24"></a><br></td></tr>
218
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
219
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga25">gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
220
 
 
221
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns number of free elements in GAP block array. Difference between GAP block capacity on this level and actual GAP length.  <a href="a00096.html#ga25"></a><br></td></tr>
222
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
223
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga11">bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
224
 
 
225
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lexicographical comparison of BIT buffers.  <a href="a00097.html#ga11"></a><br></td></tr>
226
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
227
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga26">bit_convert_to_gap</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>
228
 
 
229
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts bit block to GAP.  <a href="a00096.html#ga26"></a><br></td></tr>
230
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename D, typename T&gt; </td></tr>
231
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">D&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga27">gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len)</td></tr>
232
 
 
233
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert gap block into array of ints corresponding to 1 bits.  <a href="a00096.html#ga27"></a><br></td></tr>
234
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
235
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga12">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>
236
 
 
237
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits.  <a href="a00097.html#ga12"></a><br></td></tr>
238
 
<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">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>
239
 
 
240
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitcount for bit string.  <a href="a00097.html#ga13"></a><br></td></tr>
241
 
<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">bit_count_change</a> (<a class="el" href="a00092.html#a10">bm::word_t</a> w)</td></tr>
242
 
 
243
 
<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">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>
244
 
 
245
 
<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">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>
246
 
 
247
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
248
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga17">bit_invert</a> (T *start, T *end)</td></tr>
249
 
 
250
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga18">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>
251
 
 
252
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 1.  <a href="a00097.html#ga18"></a><br></td></tr>
253
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga19">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>
254
 
 
255
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns "true" if all bits in the block are 0.  <a href="a00097.html#ga19"></a><br></td></tr>
256
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a103">and_op</a> (unsigned v1, unsigned v2)</td></tr>
257
 
 
258
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP and functor.  <a href="#a103"></a><br></td></tr>
259
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a104">xor_op</a> (unsigned v1, unsigned v2)</td></tr>
260
 
 
261
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP xor functor.  <a href="#a104"></a><br></td></tr>
262
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ga28">gap_operation_and</a> (const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
263
 
 
264
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP AND operation.  <a href="a00096.html#ga28"></a><br></td></tr>
265
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ga29">gap_operation_xor</a> (const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
266
 
 
267
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP XOR operation.  <a href="a00096.html#ga29"></a><br></td></tr>
268
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ga30">gap_operation_or</a> (const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
269
 
 
270
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP OR operation.  <a href="a00096.html#ga30"></a><br></td></tr>
271
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00092.html#a19">gap_word_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ga31">gap_operation_sub</a> (const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00092.html#a19">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
272
 
 
273
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GAP SUB (AND NOT) operation.  <a href="a00096.html#ga31"></a><br></td></tr>
274
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga20">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>
275
 
 
276
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bitblock copy operation.  <a href="a00097.html#ga20"></a><br></td></tr>
277
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga21">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>
278
 
 
279
 
<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="a00097.html#ga21"></a><br></td></tr>
280
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga22">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>
281
 
 
282
 
<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="a00097.html#ga22"></a><br></td></tr>
283
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga23">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>
284
 
 
285
 
<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="a00097.html#ga23"></a><br></td></tr>
286
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga24">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>
287
 
 
288
 
<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="a00097.html#ga24"></a><br></td></tr>
289
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga25">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>
290
 
 
291
 
<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="a00097.html#ga25"></a><br></td></tr>
292
 
<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">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>
293
 
 
294
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock AND operation.  <a href="a00097.html#ga26"></a><br></td></tr>
295
 
<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">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>
296
 
 
297
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result.  <a href="a00097.html#ga27"></a><br></td></tr>
298
 
<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">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>
299
 
 
300
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result.  <a href="a00097.html#ga28"></a><br></td></tr>
301
 
<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">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>
302
 
 
303
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result.  <a href="a00097.html#ga29"></a><br></td></tr>
304
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga30">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>
305
 
 
306
 
<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="a00097.html#ga30"></a><br></td></tr>
307
 
<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">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>
308
 
 
309
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL.  <a href="a00097.html#ga31"></a><br></td></tr>
310
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga32">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>
311
 
 
312
 
<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="a00097.html#ga32"></a><br></td></tr>
313
 
<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">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>
314
 
 
315
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock SUB operation.  <a href="a00097.html#ga33"></a><br></td></tr>
316
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga34">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>
317
 
 
318
 
<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="a00097.html#ga34"></a><br></td></tr>
319
 
<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">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>
320
 
 
321
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bitblock XOR operation.  <a href="a00097.html#ga35"></a><br></td></tr>
322
 
<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">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>
323
 
 
324
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result.  <a href="a00097.html#ga36"></a><br></td></tr>
325
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga37">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>
326
 
 
327
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inspects bit block for zero words at the head and at the end.  <a href="a00097.html#ga37"></a><br></td></tr>
328
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ga38">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>
329
 
 
330
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for the next 1 bit in the BIT block.  <a href="a00097.html#ga38"></a><br></td></tr>
331
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T, typename B&gt; </td></tr>
332
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00097.html#ga39">bit_list</a> (T w, B *bits)</td></tr>
333
 
 
334
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpacks word into list of ON bit indexes.  <a href="a00097.html#ga39"></a><br></td></tr>
335
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
336
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga32">gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
337
 
 
338
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates memory overhead for number of gap blocks sharing the same memory allocation table (level lengths table).  <a href="a00096.html#ga32"></a><br></td></tr>
339
 
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
340
 
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00096.html#ga33">improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
341
 
 
342
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds optimal gap blocks lengths.  <a href="a00096.html#ga33"></a><br></td></tr>
343
 
</table>
344
 
<hr><h2>Enumeration Type Documentation</h2>
345
 
<a class="anchor" name="file_a160" doxytag="bmfunc.h::ByteOrder"></a><p>
346
 
<table class="mdTable" cellpadding="2" cellspacing="0">
347
 
  <tr>
348
 
    <td class="mdRow">
349
 
      <table cellpadding="0" cellspacing="0" border="0">
350
 
        <tr>
351
 
          <td class="md" nowrap valign="top">enum <a class="el" href="a00092.html#a160">bm::ByteOrder</a>          </td>
352
 
        </tr>
353
 
      </table>
354
 
    </td>
355
 
  </tr>
356
 
</table>
357
 
<table cellspacing="5" cellpadding="0" border="0">
358
 
  <tr>
359
 
    <td>
360
 
      &nbsp;
361
 
    </td>
362
 
    <td>
363
 
 
364
 
<p>
365
 
Byte orders recognized by the library. 
366
 
<p>
367
 
<dl compact><dt><b>Enumeration values: </b></dt><dd>
368
 
<table border="0" cellspacing="2" cellpadding="0">
369
 
<tr><td valign="top"><em><a class="anchor" name="a160a5" doxytag="BigEndian"></a>BigEndian</em>&nbsp;</td><td>
370
 
</td></tr>
371
 
<tr><td valign="top"><em><a class="anchor" name="a160a6" doxytag="LittleEndian"></a>LittleEndian</em>&nbsp;</td><td>
372
 
</td></tr>
373
 
</table>
374
 
</dl>
375
 
 
376
 
<p>
377
 
Definition at line <a class="el" href="a00106.html#l00307">307</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
378
 
  </tr>
379
 
</table>
380
 
<a class="anchor" name="file_a159" doxytag="bmfunc.h::operation"></a><p>
381
 
<table class="mdTable" cellpadding="2" cellspacing="0">
382
 
  <tr>
383
 
    <td class="mdRow">
384
 
      <table cellpadding="0" cellspacing="0" border="0">
385
 
        <tr>
386
 
          <td class="md" nowrap valign="top">enum <a class="el" href="a00092.html#a159">bm::operation</a>          </td>
387
 
        </tr>
388
 
      </table>
389
 
    </td>
390
 
  </tr>
391
 
</table>
392
 
<table cellspacing="5" cellpadding="0" border="0">
393
 
  <tr>
394
 
    <td>
395
 
      &nbsp;
396
 
    </td>
397
 
    <td>
398
 
 
399
 
<p>
400
 
Bit operations enumeration. 
401
 
<p>
402
 
<dl compact><dt><b>Enumeration values: </b></dt><dd>
403
 
<table border="0" cellspacing="2" cellpadding="0">
404
 
<tr><td valign="top"><em><a class="anchor" name="a159a1" doxytag="BM_AND"></a>BM_AND</em>&nbsp;</td><td>
405
 
</td></tr>
406
 
<tr><td valign="top"><em><a class="anchor" name="a159a2" doxytag="BM_OR"></a>BM_OR</em>&nbsp;</td><td>
407
 
</td></tr>
408
 
<tr><td valign="top"><em><a class="anchor" name="a159a3" doxytag="BM_SUB"></a>BM_SUB</em>&nbsp;</td><td>
409
 
</td></tr>
410
 
<tr><td valign="top"><em><a class="anchor" name="a159a4" doxytag="BM_XOR"></a>BM_XOR</em>&nbsp;</td><td>
411
 
</td></tr>
412
 
</table>
413
 
</dl>
414
 
 
415
 
<p>
416
 
Definition at line <a class="el" href="a00106.html#l00197">197</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
417
 
  </tr>
418
 
</table>
419
 
<hr><h2>Function Documentation</h2>
420
 
<a class="anchor" name="file_a103" doxytag="bmfunc.h::and_op"></a><p>
421
 
<table class="mdTable" cellpadding="2" cellspacing="0">
422
 
  <tr>
423
 
    <td class="mdRow">
424
 
      <table cellpadding="0" cellspacing="0" border="0">
425
 
        <tr>
426
 
          <td class="md" nowrap valign="top">unsigned and_op           </td>
427
 
          <td class="md" valign="top">(&nbsp;</td>
428
 
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
429
 
          <td class="mdname" nowrap> <em>v1</em>, </td>
430
 
        </tr>
431
 
        <tr>
432
 
          <td class="md" nowrap align="right"></td>
433
 
          <td class="md"></td>
434
 
          <td class="md" nowrap>unsigned&nbsp;</td>
435
 
          <td class="mdname" nowrap> <em>v2</em></td>
436
 
        </tr>
437
 
        <tr>
438
 
          <td class="md"></td>
439
 
          <td class="md">)&nbsp;</td>
440
 
          <td class="md" colspan="2"><code> [inline]</code></td>
441
 
        </tr>
442
 
      </table>
443
 
    </td>
444
 
  </tr>
445
 
</table>
446
 
<table cellspacing="5" cellpadding="0" border="0">
447
 
  <tr>
448
 
    <td>
449
 
      &nbsp;
450
 
    </td>
451
 
    <td>
452
 
 
453
 
<p>
454
 
GAP and functor. 
455
 
<p>
456
 
 
457
 
<p>
458
 
Definition at line <a class="el" href="a00106.html#l02329">2329</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
459
 
  </tr>
460
 
</table>
461
 
<a class="anchor" name="file_a56" doxytag="bmfunc.h::bmfor_each"></a><p>
462
 
<table class="mdTable" cellpadding="2" cellspacing="0">
463
 
  <tr>
464
 
    <td class="mdRow">
465
 
      <table cellpadding="0" cellspacing="0" border="0">
466
 
        <tr>
467
 
          <td class="mdPrefix" colspan="4">
468
 
template&lt;class T, class F&gt; </td>
469
 
        </tr>
470
 
        <tr>
471
 
          <td class="md" nowrap valign="top">F bmfor_each           </td>
472
 
          <td class="md" valign="top">(&nbsp;</td>
473
 
          <td class="md" nowrap valign="top">T&nbsp;</td>
474
 
          <td class="mdname" nowrap> <em>first</em>, </td>
475
 
        </tr>
476
 
        <tr>
477
 
          <td class="md" nowrap align="right"></td>
478
 
          <td class="md"></td>
479
 
          <td class="md" nowrap>T&nbsp;</td>
480
 
          <td class="mdname" nowrap> <em>last</em>, </td>
481
 
        </tr>
482
 
        <tr>
483
 
          <td class="md" nowrap align="right"></td>
484
 
          <td class="md"></td>
485
 
          <td class="md" nowrap>F&nbsp;</td>
486
 
          <td class="mdname" nowrap> <em>f</em></td>
487
 
        </tr>
488
 
        <tr>
489
 
          <td class="md"></td>
490
 
          <td class="md">)&nbsp;</td>
491
 
          <td class="md" colspan="2"></td>
492
 
        </tr>
493
 
      </table>
494
 
    </td>
495
 
  </tr>
496
 
</table>
497
 
<table cellspacing="5" cellpadding="0" border="0">
498
 
  <tr>
499
 
    <td>
500
 
      &nbsp;
501
 
    </td>
502
 
    <td>
503
 
 
504
 
<p>
505
 
Special BM optimized analog of STL for_each 
506
 
<p>
507
 
Definition at line <a class="el" href="a00106.html#l00517">517</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
508
 
  </tr>
509
 
</table>
510
 
<a class="anchor" name="file_a55" doxytag="bmfunc.h::for_each_block"></a><p>
511
 
<table class="mdTable" cellpadding="2" cellspacing="0">
512
 
  <tr>
513
 
    <td class="mdRow">
514
 
      <table cellpadding="0" cellspacing="0" border="0">
515
 
        <tr>
516
 
          <td class="mdPrefix" colspan="4">
517
 
template&lt;class T, class F&gt; </td>
518
 
        </tr>
519
 
        <tr>
520
 
          <td class="md" nowrap valign="top">void for_each_block           </td>
521
 
          <td class="md" valign="top">(&nbsp;</td>
522
 
          <td class="md" nowrap valign="top">T ***&nbsp;</td>
523
 
          <td class="mdname" nowrap> <em>root</em>, </td>
524
 
        </tr>
525
 
        <tr>
526
 
          <td class="md" nowrap align="right"></td>
527
 
          <td class="md"></td>
528
 
          <td class="md" nowrap>unsigned&nbsp;</td>
529
 
          <td class="mdname" nowrap> <em>size1</em>, </td>
530
 
        </tr>
531
 
        <tr>
532
 
          <td class="md" nowrap align="right"></td>
533
 
          <td class="md"></td>
534
 
          <td class="md" nowrap>unsigned&nbsp;</td>
535
 
          <td class="mdname" nowrap> <em>size2</em>, </td>
536
 
        </tr>
537
 
        <tr>
538
 
          <td class="md" nowrap align="right"></td>
539
 
          <td class="md"></td>
540
 
          <td class="md" nowrap>F &amp;&nbsp;</td>
541
 
          <td class="mdname" nowrap> <em>f</em></td>
542
 
        </tr>
543
 
        <tr>
544
 
          <td class="md"></td>
545
 
          <td class="md">)&nbsp;</td>
546
 
          <td class="md" colspan="2"></td>
547
 
        </tr>
548
 
      </table>
549
 
    </td>
550
 
  </tr>
551
 
</table>
552
 
<table cellspacing="5" cellpadding="0" border="0">
553
 
  <tr>
554
 
    <td>
555
 
      &nbsp;
556
 
    </td>
557
 
    <td>
558
 
 
559
 
<p>
560
 
For each block executes supplied function. 
561
 
<p>
562
 
Definition at line <a class="el" href="a00106.html#l00488">488</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
563
 
<p>
564
 
Referenced by <a class="el" href="a00103.html#l00810">bm::count_intervals()</a>, and <a class="el" href="a00102.html#l01732">bm::bvector&lt; Alloc, MS &gt;::invert()</a>.    </td>
565
 
  </tr>
566
 
</table>
567
 
<a class="anchor" name="file_a53" doxytag="bmfunc.h::for_each_nzblock"></a><p>
568
 
<table class="mdTable" cellpadding="2" cellspacing="0">
569
 
  <tr>
570
 
    <td class="mdRow">
571
 
      <table cellpadding="0" cellspacing="0" border="0">
572
 
        <tr>
573
 
          <td class="mdPrefix" colspan="4">
574
 
template&lt;class T, class F&gt; </td>
575
 
        </tr>
576
 
        <tr>
577
 
          <td class="md" nowrap valign="top">void for_each_nzblock           </td>
578
 
          <td class="md" valign="top">(&nbsp;</td>
579
 
          <td class="md" nowrap valign="top">T ***&nbsp;</td>
580
 
          <td class="mdname" nowrap> <em>root</em>, </td>
581
 
        </tr>
582
 
        <tr>
583
 
          <td class="md" nowrap align="right"></td>
584
 
          <td class="md"></td>
585
 
          <td class="md" nowrap>unsigned&nbsp;</td>
586
 
          <td class="mdname" nowrap> <em>size1</em>, </td>
587
 
        </tr>
588
 
        <tr>
589
 
          <td class="md" nowrap align="right"></td>
590
 
          <td class="md"></td>
591
 
          <td class="md" nowrap>unsigned&nbsp;</td>
592
 
          <td class="mdname" nowrap> <em>size2</em>, </td>
593
 
        </tr>
594
 
        <tr>
595
 
          <td class="md" nowrap align="right"></td>
596
 
          <td class="md"></td>
597
 
          <td class="md" nowrap>F &amp;&nbsp;</td>
598
 
          <td class="mdname" nowrap> <em>f</em></td>
599
 
        </tr>
600
 
        <tr>
601
 
          <td class="md"></td>
602
 
          <td class="md">)&nbsp;</td>
603
 
          <td class="md" colspan="2"></td>
604
 
        </tr>
605
 
      </table>
606
 
    </td>
607
 
  </tr>
608
 
</table>
609
 
<table cellspacing="5" cellpadding="0" border="0">
610
 
  <tr>
611
 
    <td>
612
 
      &nbsp;
613
 
    </td>
614
 
    <td>
615
 
 
616
 
<p>
617
 
For each non-zero block executes supplied function. 
618
 
<p>
619
 
Definition at line <a class="el" href="a00106.html#l00437">437</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
620
 
<p>
621
 
Referenced by <a class="el" href="a00102.html#l01603">bm::bvector&lt; Alloc, MS &gt;::count()</a>, <a class="el" href="a00102.html#l01081">bm::bvector&lt; Alloc, MS &gt;::count_blocks()</a>, <a class="el" href="a00102.html#l01790">bm::bvector&lt; Alloc, MS &gt;::optimize()</a>, and <a class="el" href="a00102.html#l01829">bm::bvector&lt; Alloc, MS &gt;::set_gap_levels()</a>.    </td>
622
 
  </tr>
623
 
</table>
624
 
<a class="anchor" name="file_a54" doxytag="bmfunc.h::for_each_nzblock_if"></a><p>
625
 
<table class="mdTable" cellpadding="2" cellspacing="0">
626
 
  <tr>
627
 
    <td class="mdRow">
628
 
      <table cellpadding="0" cellspacing="0" border="0">
629
 
        <tr>
630
 
          <td class="mdPrefix" colspan="4">
631
 
template&lt;class T, class F&gt; </td>
632
 
        </tr>
633
 
        <tr>
634
 
          <td class="md" nowrap valign="top">bool for_each_nzblock_if           </td>
635
 
          <td class="md" valign="top">(&nbsp;</td>
636
 
          <td class="md" nowrap valign="top">T ***&nbsp;</td>
637
 
          <td class="mdname" nowrap> <em>root</em>, </td>
638
 
        </tr>
639
 
        <tr>
640
 
          <td class="md" nowrap align="right"></td>
641
 
          <td class="md"></td>
642
 
          <td class="md" nowrap>unsigned&nbsp;</td>
643
 
          <td class="mdname" nowrap> <em>size1</em>, </td>
644
 
        </tr>
645
 
        <tr>
646
 
          <td class="md" nowrap align="right"></td>
647
 
          <td class="md"></td>
648
 
          <td class="md" nowrap>unsigned&nbsp;</td>
649
 
          <td class="mdname" nowrap> <em>size2</em>, </td>
650
 
        </tr>
651
 
        <tr>
652
 
          <td class="md" nowrap align="right"></td>
653
 
          <td class="md"></td>
654
 
          <td class="md" nowrap>F &amp;&nbsp;</td>
655
 
          <td class="mdname" nowrap> <em>f</em></td>
656
 
        </tr>
657
 
        <tr>
658
 
          <td class="md"></td>
659
 
          <td class="md">)&nbsp;</td>
660
 
          <td class="md" colspan="2"></td>
661
 
        </tr>
662
 
      </table>
663
 
    </td>
664
 
  </tr>
665
 
</table>
666
 
<table cellspacing="5" cellpadding="0" border="0">
667
 
  <tr>
668
 
    <td>
669
 
      &nbsp;
670
 
    </td>
671
 
    <td>
672
 
 
673
 
<p>
674
 
For each non-zero block executes supplied function-predicate. Function returns if function-predicate returns true 
675
 
<p>
676
 
Definition at line <a class="el" href="a00106.html#l00462">462</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
677
 
<p>
678
 
Referenced by <a class="el" href="a00102.html#l01149">bm::bvector&lt; Alloc, MS &gt;::any()</a>.    </td>
679
 
  </tr>
680
 
</table>
681
 
<a class="anchor" name="file_a51" doxytag="bmfunc.h::gap_bfind"></a><p>
682
 
<table class="mdTable" cellpadding="2" cellspacing="0">
683
 
  <tr>
684
 
    <td class="mdRow">
685
 
      <table cellpadding="0" cellspacing="0" border="0">
686
 
        <tr>
687
 
          <td class="mdPrefix" colspan="4">
688
 
template&lt;typename T&gt; </td>
689
 
        </tr>
690
 
        <tr>
691
 
          <td class="md" nowrap valign="top">unsigned gap_bfind           </td>
692
 
          <td class="md" valign="top">(&nbsp;</td>
693
 
          <td class="md" nowrap valign="top">const T *&nbsp;</td>
694
 
          <td class="mdname" nowrap> <em>buf</em>, </td>
695
 
        </tr>
696
 
        <tr>
697
 
          <td class="md" nowrap align="right"></td>
698
 
          <td class="md"></td>
699
 
          <td class="md" nowrap>unsigned&nbsp;</td>
700
 
          <td class="mdname" nowrap> <em>pos</em>, </td>
701
 
        </tr>
702
 
        <tr>
703
 
          <td class="md" nowrap align="right"></td>
704
 
          <td class="md"></td>
705
 
          <td class="md" nowrap>unsigned *&nbsp;</td>
706
 
          <td class="mdname" nowrap> <em>is_set</em></td>
707
 
        </tr>
708
 
        <tr>
709
 
          <td class="md"></td>
710
 
          <td class="md">)&nbsp;</td>
711
 
          <td class="md" colspan="2"></td>
712
 
        </tr>
713
 
      </table>
714
 
    </td>
715
 
  </tr>
716
 
</table>
717
 
<table cellspacing="5" cellpadding="0" border="0">
718
 
  <tr>
719
 
    <td>
720
 
      &nbsp;
721
 
    </td>
722
 
    <td>
723
 
 
724
 
<p>
725
 
 
726
 
<p>
727
 
Definition at line <a class="el" href="a00106.html#l00371">371</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
728
 
<p>
729
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
730
 
<p>
731
 
Referenced by <a class="el" href="a00106.html#l00579">bm::gap_bit_count_range()</a>, <a class="el" href="a00106.html#l00935">bm::gap_find_in_block()</a>, and <a class="el" href="a00106.html#l00843">bm::gap_set_value()</a>.    </td>
732
 
  </tr>
733
 
</table>
734
 
<a class="anchor" name="file_a59" doxytag="bmfunc.h::gap_bit_count_range"></a><p>
735
 
<table class="mdTable" cellpadding="2" cellspacing="0">
736
 
  <tr>
737
 
    <td class="mdRow">
738
 
      <table cellpadding="0" cellspacing="0" border="0">
739
 
        <tr>
740
 
          <td class="mdPrefix" colspan="4">
741
 
template&lt;typename T&gt; </td>
742
 
        </tr>
743
 
        <tr>
744
 
          <td class="md" nowrap valign="top">unsigned gap_bit_count_range           </td>
745
 
          <td class="md" valign="top">(&nbsp;</td>
746
 
          <td class="md" nowrap valign="top">const T *&nbsp;</td>
747
 
          <td class="mdname" nowrap> <em>buf</em>, </td>
748
 
        </tr>
749
 
        <tr>
750
 
          <td class="md" nowrap align="right"></td>
751
 
          <td class="md"></td>
752
 
          <td class="md" nowrap>T&nbsp;</td>
753
 
          <td class="mdname" nowrap> <em>left</em>, </td>
754
 
        </tr>
755
 
        <tr>
756
 
          <td class="md" nowrap align="right"></td>
757
 
          <td class="md"></td>
758
 
          <td class="md" nowrap>T&nbsp;</td>
759
 
          <td class="mdname" nowrap> <em>right</em></td>
760
 
        </tr>
761
 
        <tr>
762
 
          <td class="md"></td>
763
 
          <td class="md">)&nbsp;</td>
764
 
          <td class="md" colspan="2"></td>
765
 
        </tr>
766
 
      </table>
767
 
    </td>
768
 
  </tr>
769
 
</table>
770
 
<table cellspacing="5" cellpadding="0" border="0">
771
 
  <tr>
772
 
    <td>
773
 
      &nbsp;
774
 
    </td>
775
 
    <td>
776
 
 
777
 
<p>
778
 
Counts 1 bits in GAP buffer in the closed [left, right] diapason. 
779
 
<p>
780
 
<dl compact><dt><b>Parameters:</b></dt><dd>
781
 
  <table border="0" cellspacing="2" cellpadding="0">
782
 
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- GAP buffer pointer. </td></tr>
783
 
    <tr><td valign="top"></td><td valign="top"><em>left</em>&nbsp;</td><td>- leftmost bit index to start from </td></tr>
784
 
    <tr><td valign="top"></td><td valign="top"><em>right-</em>&nbsp;</td><td>rightmost bit index </td></tr>
785
 
  </table>
786
 
</dl>
787
 
<dl compact><dt><b>Returns:</b></dt><dd>Number of non-zero bits. </dd></dl>
788
 
 
789
 
<p>
790
 
Definition at line <a class="el" href="a00106.html#l00579">579</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
791
 
<p>
792
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>, and <a class="el" href="a00106.html#l00371">bm::gap_bfind()</a>.
793
 
<p>
794
 
Referenced by <a class="el" href="a00102.html#l01638">bm::bvector&lt; Alloc, MS &gt;::count_range()</a>.    </td>
795
 
  </tr>
796
 
</table>
797
 
<a class="anchor" name="file_a57" doxytag="bmfunc.h::sum_arr"></a><p>
798
 
<table class="mdTable" cellpadding="2" cellspacing="0">
799
 
  <tr>
800
 
    <td class="mdRow">
801
 
      <table cellpadding="0" cellspacing="0" border="0">
802
 
        <tr>
803
 
          <td class="mdPrefix" colspan="4">
804
 
template&lt;class T&gt; </td>
805
 
        </tr>
806
 
        <tr>
807
 
          <td class="md" nowrap valign="top">T sum_arr           </td>
808
 
          <td class="md" valign="top">(&nbsp;</td>
809
 
          <td class="md" nowrap valign="top">T *&nbsp;</td>
810
 
          <td class="mdname" nowrap> <em>first</em>, </td>
811
 
        </tr>
812
 
        <tr>
813
 
          <td class="md" nowrap align="right"></td>
814
 
          <td class="md"></td>
815
 
          <td class="md" nowrap>T *&nbsp;</td>
816
 
          <td class="mdname" nowrap> <em>last</em></td>
817
 
        </tr>
818
 
        <tr>
819
 
          <td class="md"></td>
820
 
          <td class="md">)&nbsp;</td>
821
 
          <td class="md" colspan="2"></td>
822
 
        </tr>
823
 
      </table>
824
 
    </td>
825
 
  </tr>
826
 
</table>
827
 
<table cellspacing="5" cellpadding="0" border="0">
828
 
  <tr>
829
 
    <td>
830
 
      &nbsp;
831
 
    </td>
832
 
    <td>
833
 
 
834
 
<p>
835
 
Computes SUM of all elements of the sequence 
836
 
<p>
837
 
Definition at line <a class="el" href="a00106.html#l00529">529</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
838
 
  </tr>
839
 
</table>
840
 
<a class="anchor" name="file_a104" doxytag="bmfunc.h::xor_op"></a><p>
841
 
<table class="mdTable" cellpadding="2" cellspacing="0">
842
 
  <tr>
843
 
    <td class="mdRow">
844
 
      <table cellpadding="0" cellspacing="0" border="0">
845
 
        <tr>
846
 
          <td class="md" nowrap valign="top">unsigned xor_op           </td>
847
 
          <td class="md" valign="top">(&nbsp;</td>
848
 
          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
849
 
          <td class="mdname" nowrap> <em>v1</em>, </td>
850
 
        </tr>
851
 
        <tr>
852
 
          <td class="md" nowrap align="right"></td>
853
 
          <td class="md"></td>
854
 
          <td class="md" nowrap>unsigned&nbsp;</td>
855
 
          <td class="mdname" nowrap> <em>v2</em></td>
856
 
        </tr>
857
 
        <tr>
858
 
          <td class="md"></td>
859
 
          <td class="md">)&nbsp;</td>
860
 
          <td class="md" colspan="2"><code> [inline]</code></td>
861
 
        </tr>
862
 
      </table>
863
 
    </td>
864
 
  </tr>
865
 
</table>
866
 
<table cellspacing="5" cellpadding="0" border="0">
867
 
  <tr>
868
 
    <td>
869
 
      &nbsp;
870
 
    </td>
871
 
    <td>
872
 
 
873
 
<p>
874
 
GAP xor functor. 
875
 
<p>
876
 
 
877
 
<p>
878
 
Definition at line <a class="el" href="a00106.html#l02336">2336</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.    </td>
879
 
  </tr>
880
 
</table>
881
 
<a class="anchor" name="file_a48" doxytag="bmfunc.h::xor_swap"></a><p>
 
17
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 
18
<tr><td class="memItemLeft" nowrap align="right" valign="top">W&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a0">operator()</a> (W w1, W w2)</td></tr>
 
19
 
 
20
</table>
 
21
<hr><a name="_details"></a><h2>Detailed Description</h2>
 
22
<h3>template&lt;typename W&gt;<br>
 
23
 struct bm::bit_XOR&lt; W &gt;</h3>
 
24
 
 
25
Bit XOR functor. 
 
26
<p>
 
27
 
 
28
<p>
 
29
Definition at line <a class="el" href="a00141.html#l04191">4191</a> of file <a class="el" href="a00141.html">bmfunc.h</a>.<hr><h2>Member Function Documentation</h2>
 
30
<a class="anchor" name="a0" doxytag="bm::bit_XOR::operator()"></a><p>
882
31
<table class="mdTable" cellpadding="2" cellspacing="0">
883
32
  <tr>
884
33
    <td class="mdRow">
888
37
template&lt;typename W&gt; </td>
889
38
        </tr>
890
39
        <tr>
891
 
          <td class="md" nowrap valign="top">void xor_swap           </td>
 
40
          <td class="md" nowrap valign="top">W <a class="el" href="a00078.html">bm::bit_XOR</a>&lt; W &gt;::operator()           </td>
892
41
          <td class="md" valign="top">(&nbsp;</td>
893
 
          <td class="md" nowrap valign="top">W &amp;&nbsp;</td>
894
 
          <td class="mdname" nowrap> <em>x</em>, </td>
 
42
          <td class="md" nowrap valign="top">W&nbsp;</td>
 
43
          <td class="mdname" nowrap> <em>w1</em>, </td>
895
44
        </tr>
896
45
        <tr>
897
46
          <td class="md" nowrap align="right"></td>
898
47
          <td class="md"></td>
899
 
          <td class="md" nowrap>W &amp;&nbsp;</td>
900
 
          <td class="mdname" nowrap> <em>y</em></td>
 
48
          <td class="md" nowrap>W&nbsp;</td>
 
49
          <td class="mdname" nowrap> <em>w2</em></td>
901
50
        </tr>
902
51
        <tr>
903
52
          <td class="md"></td>
904
53
          <td class="md">)&nbsp;</td>
905
 
          <td class="md" colspan="2"></td>
 
54
          <td class="md" colspan="2"><code> [inline]</code></td>
906
55
        </tr>
907
56
      </table>
908
57
    </td>
916
65
    <td>
917
66
 
918
67
<p>
919
 
XOR swap two scalar variables. 
920
 
<p>
921
68
 
922
69
<p>
923
 
Definition at line <a class="el" href="a00106.html#l00231">231</a> of file <a class="el" href="a00106.html">bmfunc.h</a>.
924
 
<p>
925
 
References <a class="el" href="a00105.html#l00014">BM_ASSERT</a>.
926
 
<p>
927
 
Referenced by <a class="el" href="a00102.html#l01191">bm::bvector&lt; Alloc, MS &gt;::swap()</a>.    </td>
 
70
Definition at line <a class="el" href="a00141.html#l04193">4193</a> of file <a class="el" href="a00141.html">bmfunc.h</a>.    </td>
928
71
  </tr>
929
72
</table>
930
 
<hr size="1"><address style="align: right;"><small>Generated on Thu Apr 20 13:29:01 2006 for BitMagic by&nbsp;
 
73
<hr>The documentation for this struct was generated from the following file:<ul>
 
74
<li><a class="el" href="a00141.html">bmfunc.h</a></ul>
 
75
<hr size="1"><address style="align: right;"><small>Generated on Sun Aug 5 14:12:40 2007 for BitMagic by&nbsp;
931
76
<a href="http://www.doxygen.org/index.html">
932
77
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
933
78
</body>