1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>BitMagic: bmfunc.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.5 -->
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>BitMagic: bmconst.h File Reference</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
11
14
<li><a href="index.html"><span>Main Page</span></a></li>
12
15
<li><a href="modules.html"><span>Modules</span></a></li>
13
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
<li><a href="classes.html"><span>Data Structures</span></a></li>
17
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
18
<li class="current"><a href="files.html"><span>Files</span></a></li>
16
19
<li><a href="examples.html"><span>Examples</span></a></li>
24
<li><a href="files.html"><span>File List</span></a></li>
25
<li><a href="globals.html"><span>Globals</span></a></li>
20
29
<div class="contents">
21
<h1>bmfunc.h File Reference</h1><code>#include <memory.h></code><br>
24
<div class="dynheader">
25
Include dependency graph for bmfunc.h:</div>
26
<div class="dynsection">
27
<p><center><img src="a00153.png" border="0" usemap="#bmfunc.h_map" alt=""></center>
31
<div class="dynheader">
30
<h1>bmconst.h File Reference</h1><div class="dynheader">
32
31
This graph shows which files directly or indirectly include this file:</div>
33
32
<div class="dynsection">
34
<p><center><img src="a00154.png" border="0" usemap="#bmfunc.hdep_map" alt=""></center>
35
<map name="bmfunc.hdep_map">
36
<area shape="rect" id="node3" href="a00082.html" title="bm.h" alt="" coords="537,83,588,111">
b'<area shape="rect" id="node5" href="a00083.html" title="bmalgo.h" alt="" coords="5,161,80,189">'
b'<area shape="rect" id="node9" href="a00090.html" title="bmserial.h" alt="" coords="1045,161,1125,189">'
b'<area shape="rect" id="node7" href="a00105.html" title="sample9.cpp" alt="" coords="32,238,128,266">'
b'<area shape="rect" id="node11" href="a00100.html" title="sample4.cpp" alt="" coords="999,238,1095,266">'
b'<area shape="rect" id="node13" href="a00097.html" title="sample1.cpp" alt="" coords="155,161,251,189">'
b'<area shape="rect" id="node15" href="a00098.html" title="sample2.cpp" alt="" coords="275,161,371,189">'
b'<area shape="rect" id="node17" href="a00099.html" title="sample3.cpp" alt="" coords="395,161,491,189">'
b'<area shape="rect" id="node20" href="a00101.html" title="sample5.cpp" alt="" coords="515,161,611,189">'
b'<area shape="rect" id="node22" href="a00102.html" title="sample6.cpp" alt="" coords="635,161,731,189">'
b'<area shape="rect" id="node24" href="a00103.html" title="sample7.cpp" alt="" coords="755,161,851,189">'
b'<area shape="rect" id="node26" href="a00104.html" title="sample8.cpp" alt="" coords="875,161,971,189">'
33
<div class="center"><img src="a00131.png" border="0" usemap="#bmconst_8hdep_map" alt=""/></div>
34
<map name="bmconst_8hdep_map" id="bmconst_8hdep">
35
<area shape="rect" href="a00084.html" title="bm.h" alt="" coords="657,237,708,267"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="775,83,841,112"/><area shape="rect" href="a00085.html" title="bmalgo.h" alt="" coords="5,315,80,344"/><area shape="rect" href="a00109.html" title="sample9.cpp" alt="" coords="32,392,128,421"/><area shape="rect" href="a00092.html" title="bmserial.h" alt="" coords="1045,315,1125,344"/><area shape="rect" href="a00104.html" title="sample4.cpp" alt="" coords="999,392,1095,421"/><area shape="rect" href="a00101.html" title="sample1.cpp" alt="" coords="155,315,251,344"/><area shape="rect" href="a00102.html" title="sample2.cpp" alt="" coords="275,315,371,344"/><area shape="rect" href="a00103.html" title="sample3.cpp" alt="" coords="395,315,491,344"/><area shape="rect" href="a00105.html" title="sample5.cpp" alt="" coords="515,315,611,344"/><area shape="rect" href="a00106.html" title="sample6.cpp" alt="" coords="635,315,731,344"/><area shape="rect" href="a00107.html" title="sample7.cpp" alt="" coords="755,315,851,344"/><area shape="rect" href="a00108.html" title="sample8.cpp" alt="" coords="875,315,971,344"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="720,160,795,189"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="819,160,901,189"/></map>
40
<a href="a00134.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
42
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
43
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html">bm</a></td></tr>
45
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">bm::bv_statistics</a></td></tr>
48
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure with statistical information about bitset's memory allocation details. <a href="a00039.html#_details">More...</a><br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">bm::gap_len_table< T ></a></td></tr>
51
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default GAP lengths table. <a href="a00067.html#_details">More...</a><br></td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">bm::gap_len_table_min< T ></a></td></tr>
54
<tr><td class="mdescLeft"> </td><td class="mdescRight">Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets. <a href="a00068.html#_details">More...</a><br></td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bm::bit_count_table< T ></a></td></tr>
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers. <a href="a00022.html#_details">More...</a><br></td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">bm::block_set_table< T ></a></td></tr>
60
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure keeps all-left/right ON bits masks. <a href="a00038.html#_details">More...</a><br></td></tr>
61
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">bm::all_set< T ></a></td></tr>
63
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure carries pointer on bit block with all bits 1. <a href="a00011.html#_details">More...</a><br></td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html">bm::all_set< T >::all_set_block</a></td></tr>
66
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">bm::_copyright< T ></a></td></tr>
68
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00010.html#_details">More...</a><br></td></tr>
69
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">bm::globals< T ></a></td></tr>
71
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00070.html#_details">More...</a><br></td></tr>
72
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html">bm::globals< T >::bo</a></td></tr>
74
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">bm::d_copy_func< T ></a></td></tr>
76
<tr><td class="mdescLeft"> </td><td class="mdescRight">d-Gap copy functor <a href="a00054.html#_details">More...</a><br></td></tr>
77
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">bm::copy_to_array_functor< B ></a></td></tr>
79
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adaptor to copy 1 bits to array. <a href="a00052.html#_details">More...</a><br></td></tr>
80
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">bm::copy_to_array_functor_inc< B ></a></td></tr>
82
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adaptor to copy 1 bits to array with base increment. <a href="a00053.html#_details">More...</a><br></td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">bm::bitblock_get_adapter</a></td></tr>
85
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block get adapter, takes bitblock and represents it as a <a class="el" href="a00034.html#5fd937c34bcb5e5a2f6aa25333480db2">get_32()</a> accessor function /internal. <a href="a00034.html#_details">More...</a><br></td></tr>
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">bm::bitblock_store_adapter</a></td></tr>
88
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block store adapter, takes bitblock and saves results into it /internal. <a href="a00035.html#_details">More...</a><br></td></tr>
89
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">bm::bitblock_sum_adapter</a></td></tr>
91
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-block sum adapter, takes values and sums it /internal. <a href="a00036.html#_details">More...</a><br></td></tr>
92
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">bm::decoder_range_adapter< DEC ></a></td></tr>
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adapter to get words from a range stream (see range serialized bit-block). <a href="a00060.html#_details">More...</a><br></td></tr>
95
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">bm::bit_AND< W ></a></td></tr>
97
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit AND functor. <a href="a00013.html#_details">More...</a><br></td></tr>
98
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">bm::bit_OR< W ></a></td></tr>
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit OR functor. <a href="a00029.html#_details">More...</a><br></td></tr>
101
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">bm::bit_SUB< W ></a></td></tr>
103
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB functor. <a href="a00031.html#_details">More...</a><br></td></tr>
104
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">bm::bit_XOR< W ></a></td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit XOR functor. <a href="a00033.html#_details">More...</a><br></td></tr>
107
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">bm::bit_ASSIGN< W ></a></td></tr>
109
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit ASSIGN functor. <a href="a00014.html#_details">More...</a><br></td></tr>
110
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">bm::bit_COUNT< W ></a></td></tr>
112
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT functor. <a href="a00015.html#_details">More...</a><br></td></tr>
113
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">bm::bit_COUNT_AND< W ></a></td></tr>
115
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT AND functor. <a href="a00017.html#_details">More...</a><br></td></tr>
116
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">bm::bit_COUNT_XOR< W ></a></td></tr>
118
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT XOR functor. <a href="a00023.html#_details">More...</a><br></td></tr>
119
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">bm::bit_COUNT_OR< W ></a></td></tr>
121
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT OR functor. <a href="a00019.html#_details">More...</a><br></td></tr>
122
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html">bm::bit_COUNT_SUB_AB< W ></a></td></tr>
124
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT SUB AB functor. <a href="a00020.html#_details">More...</a><br></td></tr>
125
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">bm::bit_COUNT_SUB_BA< W ></a></td></tr>
127
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB BA functor. <a href="a00021.html#_details">More...</a><br></td></tr>
128
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">bm::bit_COUNT_A< W ></a></td></tr>
130
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT A functor. <a href="a00016.html#_details">More...</a><br></td></tr>
131
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html">bm::bit_COUNT_B< W ></a></td></tr>
133
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT B functor. <a href="a00018.html#_details">More...</a><br></td></tr>
134
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">bm::operation_functions< T ></a></td></tr>
136
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
137
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g967f6a5264f47d8adb93f6bdf8cdc129">BM_INCWORD_BITCOUNT</a>(cnt, w)</td></tr>
139
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
140
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#18a8f03b151ca3a6d5e39e7709fb6c7c">bm::gap_operation_to_bitset_func_type</a> )(unsigned *, const gap_word_t *)</td></tr>
142
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef gap_word_t *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9a7bc970eaa1179eb83bd14e21643da2">bm::gap_operation_func_type</a> )(const gap_word_t *BMRESTRICT, const gap_word_t *BMRESTRICT, gap_word_t *BMRESTRICT)</td></tr>
144
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d93f96a77f223240b8c6b8f81c5db840">bm::bit_operation_count_func_type</a> )(const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT)</td></tr>
146
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
147
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> { <br>
148
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3">bm::set_AND</a> = 0,
149
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780">bm::set_OR</a> = 1,
150
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769">bm::set_SUB</a> = 2,
151
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304">bm::set_XOR</a> = 3,
153
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788">bm::set_ASSIGN</a> = 4,
154
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e">bm::set_COUNT</a> = 5,
155
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959">bm::set_COUNT_AND</a> = 6,
156
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c">bm::set_COUNT_XOR</a> = 7,
158
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb">bm::set_COUNT_OR</a> = 8,
159
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1">bm::set_COUNT_SUB_AB</a> = 9,
160
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b">bm::set_COUNT_SUB_BA</a> = 10,
161
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29">bm::set_COUNT_A</a> = 11,
163
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617">bm::set_COUNT_B</a> = 12,
164
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c">bm::set_END</a>
168
<tr><td class="mdescLeft"> </td><td class="mdescRight">Nomenclature of set operations. <a href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">More...</a><br></td></tr>
169
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a> { <a class="el" href="a00106.html#42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250">bm::BM_AND</a> = set_AND,
170
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5">bm::BM_OR</a> = set_OR,
171
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5">bm::BM_SUB</a> = set_SUB,
172
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c">bm::BM_XOR</a> = set_XOR
175
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit operations enumeration. <a href="a00106.html#42405343976ec931388381cea4092bf1">More...</a><br></td></tr>
176
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb">bm::ByteOrder</a> { <a class="el" href="a00106.html#577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2">bm::BigEndian</a> = 0,
177
<a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2">bm::LittleEndian</a> = 1
180
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte orders recognized by the library. <a href="a00106.html#577905b348676c2bc556b51793350dbb">More...</a><br></td></tr>
181
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
182
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gef40342b0c318391df3db2b891acf7c1">bm::word_bitcount</a> (<a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> w)</td></tr>
184
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#447794fbcac5b6f4ab42b0795c665fea">bm::parallel_popcnt_32</a> (unsigned b)</td></tr>
186
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6db64a80e9d66e4338c6cfdd38464d77">bm::word_bitcount64</a> (<a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a> w)</td></tr>
188
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3deb310cdf11bca948817f94adfec160">bm::is_const_set_operation</a> (set_operation op)</td></tr>
190
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if set operation is constant (bitcount). <a href="#3deb310cdf11bca948817f94adfec160"></a><br></td></tr>
191
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#7c192b64adb0590a09b5c2dad77c4b76">bm::setop2op</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> op)</td></tr>
193
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation to operation. <a href="#7c192b64adb0590a09b5c2dad77c4b76"></a><br></td></tr>
194
<tr><td class="memTemplParams" nowrap colspan="2">template<typename W> </td></tr>
195
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fb2c1acc56270abb381741a709a2b17c">bm::xor_swap</a> (W &x, W &y)</td></tr>
197
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR swap two scalar variables. <a href="#fb2c1acc56270abb381741a709a2b17c"></a><br></td></tr>
198
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
199
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gfee2e8361c2e90a67dbaf9c7559d50e4">bm::wordcmp0</a> (T w1, T w2)</td></tr>
201
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. <a href="a00111.html#gfee2e8361c2e90a67dbaf9c7559d50e4"></a><br></td></tr>
202
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
203
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g5847533a73b7a5125fe5c2888ec827bd">bm::wordcmp</a> (T a, T b)</td></tr>
205
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of two words as bit strings. Auxiliary implementation for testing and reference purposes. <a href="a00111.html#g5847533a73b7a5125fe5c2888ec827bd"></a><br></td></tr>
206
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
207
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#cebed8b533c2c9e17167617501477693">bm::gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</td></tr>
209
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
210
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g866352ef5986a7d2b709795d127b666b">bm::gap_test</a> (const T *buf, unsigned pos)</td></tr>
212
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if bit = pos is true. <a href="a00110.html#g866352ef5986a7d2b709795d127b666b"></a><br></td></tr>
213
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
214
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#e8b342c25dc22d6cd26cb96d7ae796db">bm::for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
216
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
217
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6f5cb8cbb105eae84d4b0f8a3bc1230f">bm::for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
219
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
220
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#86742a3e17527be5a9743f26b36a7691">bm::for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
222
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
223
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#bf587377ca70f11b8eb75f95494830b5">bm::bmfor_each</a> (T first, T last, F f)</td></tr>
225
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
226
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#c8f3443ba8fcd1b28face4b09dfd21bf">bm::sum_arr</a> (T *first, T *last)</td></tr>
228
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
229
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g226273a798a07069564e73eb98d06838">bm::gap_bit_count</a> (const T *buf)</td></tr>
231
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates number of bits ON in GAP buffer. <a href="a00110.html#g226273a798a07069564e73eb98d06838"></a><br></td></tr>
232
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
233
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7324ebded429e15361f62117a2ff18d1">bm::gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
235
<tr><td class="mdescLeft"> </td><td class="mdescRight">Counts 1 bits in GAP buffer in the closed [left, right] diapason. <a href="#7324ebded429e15361f62117a2ff18d1"></a><br></td></tr>
236
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class Func> </td></tr>
237
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6a7bfe8af49ed785f0e96c7ca37a2155">bm::for_each_dgap</a> (const T *gap_buf, Func &func)</td></tr>
239
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
240
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fa6ea0cce0cdd88738a01fad393376b3">bm::gap_2_dgap</a> (const T *gap_buf, T *dgap_buf, bool copy_head=true)</td></tr>
242
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert GAP buffer into D-GAP buffer. <a href="#fa6ea0cce0cdd88738a01fad393376b3"></a><br></td></tr>
243
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
244
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#528894002dcd8edda28c8fb2b0aa8c64">bm::dgap_2_gap</a> (const T *dgap_buf, T *gap_buf, T gap_header=0)</td></tr>
246
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert D-GAP buffer into GAP buffer. <a href="#528894002dcd8edda28c8fb2b0aa8c64"></a><br></td></tr>
247
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
248
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g406952734f1b05962941b32e37b3eb96">bm::gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
250
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of GAP buffers. <a href="a00110.html#g406952734f1b05962941b32e37b3eb96"></a><br></td></tr>
251
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, class F> </td></tr>
252
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g871d779996e976755140eb7dc1553e23">bm::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>
254
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract operation for GAP buffers. Receives functor F as a template argument. <a href="a00110.html#g871d779996e976755140eb7dc1553e23"></a><br></td></tr>
255
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, class F> </td></tr>
256
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5e3123c3c9d3587f470abdbe6c8c3ad3">bm::gap_buff_any_op</a> (const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
258
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract distance test operation for GAP buffers. Receives functor F as a template argument. <a href="a00110.html#g5e3123c3c9d3587f470abdbe6c8c3ad3"></a><br></td></tr>
259
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
260
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g69186bd13bda27e04b3e33683ff884c2">bm::gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
262
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract distance(similarity) operation for GAP buffers. Receives functor F as a template argument. <a href="a00110.html#g69186bd13bda27e04b3e33683ff884c2"></a><br></td></tr>
263
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
264
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ga7df7193094353ea24b8519debf745be">bm::gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
266
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches for the next 1 bit in the GAP block. <a href="a00110.html#ga7df7193094353ea24b8519debf745be"></a><br></td></tr>
267
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8">bm::set_bit</a> (unsigned *dest, unsigned bitpos)</td></tr>
269
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set 1 bit in a block. <a href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8"></a><br></td></tr>
270
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9bccc586aa791f98f1bec284b799102c">bm::test_bit</a> (const unsigned *block, unsigned bitpos)</td></tr>
272
<tr><td class="mdescLeft"> </td><td class="mdescRight">Test 1 bit in a block. <a href="a00111.html#g9bccc586aa791f98f1bec284b799102c"></a><br></td></tr>
273
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd698b5242f5b629aa28e7338b7150497">bm::or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
275
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bits to 1 in the bitblock. <a href="a00111.html#gd698b5242f5b629aa28e7338b7150497"></a><br></td></tr>
276
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gceaa54aa59b16299f5a87b925715e5e8">bm::sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
278
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB (AND NOT) bit interval to 1 in the bitblock. <a href="a00111.html#gceaa54aa59b16299f5a87b925715e5e8"></a><br></td></tr>
279
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6191abb017003b633fab24e0c6357521">bm::xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
281
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR bit interval to 1 in the bitblock. <a href="a00111.html#g6191abb017003b633fab24e0c6357521"></a><br></td></tr>
282
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
283
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4">bm::gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
285
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock. <a href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4"></a><br></td></tr>
286
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
287
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82">bm::gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
289
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR GAP block to bitblock. <a href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82"></a><br></td></tr>
290
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
291
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f">bm::gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
293
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds(OR) GAP block to bitblock. <a href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f"></a><br></td></tr>
294
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
295
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfe6f72a009618290eeab3cddee869543">bm::gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
297
<tr><td class="mdescLeft"> </td><td class="mdescRight">ANDs GAP block to bitblock. <a href="a00110.html#gfe6f72a009618290eeab3cddee869543"></a><br></td></tr>
298
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
299
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gb87384cbf46a04d86c008ab2463d02cc">bm::gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
301
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block AND masked by GAP block. <a href="a00111.html#gb87384cbf46a04d86c008ab2463d02cc"></a><br></td></tr>
302
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
303
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd6e40898b8836ae1923b06a3d028fcaa">bm::gap_bitset_and_any</a> (const unsigned *block, const T *buf)</td></tr>
305
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitcount test of bit block AND masked by GAP block. <a href="a00111.html#gd6e40898b8836ae1923b06a3d028fcaa"></a><br></td></tr>
306
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
307
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g15a780da58d5aeb67ffc51c84fa6152e">bm::gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
309
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block SUB masked by GAP block. <a href="a00111.html#g15a780da58d5aeb67ffc51c84fa6152e"></a><br></td></tr>
310
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
311
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gab7c711122e8f189555dffd83a21111c">bm::gap_bitset_sub_any</a> (const unsigned *block, const T *buf)</td></tr>
313
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block SUB masked by GAP block. <a href="a00111.html#gab7c711122e8f189555dffd83a21111c"></a><br></td></tr>
314
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
315
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g803fbc7c790f07b14175303e524bd2d8">bm::gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
317
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block XOR masked by GAP block. <a href="a00111.html#g803fbc7c790f07b14175303e524bd2d8"></a><br></td></tr>
318
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
319
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd0f7ee00f84ea357d55e6a2f507c8918">bm::gap_bitset_xor_any</a> (const unsigned *block, const T *buf)</td></tr>
321
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block XOR masked by GAP block. <a href="a00111.html#gd0f7ee00f84ea357d55e6a2f507c8918"></a><br></td></tr>
322
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
323
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g23733890861063a59f787e26763a734a">bm::gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
325
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount of bit block OR masked by GAP block. <a href="a00111.html#g23733890861063a59f787e26763a734a"></a><br></td></tr>
326
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
327
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gd15f1b92c70752cd3b97fa9e0c585f00">bm::gap_bitset_or_any</a> (const unsigned *block, const T *buf)</td></tr>
329
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute bitcount test of bit block OR masked by GAP block. <a href="a00111.html#gd15f1b92c70752cd3b97fa9e0c585f00"></a><br></td></tr>
330
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gada8b13c35acd8df90129b45edcfc5de">bm::bit_block_set</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
332
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock memset operation. <a href="a00111.html#gada8b13c35acd8df90129b45edcfc5de"></a><br></td></tr>
333
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
334
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849">bm::gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
336
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849"></a><br></td></tr>
337
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
338
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b">bm::gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
340
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b"></a><br></td></tr>
341
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
342
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c">bm::gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, id_t set_max)</td></tr>
344
<tr><td class="mdescLeft"> </td><td class="mdescRight">Smart GAP block to bitblock conversion. <a href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c"></a><br></td></tr>
345
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
346
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g14d29338ffd1387758810b3f9e3a72c6">bm::gap_control_sum</a> (const T *buf)</td></tr>
348
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates sum of all words in GAP block. (For debugging purposes). <a href="a00110.html#g14d29338ffd1387758810b3f9e3a72c6"></a><br></td></tr>
349
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
350
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gef53b2877ff369badd7bb25b26bb9029">bm::gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
352
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets all bits to 0 or 1 (GAP). <a href="a00110.html#gef53b2877ff369badd7bb25b26bb9029"></a><br></td></tr>
353
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
354
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5d49355eb9dd7947699e20f3a2a75ef5">bm::gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
356
<tr><td class="mdescLeft"> </td><td class="mdescRight">Init gap block so it has block in it (can be whole block). <a href="a00110.html#g5d49355eb9dd7947699e20f3a2a75ef5"></a><br></td></tr>
357
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
358
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845">bm::gap_invert</a> (T *buf)</td></tr>
360
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts all bits in the GAP buffer. <a href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845"></a><br></td></tr>
361
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
362
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g690ff7c8b16e1821a77663b7194267e7">bm::gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
364
<tr><td class="mdescLeft"> </td><td class="mdescRight">Temporary inverts all bits in the GAP buffer. <a href="a00110.html#g690ff7c8b16e1821a77663b7194267e7"></a><br></td></tr>
365
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
366
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1427d43e91872f981c6311fa76ab5633">bm::gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
368
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if GAP block is all-one. <a href="a00110.html#g1427d43e91872f981c6311fa76ab5633"></a><br></td></tr>
369
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
370
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042">bm::gap_length</a> (const T *buf)</td></tr>
372
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block length. <a href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042"></a><br></td></tr>
373
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
374
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45">bm::gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
376
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity. <a href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45"></a><br></td></tr>
377
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
378
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815">bm::gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
380
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity limit. <a href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815"></a><br></td></tr>
381
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
382
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1">bm::gap_level</a> (const T *buf)</td></tr>
384
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP blocks capacity level. <a href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1"></a><br></td></tr>
385
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
386
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549">bm::set_gap_level</a> (T *buf, unsigned level)</td></tr>
388
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets GAP block capacity level. <a href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549"></a><br></td></tr>
389
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
390
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165">bm::gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
392
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates GAP block capacity level. <a href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165"></a><br></td></tr>
393
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
394
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfd76869eb44fac688da5e26e0e74f41f">bm::gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
396
<tr><td class="mdescLeft"> </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="a00110.html#gfd76869eb44fac688da5e26e0e74f41f"></a><br></td></tr>
397
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
398
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0">bm::bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
400
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of BIT buffers. <a href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0"></a><br></td></tr>
401
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
402
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b">bm::bit_convert_to_gap</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
404
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts bit block to GAP. <a href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b"></a><br></td></tr>
405
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
406
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g11bc26da8533752bb23756632fd30a00">bm::for_each_gap_dbit</a> (const T *buf, F &func)</td></tr>
408
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate gap block as delta-bits with a functor. <a href="a00110.html#g11bc26da8533752bb23756632fd30a00"></a><br></td></tr>
409
<tr><td class="memTemplParams" nowrap colspan="2">template<typename D, typename T> </td></tr>
410
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">D </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3cc68fe9724e63403d15899bc17da3a1">bm::gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len)</td></tr>
412
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert gap block into array of ints corresponding to 1 bits. <a href="a00110.html#g3cc68fe9724e63403d15899bc17da3a1"></a><br></td></tr>
413
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gb30df14a61f036d690c091878feaff1c">bm::bit_block_calc_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end)</td></tr>
415
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitcount for bit string. <a href="a00111.html#gb30df14a61f036d690c091878feaff1c"></a><br></td></tr>
416
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gafc87c4764bb30d95ba4088064a404e3">bm::bit_count_change</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
418
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gca91016aeb08ae1b610d6d407aae0e4c">bm::bit_block_calc_count_change</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block_end, unsigned *bit_count)</td></tr>
420
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g2485f707b2629c5ce7681cf9fe385b91">bm::bit_block_calc_count_range</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
422
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g503e0f3e79f819d9b58e4b0e905be116">bm::bit_block_any_range</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *block, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> left, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> right)</td></tr>
424
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
425
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g95854f9969985254a0f58b928da0eec6">bm::bit_invert</a> (T *start, T *end)</td></tr>
427
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g97b1075250d4bf10f596ff2fbc334ceb">bm::is_bits_one</a> (const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *start, const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *end)</td></tr>
429
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns "true" if all bits in the block are 1. <a href="a00111.html#g97b1075250d4bf10f596ff2fbc334ceb"></a><br></td></tr>
430
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gc6cfb9f92e4df6bb4c76f6efb2382860">bm::bit_is_all_zero</a> (const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *start, const <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> *end)</td></tr>
432
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns "true" if all bits in the block are 0. <a href="a00111.html#gc6cfb9f92e4df6bb4c76f6efb2382860"></a><br></td></tr>
433
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e081940471455763a912a94783833316">bm::and_op</a> (unsigned v1, unsigned v2)</td></tr>
435
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP and functor. <a href="#e081940471455763a912a94783833316"></a><br></td></tr>
436
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2e0675b3474db845b3d5910ce81e6868">bm::xor_op</a> (unsigned v1, unsigned v2)</td></tr>
438
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP xor functor. <a href="#2e0675b3474db845b3d5910ce81e6868"></a><br></td></tr>
439
<tr><td class="memItemLeft" nowrap align="right" valign="top">gap_word_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g85662839207d06d07ae026c72b1f01c2">bm::gap_operation_and</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2, gap_word_t *BMRESTRICT tmp_buf)</td></tr>
441
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation. <a href="a00110.html#g85662839207d06d07ae026c72b1f01c2"></a><br></td></tr>
442
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gfb24a1e2588c5670df6facc537594d9d">bm::gap_operation_any_and</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2)</td></tr>
444
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation test. <a href="a00110.html#gfb24a1e2588c5670df6facc537594d9d"></a><br></td></tr>
445
<tr><td class="memItemLeft" nowrap align="right" valign="top">gap_word_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g77553da699f68743fb12ebc6f6b0e477">bm::gap_operation_xor</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2, gap_word_t *BMRESTRICT tmp_buf)</td></tr>
447
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation. <a href="a00110.html#g77553da699f68743fb12ebc6f6b0e477"></a><br></td></tr>
448
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gb46833bf0d7813f868a1608f70db12de">bm::gap_operation_any_xor</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2)</td></tr>
450
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation test. <a href="a00110.html#gb46833bf0d7813f868a1608f70db12de"></a><br></td></tr>
451
<tr><td class="memItemLeft" nowrap align="right" valign="top">gap_word_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4">bm::gap_operation_or</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2, gap_word_t *BMRESTRICT tmp_buf)</td></tr>
453
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP OR operation. <a href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4"></a><br></td></tr>
454
<tr><td class="memItemLeft" nowrap align="right" valign="top">gap_word_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f">bm::gap_operation_sub</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2, gap_word_t *BMRESTRICT tmp_buf)</td></tr>
456
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB (AND NOT) operation. <a href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f"></a><br></td></tr>
457
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9">bm::gap_operation_any_sub</a> (const gap_word_t *BMRESTRICT vect1, const gap_word_t *BMRESTRICT vect2)</td></tr>
459
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB operation test. <a href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9"></a><br></td></tr>
460
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9090de87d53e7f25eff96c8259b3485c">bm::bit_block_copy</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
462
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock copy operation. <a href="a00111.html#g9090de87d53e7f25eff96c8259b3485c"></a><br></td></tr>
463
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g882f79df0a0175ad4ddf483c5f1eeb0e">bm::bit_block_and</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
465
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock AND operation. Function does not analyse availability of source and destination blocks. <a href="a00111.html#g882f79df0a0175ad4ddf483c5f1eeb0e"></a><br></td></tr>
466
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0070984bb1d332610150a9106ab8eb0a">bm::bit_block_and_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
468
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ANDs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00111.html#g0070984bb1d332610150a9106ab8eb0a"></a><br></td></tr>
469
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9fe2d12ddac5293fe53038c687c732f3">bm::bit_block_and_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
471
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ANDs two bitblocks and tests for any bit. Function does not analyse availability of source blocks. <a href="a00111.html#g9fe2d12ddac5293fe53038c687c732f3"></a><br></td></tr>
472
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gf8af8cfe8b49407be1af7398da28c939">bm::bit_block_xor_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
474
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function XORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00111.html#gf8af8cfe8b49407be1af7398da28c939"></a><br></td></tr>
475
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfbc3ffafc859a503fdd2fc96e7fb60ce">bm::bit_block_xor_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
477
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function XORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00111.html#gfbc3ffafc859a503fdd2fc96e7fb60ce"></a><br></td></tr>
478
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd34175255e9860a572fcf2e664a6de8e">bm::bit_block_sub_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
480
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function SUBs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00111.html#gd34175255e9860a572fcf2e664a6de8e"></a><br></td></tr>
481
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3f51735d2ca08e5a9fae2c9c49138c5c">bm::bit_block_sub_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
483
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function SUBs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00111.html#g3f51735d2ca08e5a9fae2c9c49138c5c"></a><br></td></tr>
484
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gcf4f8ab164277278448a541863c07517">bm::bit_block_or_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *src2)</td></tr>
486
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ORs two bitblocks and computes the bitcount. Function does not analyse availability of source blocks. <a href="a00111.html#gcf4f8ab164277278448a541863c07517"></a><br></td></tr>
487
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gb2047495f7844d3014ff697503669d24">bm::bit_block_or_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
489
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function ORs two bitblocks and and tests for any bit. Function does not analyse availability of source blocks. <a href="a00111.html#gb2047495f7844d3014ff697503669d24"></a><br></td></tr>
490
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g869fce5348076d4c7b92adcc2f1a49ab">bm::bit_operation_and</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
492
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock AND operation. <a href="a00111.html#g869fce5348076d4c7b92adcc2f1a49ab"></a><br></td></tr>
493
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9765914087df2fc22ec18db8128f2a12">bm::bit_operation_and_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
495
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock AND operation and calculates bitcount of the result. <a href="a00111.html#g9765914087df2fc22ec18db8128f2a12"></a><br></td></tr>
496
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0e7995f7d6c791f6ff27a8dd21d324e5">bm::bit_operation_and_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
498
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock AND operation test. <a href="a00111.html#g0e7995f7d6c791f6ff27a8dd21d324e5"></a><br></td></tr>
499
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gabb39bf01bf973cb7bf3648873921ab7">bm::bit_operation_sub_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
501
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock SUB operation and calculates bitcount of the result. <a href="a00111.html#gabb39bf01bf973cb7bf3648873921ab7"></a><br></td></tr>
502
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g53867faf377db72324b858a37063c0b8">bm::bit_operation_sub_count_inv</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
504
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs inverted bitblock SUB operation and calculates bitcount of the result. <a href="a00111.html#g53867faf377db72324b858a37063c0b8"></a><br></td></tr>
505
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g847d5a84673b284be984f0db583e2723">bm::bit_operation_sub_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
507
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock test of SUB operation. <a href="a00111.html#g847d5a84673b284be984f0db583e2723"></a><br></td></tr>
508
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g5a267aff3b56cc6dadf5a3a338e00a1d">bm::bit_operation_or_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
510
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock OR operation and calculates bitcount of the result. <a href="a00111.html#g5a267aff3b56cc6dadf5a3a338e00a1d"></a><br></td></tr>
511
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6d26742bdc373074474a6932eab4f388">bm::bit_operation_or_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
513
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock OR operation test. <a href="a00111.html#g6d26742bdc373074474a6932eab4f388"></a><br></td></tr>
514
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3515d8eb5da7f9d41d63dc90ad9523a4">bm::bit_block_or</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
516
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock OR operation. Function does not analyse availability of source and destination blocks. <a href="a00111.html#g3515d8eb5da7f9d41d63dc90ad9523a4"></a><br></td></tr>
517
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0e945a9eaae699ad40f63b3f0632e6f9">bm::bit_operation_or</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
519
<tr><td class="mdescLeft"> </td><td class="mdescRight">Block OR operation. Makes analysis if block is 0 or FULL. <a href="a00111.html#g0e945a9eaae699ad40f63b3f0632e6f9"></a><br></td></tr>
520
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfed81435f74c0542857842d4461686e4">bm::bit_block_sub</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
522
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock SUB (AND NOT) operation. Function does not analyse availability of source and destination blocks. <a href="a00111.html#gfed81435f74c0542857842d4461686e4"></a><br></td></tr>
523
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd7afa9bce28a376360ca4826960d669f">bm::bit_operation_sub</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
525
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock SUB operation. <a href="a00111.html#gd7afa9bce28a376360ca4826960d669f"></a><br></td></tr>
526
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#ge6a46c5e671ea1c9312219ceb41025ef">bm::bit_block_xor</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
528
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bitblock XOR operation. Function does not analyse availability of source and destination blocks. <a href="a00111.html#ge6a46c5e671ea1c9312219ceb41025ef"></a><br></td></tr>
529
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g179de722e87ccf8189d975ca6beed025">bm::bit_operation_xor</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT dst, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src)</td></tr>
531
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock XOR operation. <a href="a00111.html#g179de722e87ccf8189d975ca6beed025"></a><br></td></tr>
532
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gce08ab77feefb638daee164ee83118bc">bm::bit_operation_xor_count</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
534
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock XOR operation and calculates bitcount of the result. <a href="a00111.html#gce08ab77feefb638daee164ee83118bc"></a><br></td></tr>
535
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#ga86561b6d11c3f01dd772563c692f732">bm::bit_operation_xor_any</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src1_end, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *BMRESTRICT src2)</td></tr>
537
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock XOR operation test. <a href="a00111.html#ga86561b6d11c3f01dd772563c692f732"></a><br></td></tr>
538
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
539
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g0ff158706f2e194be67fb8267641c30a">bm::bit_count_nonzero_size</a> (const T *blk, unsigned data_size)</td></tr>
541
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inspects block for full zero words. <a href="a00111.html#g0ff158706f2e194be67fb8267641c30a"></a><br></td></tr>
542
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd6a7c549a625df7aa7d68d43a57238c7">bm::bit_find_in_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *data, unsigned nbit, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
544
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches for the next 1 bit in the BIT block. <a href="a00111.html#gd6a7c549a625df7aa7d68d43a57238c7"></a><br></td></tr>
545
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename F> </td></tr>
546
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gb9f80b3c898323ce77beb915e4c861f3">bm::bit_for_each_4</a> (T w, F &func)</td></tr>
548
<tr><td class="mdescLeft"> </td><td class="mdescRight">Templated algorithm to unpacks octet based word into list of ON bit indexes. <a href="a00111.html#gb9f80b3c898323ce77beb915e4c861f3"></a><br></td></tr>
549
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename F> </td></tr>
550
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g24be2ad5d8c2a8f18fdad142452aaae8">bm::bit_for_each</a> (T w, F &func)</td></tr>
552
<tr><td class="mdescLeft"> </td><td class="mdescRight">Templated algorithm to unpacks word into list of ON bit indexes. <a href="a00111.html#g24be2ad5d8c2a8f18fdad142452aaae8"></a><br></td></tr>
553
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename B> </td></tr>
554
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3c81f6bff8866ec3ed0a94903eee96b7">bm::bit_list_4</a> (T w, B *bits)</td></tr>
556
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unpacks word into list of ON bit indexes (quad-bit based). <a href="a00111.html#g3c81f6bff8866ec3ed0a94903eee96b7"></a><br></td></tr>
557
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename B> </td></tr>
558
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gae3ae537760044543f842363e4614e82">bm::bit_list</a> (T w, B *bits)</td></tr>
560
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unpacks word into list of ON bit indexes. <a href="a00111.html#gae3ae537760044543f842363e4614e82"></a><br></td></tr>
561
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
562
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g16a7495c47bdcd1b0c7208e29e40bb81">bm::bit_convert_to_arr</a> (T *BMRESTRICT dest, const unsigned *BMRESTRICT src, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bits, unsigned dest_len)</td></tr>
564
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits. <a href="a00111.html#g16a7495c47bdcd1b0c7208e29e40bb81"></a><br></td></tr>
565
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
566
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gcc578010f3700940829c600c812d23b1">bm::gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
568
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert bit block into an array of ints corresponding to 1 bits. <a href="a00110.html#gcc578010f3700940829c600c812d23b1"></a><br></td></tr>
569
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
570
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813">bm::improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
572
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds optimal gap blocks lengths. <a href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813"></a><br></td></tr>
573
<tr><td class="memTemplParams" nowrap colspan="2">template<class It1, class It2, class BinaryOp, class Encoder> </td></tr>
574
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#503fecc0ee281059897412d68f489e1e">bm::bit_recomb</a> (It1 &it1, It2 &it2, BinaryOp &op, Encoder &enc, unsigned block_size=<a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>)</td></tr>
38
<p><a href="a00088_source.html">Go to the source code of this file.</a></p>
39
<table border="0" cellpadding="0" cellspacing="0">
40
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">bm::DeBruijn_bit_position< T ></a></td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">bm::first_bit_table< T ></a></td></tr>
43
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure keeps index of first right 1 bit for every byte. <a href="a00063.html#_details">More...</a><br/></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bm::bit_count_table< T ></a></td></tr>
45
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers. <a href="a00022.html#_details">More...</a><br/></td></tr>
46
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html">bm</a></td></tr>
48
<tr><td colspan="2"><h2>Defines</h2></td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a94f2e413da8e88656200a00e7e9744b9">DECLARE_TEMP_BLOCK</a>(x) unsigned x[<a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>];</td></tr>
50
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a></td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae64960202b691ae1b6efe5fec12cb5af">bm::short_t</a></td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a></td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">typedef word_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7176bf7817550ca24cb6612bd8d7957d">bm::wordop_t</a></td></tr>
57
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gad0b87b3b7292383a864d27feaf1c9eff">bm::strategy</a> { <a class="el" href="a00113.html#ggad0b87b3b7292383a864d27feaf1c9effa40920ae0ef7b4411d60463d8f576b5ba">bm::BM_BIT</a> = 0,
59
<a class="el" href="a00113.html#ggad0b87b3b7292383a864d27feaf1c9effa7fe09d1d7c62a813db922c396c0cbc9c">bm::BM_GAP</a> = 1
61
<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Block allocation strategies. </p>
62
<a href="a00113.html#gad0b87b3b7292383a864d27feaf1c9eff">More...</a><br/></td></tr>
63
<tr><td colspan="2"><h2>Variables</h2></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a104b924a1df81542db2a6296fbf26a65">bm::id_max</a> = 0xFFFFFFFF</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> = 2048u</td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad8723fbeea6290d3daa8917ea7ce9bb2">bm::set_block_shift</a> = 16u</td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a201fb8b1f81b7487f1c1c129fc3d6557">bm::set_block_mask</a> = 0xFFFFu</td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2d1bf97ae342a7759943e62090fcf5d3">bm::set_blkblk_mask</a> = 0xFFFFFFu</td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a> = set_block_size / 32u</td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a> = sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a83d76bccf6fe3770f32d5ba11d2a37ad">bm::set_word_shift</a> = 5u</td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#addbf345be3733d5e4575d71733ed1da8">bm::set_word_mask</a> = 0x1Fu</td></tr>
73
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa5e01dfb650d168f9be0525e042af647">bm::gap_max_buff_len</a> = 1280</td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad0b8714080144ac70197840ff96752b7">bm::gap_max_bits</a> = 65536</td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9b1715d6d9164d56172e75bbbd0e3000">bm::gap_equiv_len</a></td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> = 4</td></tr>
77
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a13793ad631e2b2fcbaaae9000ea1a924">bm::gap_max_level</a> = <a class="el" href="a00110.html#a773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td></tr>
78
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> = 256u</td></tr>
79
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac1ff8647a089c751ec330cecee01907e">bm::set_array_shift</a> = 8u</td></tr>
80
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a00ffa7b38d7fcc7e522d864991a6de68">bm::set_array_mask</a> = 0xFFu</td></tr>
81
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> = (<a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td></tr>
82
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00110.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td></tr>
83
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4dedd13a7b8a27c5067b20118002f025">bm::bits_in_array</a> = <a class="el" href="a00110.html#ae9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00110.html#a40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td></tr>
84
<tr><td class="memItemLeft" align="right" valign="top">const word_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad81dea46a256b93b2af3568ce409d40b">bm::all_bits_mask</a> = 0xffffffff</td></tr>
85
<tr><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7049fd70220fc3a3072e9f82abf4ad66">bm::set_block_size_op</a> = <a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></td></tr>
578
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:16:44 2009 for BitMagic by
87
<hr/><h2>Define Documentation</h2>
88
<a class="anchor" id="a94f2e413da8e88656200a00e7e9744b9"></a><!-- doxytag: member="bmconst.h::DECLARE_TEMP_BLOCK" ref="a94f2e413da8e88656200a00e7e9744b9" args="(x)" -->
90
<div class="memproto">
91
<table class="memname">
93
<td class="memname">#define DECLARE_TEMP_BLOCK</td>
95
<td class="paramtype">x </td>
96
<td class="paramname"></td>
97
<td> ) </td>
98
<td> unsigned x[<a class="el" href="a00110.html#a91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>];</td>
104
<p>Definition at line <a class="el" href="a00088_source.html#l00103">103</a> of file <a class="el" href="a00088_source.html">bmconst.h</a>.</p>
109
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:36 2009 for BitMagic by
579
110
<a href="http://www.doxygen.org/index.html">
580
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
111
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>