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: bm Namespace 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: sample6.cpp 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
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
14
<li><a href="classes.html"><span>Data Structures</span></a></li>
15
<li><a href="files.html"><span>Files</span></a></li>
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
<li><a href="annotated.html"><span>Data Structures</span></a></li>
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>
21
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
22
<li><a href="namespacemembers.html"><span>Namespace Members</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>
26
29
<div class="contents">
27
<h1>bm Namespace Reference</h1>
30
<h1>sample6.cpp File Reference</h1><code>#include <iostream></code><br/>
31
<code>#include <assert.h></code><br/>
32
<code>#include "<a class="el" href="a00084_source.html">bm.h</a>"</code><br/>
33
<div class="dynheader">
34
Include dependency graph for sample6.cpp:</div>
35
<div class="dynsection">
36
<div class="center"><img src="a00154.png" border="0" usemap="#sample6_8cpp_map" alt=""/></div>
37
<map name="sample6_8cpp_map" id="sample6_8cpp">
38
<area shape="rect" href="a00084.html" title="bm.h" alt="" coords="451,83,501,112"/><area shape="rect" href="a00088.html" title="bmconst.h" alt="" coords="99,315,181,344"/><area shape="rect" href="a00089.html" title="bmdef.h" alt="" coords="341,315,408,344"/><area shape="rect" href="a00093.html" title="bmsse2.h" alt="" coords="437,160,515,189"/><area shape="rect" href="a00090.html" title="bmfunc.h" alt="" coords="288,160,363,189"/><area shape="rect" href="a00099.html" title="bmvmin.h" alt="" coords="632,160,709,189"/><area shape="rect" href="a00100.html" title="encoding.h" alt="" coords="181,160,264,189"/><area shape="rect" href="a00087.html" title="bmalloc.h" alt="" coords="733,160,811,189"/><area shape="rect" href="a00097.html" title="bmundef.h" alt="" coords="947,160,1029,189"/><area shape="rect" href="a00095.html" title="bmsse_util.h" alt="" coords="707,237,803,267"/><area shape="rect" href="a00098.html" title="bmutil.h" alt="" coords="141,237,208,267"/></map>
41
<p><a href="a00106_source.html">Go to the source code of this file.</a></p>
29
42
<table border="0" cellpadding="0" cellspacing="0">
31
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
32
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html">bvector</a></td></tr>
34
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitvector with runtime compression of bits. <a href="a00040.html#_details">More...</a><br></td></tr>
35
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">bv_statistics</a></td></tr>
37
<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>
38
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">gap_len_table</a></td></tr>
40
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default GAP lengths table. <a href="a00067.html#_details">More...</a><br></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">gap_len_table_min</a></td></tr>
43
<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>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">bit_count_table</a></td></tr>
46
<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>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">block_set_table</a></td></tr>
49
<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>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">all_set</a></td></tr>
52
<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>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">_copyright</a></td></tr>
55
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00010.html#_details">More...</a><br></td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">globals</a></td></tr>
58
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure. <a href="a00070.html#_details">More...</a><br></td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">d_copy_func</a></td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">d-Gap copy functor <a href="a00054.html#_details">More...</a><br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">copy_to_array_functor</a></td></tr>
64
<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>
65
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">copy_to_array_functor_inc</a></td></tr>
67
<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>
68
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">bitblock_get_adapter</a></td></tr>
70
<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>
71
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">bitblock_store_adapter</a></td></tr>
73
<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>
74
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">bitblock_sum_adapter</a></td></tr>
76
<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>
77
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">decoder_range_adapter</a></td></tr>
79
<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>
80
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">bit_AND</a></td></tr>
82
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit AND functor. <a href="a00013.html#_details">More...</a><br></td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">bit_OR</a></td></tr>
85
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit OR functor. <a href="a00029.html#_details">More...</a><br></td></tr>
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">bit_SUB</a></td></tr>
88
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB functor. <a href="a00031.html#_details">More...</a><br></td></tr>
89
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">bit_XOR</a></td></tr>
91
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit XOR functor. <a href="a00033.html#_details">More...</a><br></td></tr>
92
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">bit_ASSIGN</a></td></tr>
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit ASSIGN functor. <a href="a00014.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="a00015.html">bit_COUNT</a></td></tr>
97
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT functor. <a href="a00015.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="a00017.html">bit_COUNT_AND</a></td></tr>
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT AND functor. <a href="a00017.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="a00023.html">bit_COUNT_XOR</a></td></tr>
103
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT XOR functor. <a href="a00023.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="a00019.html">bit_COUNT_OR</a></td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT OR functor. <a href="a00019.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="a00020.html">bit_COUNT_SUB_AB</a></td></tr>
109
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT SUB AB functor. <a href="a00020.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="a00021.html">bit_COUNT_SUB_BA</a></td></tr>
112
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit SUB BA functor. <a href="a00021.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="a00016.html">bit_COUNT_A</a></td></tr>
115
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT A functor. <a href="a00016.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="a00018.html">bit_COUNT_B</a></td></tr>
118
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit COUNT B functor. <a href="a00018.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="a00076.html">operation_functions</a></td></tr>
121
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">miniset</a></td></tr>
123
<tr><td class="mdescLeft"> </td><td class="mdescRight">Template class implements memory saving set functionality. <a href="a00074.html#_details">More...</a><br></td></tr>
124
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">bvmini</a></td></tr>
126
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mini bitvector used in <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a> template to keep block type flags. <a href="a00051.html#_details">More...</a><br></td></tr>
127
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">bvector_mini</a></td></tr>
129
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitvector class with very limited functionality. <a href="a00050.html#_details">More...</a><br></td></tr>
130
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">encoder</a></td></tr>
132
<tr><td class="mdescLeft"> </td><td class="mdescRight">Memory encoding. <a href="a00063.html#_details">More...</a><br></td></tr>
133
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">decoder_base</a></td></tr>
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for all decoding functionality. <a href="a00058.html#_details">More...</a><br></td></tr>
136
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">decoder</a></td></tr>
138
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="a00057.html#_details">More...</a><br></td></tr>
139
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">decoder_little_endian</a></td></tr>
141
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="a00059.html#_details">More...</a><br></td></tr>
142
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">bit_out</a></td></tr>
144
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte based writer for un-aligned bit streaming. <a href="a00030.html#_details">More...</a><br></td></tr>
145
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">bit_in</a></td></tr>
147
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte based reader for un-aligned bit streaming. <a href="a00028.html#_details">More...</a><br></td></tr>
148
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">gamma_encoder</a></td></tr>
150
<tr><td class="mdescLeft"> </td><td class="mdescRight">Functor for Elias Gamma encoding. <a href="a00066.html#_details">More...</a><br></td></tr>
151
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">first_bit_table</a></td></tr>
153
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure keeps index of first ON bit for every byte. <a href="a00064.html#_details">More...</a><br></td></tr>
154
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">sse2_empty_guard</a></td></tr>
156
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 reinitialization guard class. <a href="a00080.html#_details">More...</a><br></td></tr>
157
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">distance_metric_descriptor</a></td></tr>
159
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance metric descriptor, holds metric code and result. <a href="a00062.html#_details">More...</a><br></td></tr>
160
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">gamma_decoder</a></td></tr>
162
<tr><td class="mdescLeft"> </td><td class="mdescRight">Elias Gamma <a class="el" href="a00057.html" title="Class for decoding data from memory buffer.">decoder</a>. <a href="a00065.html#_details">More...</a><br></td></tr>
163
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">tmatrix</a></td></tr>
165
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mini-matrix for bit transposition purposes. <a href="a00081.html#_details">More...</a><br></td></tr>
166
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">bit_grabber</a></td></tr>
168
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">bm::bit_grabber< unsigned, 32 ></a></td></tr>
170
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bm::bit_grabber< unsigned short, 16 ></a></td></tr>
172
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">bm::bit_grabber< unsigned char, 8 ></a></td></tr>
174
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">bit_trans_grabber</a></td></tr>
176
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">gap_transpose_engine</a></td></tr>
178
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-plain splicing of a GAP block. <a href="a00069.html#_details">More...</a><br></td></tr>
179
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">serializer</a></td></tr>
181
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit-vector serialization class. <a href="a00079.html#_details">More...</a><br></td></tr>
182
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">serial_stream_iterator</a></td></tr>
184
<tr><td class="mdescLeft"> </td><td class="mdescRight">Serialization stream iterator. <a href="a00078.html#_details">More...</a><br></td></tr>
185
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">operation_deserializer</a></td></tr>
187
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00061.html" title="Class deserializer.">deserializer</a>, can perform logical operation on bit-vector and serialized bit-vector. <a href="a00075.html#_details">More...</a><br></td></tr>
188
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">iterator_deserializer</a></td></tr>
190
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterator to walk forward the serialized stream. <a href="a00072.html#_details">More...</a><br></td></tr>
191
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">deserializer</a></td></tr>
193
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00061.html" title="Class deserializer.">deserializer</a>. <a href="a00061.html#_details">More...</a><br></td></tr>
194
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">block_allocator</a></td></tr>
196
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00037.html#_details">More...</a><br></td></tr>
197
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">ptr_allocator</a></td></tr>
199
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default malloc based bitblock allocator class. <a href="a00077.html#_details">More...</a><br></td></tr>
200
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">mem_alloc</a></td></tr>
202
<tr><td class="mdescLeft"> </td><td class="mdescRight">BM style allocator adapter. <a href="a00073.html#_details">More...</a><br></td></tr>
203
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
204
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00074.html">bm::miniset</a><br>
205
< <a class="el" href="a00037.html">bm::block_allocator</a>, <br>
206
<a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c77813f2c2dfe40575830ba6a8373bcc">mem_save_set</a></td></tr>
208
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#18a8f03b151ca3a6d5e39e7709fb6c7c">gap_operation_to_bitset_func_type</a> )(unsigned *, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *)</td></tr>
210
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9a7bc970eaa1179eb83bd14e21643da2">gap_operation_func_type</a> )(const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT)</td></tr>
212
<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">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>
214
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00057.html">decoder</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c36d9b78ebf78baf0b92dc61487d9847">decoder_big_endian</a></td></tr>
216
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for decoding data from memory buffer. <a href="#c36d9b78ebf78baf0b92dc61487d9847"></a><br></td></tr>
217
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a></td></tr>
219
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">id_t</a></td></tr>
221
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">word_t</a></td></tr>
223
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e64960202b691ae1b6efe5fec12cb5af">short_t</a></td></tr>
225
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a></td></tr>
227
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">wordop_t</a></td></tr>
229
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00073.html">mem_alloc</a><br>
230
< <a class="el" href="a00037.html">block_allocator</a>, <br>
231
<a class="el" href="a00077.html">ptr_allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html#gb9059bfb40a6588cdbacfd93901593c1">standard_allocator</a></td></tr>
233
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
234
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> { <br>
235
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3">set_AND</a> = 0,
236
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780">set_OR</a> = 1,
237
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769">set_SUB</a> = 2,
238
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304">set_XOR</a> = 3,
240
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788">set_ASSIGN</a> = 4,
241
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e">set_COUNT</a> = 5,
242
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959">set_COUNT_AND</a> = 6,
243
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c">set_COUNT_XOR</a> = 7,
245
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb">set_COUNT_OR</a> = 8,
246
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1">set_COUNT_SUB_AB</a> = 9,
247
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b">set_COUNT_SUB_BA</a> = 10,
248
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29">set_COUNT_A</a> = 11,
250
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617">set_COUNT_B</a> = 12,
251
<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c">set_END</a>
255
<tr><td class="mdescLeft"> </td><td class="mdescRight">Nomenclature of set operations. <a href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">More...</a><br></td></tr>
256
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">operation</a> { <a class="el" href="a00106.html#42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250">BM_AND</a> = set_AND,
257
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5">BM_OR</a> = set_OR,
258
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5">BM_SUB</a> = set_SUB,
259
<a class="el" href="a00106.html#42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c">BM_XOR</a> = set_XOR
262
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit operations enumeration. <a href="a00106.html#42405343976ec931388381cea4092bf1">More...</a><br></td></tr>
263
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb">ByteOrder</a> { <a class="el" href="a00106.html#577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2">BigEndian</a> = 0,
264
<a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2">LittleEndian</a> = 1
267
<tr><td class="mdescLeft"> </td><td class="mdescRight">Byte orders recognized by the library. <a href="a00106.html#577905b348676c2bc556b51793350dbb">More...</a><br></td></tr>
268
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#gd0b87b3b7292383a864d27feaf1c9eff">strategy</a> { <a class="el" href="a00109.html#ggd0b87b3b7292383a864d27feaf1c9eff40920ae0ef7b4411d60463d8f576b5ba">BM_BIT</a> = 0,
269
<a class="el" href="a00109.html#ggd0b87b3b7292383a864d27feaf1c9eff7fe09d1d7c62a813db922c396c0cbc9c">BM_GAP</a> = 1
272
<tr><td class="mdescLeft"> </td><td class="mdescRight">Block allocation strategies. <a href="a00109.html#gd0b87b3b7292383a864d27feaf1c9eff">More...</a><br></td></tr>
273
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> { <br>
274
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abcb39376469ba778e9a9099ddbae5e7ce">COUNT_AND</a> = set_COUNT_AND,
275
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40ab3e4861dde6e1179457ee0d3502ae8061">COUNT_XOR</a> = set_COUNT_XOR,
276
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abd0bd2d56c8ebd03f55c01b3cc6faaaeb">COUNT_OR</a> = set_COUNT_OR,
277
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40ab9c101dab8904c0432f72ccce0a207e62">COUNT_SUB_AB</a> = set_COUNT_SUB_AB,
279
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abfa036fb9d54bc659ed3c9e4185ccf400">COUNT_SUB_BA</a> = set_COUNT_SUB_BA,
280
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abac7947d53eb3acf81251ee4130e6a4a2">COUNT_A</a> = set_COUNT_A,
281
<a class="el" href="a00115.html#ggc38d64c8b27b652413a664cddd4d40abc6dbadf2ab9405daa47dc0f10d082516">COUNT_B</a> = set_COUNT_B
285
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance metrics codes defined for vectors A and B. <a href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">More...</a><br></td></tr>
286
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0">serialization_header_mask</a> { <br>
287
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca">BM_HM_DEFAULT</a> = 1,
288
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27">BM_HM_RESIZE</a> = (1 << 1),
289
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47">BM_HM_ID_LIST</a> = (1 << 2),
290
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e">BM_HM_NO_BO</a> = (1 << 3),
292
<a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3">BM_HM_NO_GAPL</a> = (1 << 4)
296
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a> { <a class="el" href="a00116.html#gg537dfe6318f1f1fe18d86dac312be978cdd8c071c079589388c3ca7bd4f367c8">BM_NO_BYTE_ORDER</a> = 1,
297
<a class="el" href="a00116.html#gg537dfe6318f1f1fe18d86dac312be9785521473081d341bc32ac59538e6a8096">BM_NO_GAP_LENGTH</a> = (1 << 1)
300
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit mask flags for serialization algorithm. <a href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">More...</a><br></td></tr>
301
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
302
<tr><td class="memTemplParams" nowrap colspan="2">template<class Alloc, class MS> </td></tr>
303
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5adb1bbecea75c18eba72aab5fc5db7c">operator &</a> (const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v2)</td></tr>
305
<tr><td class="memTemplParams" nowrap colspan="2">template<class Alloc, class MS> </td></tr>
306
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5cc9411c5170df52c1c4ea436ef32745">operator|</a> (const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00040.html">bvector</a>< Alloc > &v2)</td></tr>
308
<tr><td class="memTemplParams" nowrap colspan="2">template<class Alloc, class MS> </td></tr>
309
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7042429992aec5891a3df1b0bddea05f">operator^</a> (const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v2)</td></tr>
311
<tr><td class="memTemplParams" nowrap colspan="2">template<class Alloc, class MS> </td></tr>
312
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00040.html">bvector</a>< Alloc, MS > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fe23d0ced66b48b9c4214e0b00dcc5ac">operator-</a> (const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v1, const <a class="el" href="a00040.html">bvector</a>< Alloc, MS > &v2)</td></tr>
314
<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">word_bitcount</a> (<a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> w)</td></tr>
316
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#447794fbcac5b6f4ab42b0795c665fea">parallel_popcnt_32</a> (unsigned b)</td></tr>
318
<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">word_bitcount64</a> (<a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a> w)</td></tr>
320
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3deb310cdf11bca948817f94adfec160">is_const_set_operation</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
322
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if set operation is constant (bitcount). <a href="#3deb310cdf11bca948817f94adfec160"></a><br></td></tr>
323
<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">setop2op</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> op)</td></tr>
325
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation to operation. <a href="#7c192b64adb0590a09b5c2dad77c4b76"></a><br></td></tr>
326
<tr><td class="memTemplParams" nowrap colspan="2">template<typename W> </td></tr>
327
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fb2c1acc56270abb381741a709a2b17c">xor_swap</a> (W &x, W &y)</td></tr>
329
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR swap two scalar variables. <a href="#fb2c1acc56270abb381741a709a2b17c"></a><br></td></tr>
330
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
331
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gfee2e8361c2e90a67dbaf9c7559d50e4">wordcmp0</a> (T w1, T w2)</td></tr>
333
<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>
334
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
335
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g5847533a73b7a5125fe5c2888ec827bd">wordcmp</a> (T a, T b)</td></tr>
337
<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>
338
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
339
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#cebed8b533c2c9e17167617501477693">gap_bfind</a> (const T *buf, unsigned pos, unsigned *is_set)</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#g866352ef5986a7d2b709795d127b666b">gap_test</a> (const T *buf, unsigned pos)</td></tr>
344
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if bit = pos is true. <a href="a00110.html#g866352ef5986a7d2b709795d127b666b"></a><br></td></tr>
345
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
346
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#e8b342c25dc22d6cd26cb96d7ae796db">for_each_nzblock</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
348
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
349
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6f5cb8cbb105eae84d4b0f8a3bc1230f">for_each_nzblock_if</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
351
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
352
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#86742a3e17527be5a9743f26b36a7691">for_each_block</a> (T ***root, unsigned size1, unsigned size2, F &f)</td></tr>
354
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
355
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#bf587377ca70f11b8eb75f95494830b5">bmfor_each</a> (T first, T last, F f)</td></tr>
357
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
358
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#c8f3443ba8fcd1b28face4b09dfd21bf">sum_arr</a> (T *first, T *last)</td></tr>
360
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
361
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g226273a798a07069564e73eb98d06838">gap_bit_count</a> (const T *buf)</td></tr>
363
<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>
364
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
365
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7324ebded429e15361f62117a2ff18d1">gap_bit_count_range</a> (const T *buf, T left, T right)</td></tr>
367
<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>
368
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class Func> </td></tr>
369
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#6a7bfe8af49ed785f0e96c7ca37a2155">for_each_dgap</a> (const T *gap_buf, Func &func)</td></tr>
371
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
372
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#fa6ea0cce0cdd88738a01fad393376b3">gap_2_dgap</a> (const T *gap_buf, T *dgap_buf, bool copy_head=true)</td></tr>
374
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert GAP buffer into D-GAP buffer. <a href="#fa6ea0cce0cdd88738a01fad393376b3"></a><br></td></tr>
375
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
376
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#528894002dcd8edda28c8fb2b0aa8c64">dgap_2_gap</a> (const T *dgap_buf, T *gap_buf, T gap_header=0)</td></tr>
378
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert D-GAP buffer into GAP buffer. <a href="#528894002dcd8edda28c8fb2b0aa8c64"></a><br></td></tr>
379
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
380
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g406952734f1b05962941b32e37b3eb96">gapcmp</a> (const T *buf1, const T *buf2)</td></tr>
382
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of GAP buffers. <a href="a00110.html#g406952734f1b05962941b32e37b3eb96"></a><br></td></tr>
383
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, class F> </td></tr>
384
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g871d779996e976755140eb7dc1553e23">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>
386
<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>
387
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, class F> </td></tr>
388
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5e3123c3c9d3587f470abdbe6c8c3ad3">gap_buff_any_op</a> (const T *BMRESTRICT vect1, unsigned vect1_mask, const T *BMRESTRICT vect2, unsigned vect2_mask, F f)</td></tr>
390
<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>
391
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
392
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g69186bd13bda27e04b3e33683ff884c2">gap_set_value</a> (unsigned val, T *BMRESTRICT buf, unsigned pos, unsigned *BMRESTRICT is_set)</td></tr>
394
<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>
395
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
396
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#ga7df7193094353ea24b8519debf745be">gap_find_in_block</a> (const T *buf, unsigned nbit, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> *prev)</td></tr>
398
<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>
399
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8">set_bit</a> (unsigned *dest, unsigned bitpos)</td></tr>
401
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set 1 bit in a block. <a href="a00111.html#g2becf9a16ec20ab124ca8938e34b4aa8"></a><br></td></tr>
402
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9bccc586aa791f98f1bec284b799102c">test_bit</a> (const unsigned *block, unsigned bitpos)</td></tr>
404
<tr><td class="mdescLeft"> </td><td class="mdescRight">Test 1 bit in a block. <a href="a00111.html#g9bccc586aa791f98f1bec284b799102c"></a><br></td></tr>
405
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd698b5242f5b629aa28e7338b7150497">or_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
407
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets bits to 1 in the bitblock. <a href="a00111.html#gd698b5242f5b629aa28e7338b7150497"></a><br></td></tr>
408
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gceaa54aa59b16299f5a87b925715e5e8">sub_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
410
<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>
411
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g6191abb017003b633fab24e0c6357521">xor_bit_block</a> (unsigned *dest, unsigned bitpos, unsigned bitcount)</td></tr>
413
<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>
414
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
415
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4">gap_sub_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
417
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB (AND NOT) GAP block to bitblock. <a href="a00110.html#g08e0ae8b2fd5869aa31cfad7d47177c4"></a><br></td></tr>
418
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
419
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82">gap_xor_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
421
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR GAP block to bitblock. <a href="a00110.html#gb939656d4ea54fd3868aa236cdb20b82"></a><br></td></tr>
422
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
423
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f">gap_add_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
425
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds(OR) GAP block to bitblock. <a href="a00110.html#g12615cd62f2e5367e1bc688d00a2188f"></a><br></td></tr>
426
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
427
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfe6f72a009618290eeab3cddee869543">gap_and_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
429
<tr><td class="mdescLeft"> </td><td class="mdescRight">ANDs GAP block to bitblock. <a href="a00110.html#gfe6f72a009618290eeab3cddee869543"></a><br></td></tr>
430
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
431
<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">gap_bitset_and_count</a> (const unsigned *block, const T *buf)</td></tr>
433
<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>
434
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
435
<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">gap_bitset_and_any</a> (const unsigned *block, const T *buf)</td></tr>
437
<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>
438
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
439
<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">gap_bitset_sub_count</a> (const unsigned *block, const T *buf)</td></tr>
441
<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>
442
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
443
<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">gap_bitset_sub_any</a> (const unsigned *block, const T *buf)</td></tr>
445
<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>
446
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
447
<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">gap_bitset_xor_count</a> (const unsigned *block, const T *buf)</td></tr>
449
<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>
450
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
451
<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">gap_bitset_xor_any</a> (const unsigned *block, const T *buf)</td></tr>
453
<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>
454
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
455
<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">gap_bitset_or_count</a> (const unsigned *block, const T *buf)</td></tr>
457
<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>
458
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
459
<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">gap_bitset_or_any</a> (const unsigned *block, const T *buf)</td></tr>
461
<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>
462
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gada8b13c35acd8df90129b45edcfc5de">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>
464
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock memset operation. <a href="a00111.html#gada8b13c35acd8df90129b45edcfc5de"></a><br></td></tr>
465
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
466
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849">gap_convert_to_bitset</a> (unsigned *dest, const T *buf)</td></tr>
468
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00110.html#g4862f4dcdcb7c0575e2e2db9e5f2a849"></a><br></td></tr>
469
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
470
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b">gap_convert_to_bitset</a> (unsigned *dest, const T *buf, unsigned dest_len)</td></tr>
472
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP block to bitblock conversion. <a href="a00110.html#g9bb80c42ee0ecf8f2af8250d7f5d327b"></a><br></td></tr>
473
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
474
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c">gap_convert_to_bitset_smart</a> (unsigned *dest, const T *buf, <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">id_t</a> set_max)</td></tr>
476
<tr><td class="mdescLeft"> </td><td class="mdescRight">Smart GAP block to bitblock conversion. <a href="a00110.html#g3f01bb7c1ae7983aa8c4ba82e1e3f54c"></a><br></td></tr>
477
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
478
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g14d29338ffd1387758810b3f9e3a72c6">gap_control_sum</a> (const T *buf)</td></tr>
480
<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>
481
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
482
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gef53b2877ff369badd7bb25b26bb9029">gap_set_all</a> (T *buf, unsigned set_max, unsigned value)</td></tr>
484
<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>
485
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
486
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g5d49355eb9dd7947699e20f3a2a75ef5">gap_init_range_block</a> (T *buf, unsigned from, unsigned to, unsigned value, unsigned set_max)</td></tr>
488
<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>
489
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
490
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845">gap_invert</a> (T *buf)</td></tr>
492
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts all bits in the GAP buffer. <a href="a00110.html#g3f22bfde5dfe06d6d77dc2598b8c0845"></a><br></td></tr>
493
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
494
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g690ff7c8b16e1821a77663b7194267e7">gap_is_all_zero</a> (const T *buf, unsigned set_max)</td></tr>
496
<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>
497
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
498
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1427d43e91872f981c6311fa76ab5633">gap_is_all_one</a> (const T *buf, unsigned set_max)</td></tr>
500
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if GAP block is all-one. <a href="a00110.html#g1427d43e91872f981c6311fa76ab5633"></a><br></td></tr>
501
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
502
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042">gap_length</a> (const T *buf)</td></tr>
504
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block length. <a href="a00110.html#gd6bfb9da9950b0df8983a9faf9db5042"></a><br></td></tr>
505
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
506
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45">gap_capacity</a> (const T *buf, const T *glevel_len)</td></tr>
508
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity. <a href="a00110.html#g0419ed06e2f0b7891e7d721546f5fb45"></a><br></td></tr>
509
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
510
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815">gap_limit</a> (const T *buf, const T *glevel_len)</td></tr>
512
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP block capacity limit. <a href="a00110.html#g94a5371b5dc6a1560d95d7c2dde88815"></a><br></td></tr>
513
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
514
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1">gap_level</a> (const T *buf)</td></tr>
516
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returs GAP blocks capacity level. <a href="a00110.html#g1defe73aa4227a0e7204363ac6bb1ac1"></a><br></td></tr>
517
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
518
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549">set_gap_level</a> (T *buf, unsigned level)</td></tr>
520
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets GAP block capacity level. <a href="a00110.html#g501aa9bf029e7f9ea9518e7003fe5549"></a><br></td></tr>
521
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
522
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165">gap_calc_level</a> (int len, const T *glevel_len)</td></tr>
524
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates GAP block capacity level. <a href="a00110.html#g3bfaebeeb4b2d479c5a9ac9d57607165"></a><br></td></tr>
525
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
526
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gfd76869eb44fac688da5e26e0e74f41f">gap_free_elements</a> (const T *buf, const T *glevel_len)</td></tr>
528
<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>
529
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
530
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0">bitcmp</a> (const T *buf1, const T *buf2, unsigned len)</td></tr>
532
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lexicographical comparison of BIT buffers. <a href="a00111.html#g91fe9566575d9d66e1bb9d030b3d29a0"></a><br></td></tr>
533
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
534
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b">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>
536
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts bit block to GAP. <a href="a00110.html#g80d09bb6ab244e68ab0c1fdccc17b95b"></a><br></td></tr>
537
<tr><td class="memTemplParams" nowrap colspan="2">template<class T, class F> </td></tr>
538
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g11bc26da8533752bb23756632fd30a00">for_each_gap_dbit</a> (const T *buf, F &func)</td></tr>
540
<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>
541
<tr><td class="memTemplParams" nowrap colspan="2">template<typename D, typename T> </td></tr>
542
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">D </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g3cc68fe9724e63403d15899bc17da3a1">gap_convert_to_arr</a> (D *BMRESTRICT dest, const T *BMRESTRICT buf, unsigned dest_len)</td></tr>
544
<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>
545
<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">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>
547
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitcount for bit string. <a href="a00111.html#gb30df14a61f036d690c091878feaff1c"></a><br></td></tr>
548
<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">bit_count_change</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> w)</td></tr>
550
<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">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>
552
<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">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>
554
<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">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>
556
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
557
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g95854f9969985254a0f58b928da0eec6">bit_invert</a> (T *start, T *end)</td></tr>
559
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g97b1075250d4bf10f596ff2fbc334ceb">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>
561
<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>
562
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gc6cfb9f92e4df6bb4c76f6efb2382860">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>
564
<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>
565
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e081940471455763a912a94783833316">and_op</a> (unsigned v1, unsigned v2)</td></tr>
567
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP and functor. <a href="#e081940471455763a912a94783833316"></a><br></td></tr>
568
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2e0675b3474db845b3d5910ce81e6868">xor_op</a> (unsigned v1, unsigned v2)</td></tr>
570
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP xor functor. <a href="#2e0675b3474db845b3d5910ce81e6868"></a><br></td></tr>
571
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g85662839207d06d07ae026c72b1f01c2">gap_operation_and</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
573
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation. <a href="a00110.html#g85662839207d06d07ae026c72b1f01c2"></a><br></td></tr>
574
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gfb24a1e2588c5670df6facc537594d9d">gap_operation_any_and</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
576
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP AND operation test. <a href="a00110.html#gfb24a1e2588c5670df6facc537594d9d"></a><br></td></tr>
577
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g77553da699f68743fb12ebc6f6b0e477">gap_operation_xor</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
579
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation. <a href="a00110.html#g77553da699f68743fb12ebc6f6b0e477"></a><br></td></tr>
580
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#gb46833bf0d7813f868a1608f70db12de">gap_operation_any_xor</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
582
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP XOR operation test. <a href="a00110.html#gb46833bf0d7813f868a1608f70db12de"></a><br></td></tr>
583
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4">gap_operation_or</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
585
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP OR operation. <a href="a00110.html#g9f62f1af74e44064f7407ec897b1b0b4"></a><br></td></tr>
586
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f">gap_operation_sub</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT tmp_buf)</td></tr>
588
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB (AND NOT) operation. <a href="a00110.html#g0dcdf6a933f8f8bf901e258266a67c5f"></a><br></td></tr>
589
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9">gap_operation_any_sub</a> (const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect1, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT vect2)</td></tr>
591
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP SUB operation test. <a href="a00110.html#ge0b1d4aca0ddfa58d83e4b089a4f35d9"></a><br></td></tr>
592
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9090de87d53e7f25eff96c8259b3485c">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>
594
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitblock copy operation. <a href="a00111.html#g9090de87d53e7f25eff96c8259b3485c"></a><br></td></tr>
595
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g882f79df0a0175ad4ddf483c5f1eeb0e">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>
597
<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>
598
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g0070984bb1d332610150a9106ab8eb0a">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>
600
<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>
601
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g9fe2d12ddac5293fe53038c687c732f3">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>
603
<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>
604
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gf8af8cfe8b49407be1af7398da28c939">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>
606
<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>
607
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfbc3ffafc859a503fdd2fc96e7fb60ce">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>
609
<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>
610
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd34175255e9860a572fcf2e664a6de8e">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>
612
<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>
613
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3f51735d2ca08e5a9fae2c9c49138c5c">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>
615
<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>
616
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gcf4f8ab164277278448a541863c07517">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>
618
<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>
619
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gb2047495f7844d3014ff697503669d24">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>
621
<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>
622
<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">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>
624
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock AND operation. <a href="a00111.html#g869fce5348076d4c7b92adcc2f1a49ab"></a><br></td></tr>
625
<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">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>
627
<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>
628
<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">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>
630
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock AND operation test. <a href="a00111.html#g0e7995f7d6c791f6ff27a8dd21d324e5"></a><br></td></tr>
631
<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">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>
633
<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>
634
<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">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>
636
<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>
637
<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">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>
639
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock test of SUB operation. <a href="a00111.html#g847d5a84673b284be984f0db583e2723"></a><br></td></tr>
640
<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">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>
642
<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>
643
<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">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>
645
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock OR operation test. <a href="a00111.html#g6d26742bdc373074474a6932eab4f388"></a><br></td></tr>
646
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#g3515d8eb5da7f9d41d63dc90ad9523a4">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>
648
<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>
649
<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">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>
651
<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>
652
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gfed81435f74c0542857842d4461686e4">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>
654
<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>
655
<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">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>
657
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock SUB operation. <a href="a00111.html#gd7afa9bce28a376360ca4826960d669f"></a><br></td></tr>
658
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#ge6a46c5e671ea1c9312219ceb41025ef">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>
660
<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>
661
<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">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>
663
<tr><td class="mdescLeft"> </td><td class="mdescRight">bitblock XOR operation. <a href="a00111.html#g179de722e87ccf8189d975ca6beed025"></a><br></td></tr>
664
<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">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>
666
<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>
667
<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">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>
669
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs bitblock XOR operation test. <a href="a00111.html#ga86561b6d11c3f01dd772563c692f732"></a><br></td></tr>
670
<tr><td class="memTemplParams" nowrap colspan="2">template<class T> </td></tr>
671
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g0ff158706f2e194be67fb8267641c30a">bit_count_nonzero_size</a> (const T *blk, unsigned data_size)</td></tr>
673
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inspects block for full zero words. <a href="a00111.html#g0ff158706f2e194be67fb8267641c30a"></a><br></td></tr>
674
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#gd6a7c549a625df7aa7d68d43a57238c7">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>
676
<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>
677
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename F> </td></tr>
678
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gb9f80b3c898323ce77beb915e4c861f3">bit_for_each_4</a> (T w, F &func)</td></tr>
680
<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>
681
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename F> </td></tr>
682
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g24be2ad5d8c2a8f18fdad142452aaae8">bit_for_each</a> (T w, F &func)</td></tr>
684
<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>
685
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename B> </td></tr>
686
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3c81f6bff8866ec3ed0a94903eee96b7">bit_list_4</a> (T w, B *bits)</td></tr>
688
<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>
689
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, typename B> </td></tr>
690
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gae3ae537760044543f842363e4614e82">bit_list</a> (T w, B *bits)</td></tr>
692
<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>
693
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
694
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g16a7495c47bdcd1b0c7208e29e40bb81">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>
696
<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>
697
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
698
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#gcc578010f3700940829c600c812d23b1">gap_overhead</a> (const T *length, const T *length_end, const T *glevel_len)</td></tr>
700
<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>
701
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
702
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813">improve_gap_levels</a> (const T *length, const T *length_end, T *glevel_len)</td></tr>
704
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds optimal gap blocks lengths. <a href="a00110.html#g2daff3a0ceda6fef87d3b0e892da5813"></a><br></td></tr>
705
<tr><td class="memTemplParams" nowrap colspan="2">template<class It1, class It2, class BinaryOp, class Encoder> </td></tr>
706
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#503fecc0ee281059897412d68f489e1e">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>
708
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g75c6ddeb0d8a279caa92341878309b50">sse2_xor_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
710
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR array elements to specified mask dst = *src ^ mask. <a href="a00113.html#g75c6ddeb0d8a279caa92341878309b50"></a><br></td></tr>
711
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gb7b21f448684c4d84927792661e67ed5">sse2_andnot_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
713
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts array elements and NOT them to specified mask dst = ~*src & mask. <a href="a00113.html#gb7b21f448684c4d84927792661e67ed5"></a><br></td></tr>
714
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g795b544f311409a55da4ee61a3cd939a">sse2_and_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
716
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND array elements against another array dst &= *src. <a href="a00113.html#g795b544f311409a55da4ee61a3cd939a"></a><br></td></tr>
717
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g3a7d61e4e8ad8791ab38fd1c3436aa67">sse2_or_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
719
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst |= *src. <a href="a00113.html#g3a7d61e4e8ad8791ab38fd1c3436aa67"></a><br></td></tr>
720
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gf1a5ad26557cc4d71d7421c35a8445fe">sse2_xor_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
722
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst |= *src. <a href="a00113.html#gf1a5ad26557cc4d71d7421c35a8445fe"></a><br></td></tr>
723
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#gc99f3b138f8a5e8ffb1296b129f618f0">sse2_sub_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
725
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND-NOT (SUB) array elements against another array dst &= ~*src. <a href="a00113.html#gc99f3b138f8a5e8ffb1296b129f618f0"></a><br></td></tr>
726
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g302f4fcd0abf355957b305d16d04f452">sse2_set_block</a> (__m128i *BMRESTRICT dst, __m128i *BMRESTRICT dst_end, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
728
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block memset dst = value. <a href="a00113.html#g302f4fcd0abf355957b305d16d04f452"></a><br></td></tr>
729
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g571dd54af5c555cad9dfa6bef4561777">sse2_copy_block</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
731
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block copy dst = *src. <a href="a00113.html#g571dd54af5c555cad9dfa6bef4561777"></a><br></td></tr>
732
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#g8d506147673d88005f92caee7f5dd23a">sse2_invert_arr</a> (<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *first, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *last)</td></tr>
734
<tr><td class="mdescLeft"> </td><td class="mdescRight">Invert array elements dst = ~*dst or dst ^= *dst. <a href="a00113.html#g8d506147673d88005f92caee7f5dd23a"></a><br></td></tr>
735
<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="a00113.html#g0f7e0b2eb9ac7b2c6a8cd3b8f15b071f">sse2_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
737
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c0c75fb7b3dc61602843ac4e1b9b7ef5">sse2_and</a> (__m128i a, __m128i b)</td></tr>
739
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dea798a9a95a04845c33876087a2f46b">sse2_or</a> (__m128i a, __m128i b)</td></tr>
741
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#6f5de19ee3e1be05037908b4777c4da8">sse2_xor</a> (__m128i a, __m128i b)</td></tr>
743
<tr><td class="memItemLeft" nowrap align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b3e6d46fcba1bc2a1a5390c10f571382">sse2_sub</a> (__m128i a, __m128i b)</td></tr>
745
<tr><td class="memTemplParams" nowrap colspan="2">template<class Func> </td></tr>
746
<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="a00106.html#8831a88ef538b3997d04d2ebf513160d">sse2_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
748
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#g158946ea41ca66c3e1bca62c92684788">operation2metric</a> (<a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">set_operation</a> op)</td></tr>
750
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert set operation into compatible distance metric. <a href="a00115.html#g158946ea41ca66c3e1bca62c92684788"></a><br></td></tr>
751
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#becd5b24d5e394fd46a9db514cfa659a">combine_count_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
753
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different distance metrics. <a href="#becd5b24d5e394fd46a9db514cfa659a"></a><br></td></tr>
754
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#24069ced9ea689034ff51246ae707ecc">combine_any_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
756
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal function computes different existense of distance metric. <a href="#24069ced9ea689034ff51246ae707ecc"></a><br></td></tr>
757
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2f81b8ce3d389973b4f867b0fcc98e7a">combine_count_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
759
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#093f2dadce40f42a184928c9d1456592">combine_any_operation_with_block</a> (const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *blk, unsigned gap, const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *arg_blk, int arg_gap, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_blk, <a class="el" href="a00115.html#gc38d64c8b27b652413a664cddd4d40ab">distance_metric</a> metric)</td></tr>
761
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
762
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#d47cf2dce876dcbc25aef4c7a222c66f">distance_stage</a> (const BV &bv1, const <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, const <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end, bool *is_all_and)</td></tr>
764
<tr><td class="mdescLeft"> </td><td class="mdescRight">Staging function for distance operation. <a href="#d47cf2dce876dcbc25aef4c7a222c66f"></a><br></td></tr>
765
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
766
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#g815fef76f02576ab9ab58de0a45d8a4b">distance_operation</a> (const BV &bv1, const BV &bv2, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
768
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance computing template function. <a href="a00115.html#g815fef76f02576ab9ab58de0a45d8a4b"></a><br></td></tr>
769
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
770
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#ga66525fd7a3f823d73678252a235982e">distance_operation_any</a> (const BV &bv1, const BV &bv2, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit, <a class="el" href="a00062.html">distance_metric_descriptor</a> *dmit_end)</td></tr>
772
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance screening template function. <a href="a00115.html#ga66525fd7a3f823d73678252a235982e"></a><br></td></tr>
773
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
774
<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="a00115.html#ge451cb4b87e8c0859b0614d2ffb99737">count_and</a> (const BV &bv1, const BV &bv2)</td></tr>
776
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of AND operation of two bitsets. <a href="a00115.html#ge451cb4b87e8c0859b0614d2ffb99737"></a><br></td></tr>
777
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
778
<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="a00115.html#g2d5393e05bcfc540840a4cee67fb771f">any_and</a> (const BV &bv1, const BV &bv2)</td></tr>
780
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in AND operation of two bitsets. <a href="a00115.html#g2d5393e05bcfc540840a4cee67fb771f"></a><br></td></tr>
781
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
782
<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="a00115.html#gfc64a082dcaee07f70f7faf3e24f844e">count_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
784
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of XOR operation of two bitsets. <a href="a00115.html#gfc64a082dcaee07f70f7faf3e24f844e"></a><br></td></tr>
785
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
786
<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="a00115.html#g2d63f41244b82d233acb53d88b326b82">any_xor</a> (const BV &bv1, const BV &bv2)</td></tr>
788
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in XOR operation of two bitsets. <a href="a00115.html#g2d63f41244b82d233acb53d88b326b82"></a><br></td></tr>
789
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
790
<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="a00115.html#g902d8c1cd1f8a2538cd47d47f5d8d605">count_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
792
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of SUB operation of two bitsets. <a href="a00115.html#g902d8c1cd1f8a2538cd47d47f5d8d605"></a><br></td></tr>
793
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
794
<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="a00115.html#gbde2e210b9b1edd190e1f5a9ff22344c">any_sub</a> (const BV &bv1, const BV &bv2)</td></tr>
796
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in SUB operation of two bitsets. <a href="a00115.html#gbde2e210b9b1edd190e1f5a9ff22344c"></a><br></td></tr>
797
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
798
<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="a00115.html#g803c564668703fc3bf80067570c2c905">count_or</a> (const BV &bv1, const BV &bv2)</td></tr>
800
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes bitcount of OR operation of two bitsets. <a href="a00115.html#g803c564668703fc3bf80067570c2c905"></a><br></td></tr>
801
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
802
<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="a00115.html#geda4f0cf54aa464cec09e740100caa79">any_or</a> (const BV &bv1, const BV &bv2)</td></tr>
804
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes if there is any bit in OR operation of two bitsets. <a href="a00115.html#geda4f0cf54aa464cec09e740100caa79"></a><br></td></tr>
805
<tr><td class="memTemplParams" nowrap colspan="2">template<class It> </td></tr>
806
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">It </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#86d5d5ccdb79d2b2ad552bd1caf34b2f">block_range_scan</a> (It first, It last, unsigned nblock, unsigned *max_id)</td></tr>
808
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal algorithms scans the input for the block range limit. <a href="#86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><br></td></tr>
809
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
810
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g54ff78528c99ae3ca443eb99ba44785b">combine_or</a> (BV &bv, It first, It last)</td></tr>
812
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR Combine bitvector and the iterable sequence. <a href="a00114.html#g54ff78528c99ae3ca443eb99ba44785b"></a><br></td></tr>
813
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
814
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g3cb362aee03de6a321495100ae5c8375">combine_xor</a> (BV &bv, It first, It last)</td></tr>
816
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR Combine bitvector and the iterable sequence. <a href="a00114.html#g3cb362aee03de6a321495100ae5c8375"></a><br></td></tr>
817
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
818
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gb88c5bf51484323e0139aa789d7f0b98">combine_sub</a> (BV &bv, It first, It last)</td></tr>
820
<tr><td class="mdescLeft"> </td><td class="mdescRight">SUB Combine bitvector and the iterable sequence. <a href="a00114.html#gb88c5bf51484323e0139aa789d7f0b98"></a><br></td></tr>
821
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
822
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g22922f71bd1eec8a5b663dc77b90cf6c">combine_and_sorted</a> (BV &bv, It first, It last)</td></tr>
824
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00114.html#g22922f71bd1eec8a5b663dc77b90cf6c"></a><br></td></tr>
825
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
826
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#g819bdab57a624a08456ea79161b9c5d2">combine_and</a> (BV &bv, It first, It last)</td></tr>
828
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND Combine bitvector and the iterable sequence. <a href="a00114.html#g819bdab57a624a08456ea79161b9c5d2"></a><br></td></tr>
829
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
830
<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="a00114.html#gc7a59d3bc266310ec127cb3efadb0d33">count_intervals</a> (const BV &bv)</td></tr>
832
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute number of bit intervals (GAPs) in the bitvector. <a href="a00114.html#gc7a59d3bc266310ec127cb3efadb0d33"></a><br></td></tr>
833
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV, class It> </td></tr>
834
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00114.html#gcd88ed9539553dd93419b7029e8a4584">export_array</a> (BV &bv, It first, It last)</td></tr>
836
<tr><td class="mdescLeft"> </td><td class="mdescRight">Export bitset from an array of binary data representing the bit vector. <a href="a00114.html#gcd88ed9539553dd93419b7029e8a4584"></a><br></td></tr>
837
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, unsigned BPC, unsigned BPS> </td></tr>
838
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#2e3af9c9f2eb481130d240ba4cd6fd68">vect_bit_transpose</a> (const T *arr, unsigned arr_size, T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS])</td></tr>
840
<tr><td class="mdescLeft"> </td><td class="mdescRight">Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size. <a href="#2e3af9c9f2eb481130d240ba4cd6fd68"></a><br></td></tr>
841
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, unsigned BPC, unsigned BPS> </td></tr>
842
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#089ac7cd17ddca4bf3c661c96f749f3f">vect_bit_trestore</a> (const T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS], T *arr)</td></tr>
844
<tr><td class="mdescLeft"> </td><td class="mdescRight">Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size. <a href="#089ac7cd17ddca4bf3c661c96f749f3f"></a><br></td></tr>
845
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, unsigned BPC, unsigned BPS> </td></tr>
846
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae">tmatrix_distance</a> (const T <a class="el" href="a00081.html">tmatrix</a>[BPC][BPS], unsigned distance[BPC][BPC])</td></tr>
848
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block. <a href="a00111.html#g3fe02492f64cd8a9dfbb1a00ec71c0ae"></a><br></td></tr>
849
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T, unsigned BPC, unsigned BPS> </td></tr>
850
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75">bit_iblock_make_pcv</a> (const unsigned distance[BPC][BPC], unsigned char *pc_vector)</td></tr>
852
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< ibpc limiter <a href="a00111.html#gbdc11d48fda6a69873eefd219c4b7e75"></a><br></td></tr>
853
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dfae226f696ef821c7d351216c00fe0d">bit_iblock_pcv_stat</a> (const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)</td></tr>
855
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute number of ibpc codes in pc_vector. <a href="#dfae226f696ef821c7d351216c00fe0d"></a><br></td></tr>
856
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#62808b64adfcf2a7e610a4f713f470c0">bit_iblock_reduce</a> (const unsigned <a class="el" href="a00081.html">tmatrix</a>[<a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[<a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a>][<a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a>])</td></tr>
858
<tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix reduction based on transformation pc vector. <a href="#62808b64adfcf2a7e610a4f713f470c0"></a><br></td></tr>
859
<tr><td class="memTemplParams" nowrap colspan="2">template<typename GT, typename BT> </td></tr>
860
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#76724fb233f93c15146641482311ce28">gap_2_bitblock</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)</td></tr>
862
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy GAP block body to bit block with DGap transformation. <a href="#76724fb233f93c15146641482311ce28"></a><br></td></tr>
863
<tr><td class="memTemplParams" nowrap colspan="2">template<typename TM> </td></tr>
864
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#f92597461aff2926f9adcbf51bac98f9">find_effective_columns</a> (const TM &<a class="el" href="a00081.html">tmatrix</a>)</td></tr>
866
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute effective right column border of the t-matrix. <a href="#f92597461aff2926f9adcbf51bac98f9"></a><br></td></tr>
867
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
868
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#46f258f92ab40e2a0c76aa775338faaa">ilog2</a> (T x)</td></tr>
870
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast loop-less function to find LOG2. <a href="#46f258f92ab40e2a0c76aa775338faaa"></a><br></td></tr>
871
<tr><td class="memTemplParams" nowrap colspan="2">template<> </td></tr>
872
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#5f818ac575622da8a9a75511e649ea90">ilog2</a> (<a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> x)</td></tr>
874
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
875
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#3ab126a6fd7ffd872a4001638819a330">ilog2_LUT</a> (T x)</td></tr>
877
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup table based integer LOG2. <a href="#3ab126a6fd7ffd872a4001638819a330"></a><br></td></tr>
878
<tr><td class="memTemplParams" nowrap colspan="2">template<> </td></tr>
879
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#7074ee06dc4ee023170c2f85c78b50fe">ilog2_LUT< bm::gap_word_t ></a> (<a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> x)</td></tr>
881
<tr><td class="mdescLeft"> </td><td class="mdescRight">Lookup table based short integer LOG2. <a href="#7074ee06dc4ee023170c2f85c78b50fe"></a><br></td></tr>
882
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
883
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#g5210c3bda57254ef2e8c71e23306cc88">serialize</a> (const BV &bv, unsigned char *buf, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block, unsigned <a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
885
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. <a href="a00116.html#g5210c3bda57254ef2e8c71e23306cc88"></a><br></td></tr>
886
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
887
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#g213033b5cc6add74aa4bd1d614b56192">serialize</a> (BV &bv, unsigned char *buf, unsigned <a class="el" href="a00116.html#g537dfe6318f1f1fe18d86dac312be978">serialization_flags</a>=0)</td></tr>
889
<tr><td class="mdescLeft"> </td><td class="mdescRight">Saves bitvector into memory. Allocates temporary memory block for <a class="el" href="a00040.html" title="bitvector with runtime compression of bits.">bvector</a>. <a href="a00116.html#g213033b5cc6add74aa4bd1d614b56192"></a><br></td></tr>
890
<tr><td class="memTemplParams" nowrap colspan="2">template<class BV> </td></tr>
891
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#gfbe633db8da3d867f098468269fd8d3d">deserialize</a> (BV &bv, const unsigned char *buf, <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *temp_block=0)</td></tr>
893
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bitvector deserialization from memory. <a href="a00116.html#gfbe633db8da3d867f098468269fd8d3d"></a><br></td></tr>
894
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
895
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#104b924a1df81542db2a6296fbf26a65">id_max</a> = 0xFFFFFFFF</td></tr>
897
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> = 2048u</td></tr>
899
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d8723fbeea6290d3daa8917ea7ce9bb2">set_block_shift</a> = 16u</td></tr>
901
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#201fb8b1f81b7487f1c1c129fc3d6557">set_block_mask</a> = 0xFFFFu</td></tr>
903
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#2d1bf97ae342a7759943e62090fcf5d3">set_blkblk_mask</a> = 0xFFFFFFu</td></tr>
905
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">set_block_plain_size</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u</td></tr>
907
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">set_block_plain_cnt</a> = sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u</td></tr>
909
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#83d76bccf6fe3770f32d5ba11d2a37ad">set_word_shift</a> = 5u</td></tr>
911
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ddbf345be3733d5e4575d71733ed1da8">set_word_mask</a> = 0x1Fu</td></tr>
913
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a5e01dfb650d168f9be0525e042af647">gap_max_buff_len</a> = 1280</td></tr>
915
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d0b8714080144ac70197840ff96752b7">gap_max_bits</a> = 65536</td></tr>
917
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9b1715d6d9164d56172e75bbbd0e3000">gap_equiv_len</a></td></tr>
919
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">gap_levels</a> = 4</td></tr>
921
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#13793ad631e2b2fcbaaae9000ea1a924">gap_max_level</a> = <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1</td></tr>
923
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">set_array_size</a> = 256u</td></tr>
925
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c1ff8647a089c751ec330cecee01907e">set_array_shift</a> = 8u</td></tr>
927
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#00ffa7b38d7fcc7e522d864991a6de68">set_array_mask</a> = 0xFFu</td></tr>
929
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">set_total_blocks</a> = (<a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>)</td></tr>
931
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bits_in_block</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8</td></tr>
933
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#4dedd13a7b8a27c5067b20118002f025">bits_in_array</a> = <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a></td></tr>
935
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#095e72da3086d98dac9724b11b478235">all_bits_mask</a> = 0xffffffffffffffff</td></tr>
937
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#7049fd70220fc3a3072e9f82abf4ad66">set_block_size_op</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> / 2</td></tr>
939
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e34de9206be7a8aa05db9d5dc38bfc90">ibpc_uncompr</a> = 0</td></tr>
941
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aca6d3c887b5b7b66a78e95471f9a326">ibpc_all_zero</a> = 1</td></tr>
943
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain uncompressed <a href="#aca6d3c887b5b7b66a78e95471f9a326"></a><br></td></tr>
944
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a6f59be0b838db693e0f081bcaf750f0">ibpc_all_one</a> = 2</td></tr>
946
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain ALL ZERO <a href="#a6f59be0b838db693e0f081bcaf750f0"></a><br></td></tr>
947
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#748d4095c39c9372a590b431e0ec17fe">ibpc_equiv</a> = 3</td></tr>
949
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain ALL ONE <a href="#748d4095c39c9372a590b431e0ec17fe"></a><br></td></tr>
950
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a61bf7691d32a9bc7c65c05bb62657e5">ibpc_close</a> = 4</td></tr>
952
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain is equal to plain M <a href="#a61bf7691d32a9bc7c65c05bb62657e5"></a><br></td></tr>
953
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e4f14f0c2c5a9ee277808d36fd94693f">ibpc_end</a> = 8</td></tr>
955
<tr><td class="mdescLeft"> </td><td class="mdescRight">!< plain is close to plain M <a href="#e4f14f0c2c5a9ee277808d36fd94693f"></a><br></td></tr>
956
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a24e7c08930cf959d383c6b930fb0508">set_block_end</a> = 0</td></tr>
958
<tr><td class="mdescLeft"> </td><td class="mdescRight">End of serialization. <a href="#a24e7c08930cf959d383c6b930fb0508"></a><br></td></tr>
959
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9e9cf918ca2ebec84eaf844d0e4c8bdb">set_block_1zero</a> = 1</td></tr>
961
<tr><td class="mdescLeft"> </td><td class="mdescRight">One all-zero block. <a href="#9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><br></td></tr>
962
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#715131318a361bcccf59fc0b1e41d444">set_block_1one</a> = 2</td></tr>
964
<tr><td class="mdescLeft"> </td><td class="mdescRight">One block all-set (1111...). <a href="#715131318a361bcccf59fc0b1e41d444"></a><br></td></tr>
965
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c9b85b261ab49b37d5e15b84ed2d8b99">set_block_8zero</a> = 3</td></tr>
967
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 zero blocks. <a href="#c9b85b261ab49b37d5e15b84ed2d8b99"></a><br></td></tr>
968
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#57ad1090d6f380cf5de5f98c699b5a75">set_block_8one</a> = 4</td></tr>
970
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 256 all-set blocks. <a href="#57ad1090d6f380cf5de5f98c699b5a75"></a><br></td></tr>
971
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ef47eda6538ebf2624c1612d35694c01">set_block_16zero</a> = 5</td></tr>
973
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 65536 zero blocks. <a href="#ef47eda6538ebf2624c1612d35694c01"></a><br></td></tr>
974
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#3fad4a939708df59b1201910c7d37e30">set_block_16one</a> = 6</td></tr>
976
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 65536 all-set blocks. <a href="#3fad4a939708df59b1201910c7d37e30"></a><br></td></tr>
977
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c7dfbd94a0534df88849bbce9e6c419a">set_block_32zero</a> = 7</td></tr>
979
<tr><td class="mdescLeft"> </td><td class="mdescRight">Up to 4G zero blocks. <a href="#c7dfbd94a0534df88849bbce9e6c419a"></a><br></td></tr>
980
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#5b87c58ae617ad1f104b4c6bc3ed6447">set_block_32one</a> = 8</td></tr>
982
<tr><td class="mdescLeft"> </td><td class="mdescRight">UP to 4G all-set blocks. <a href="#5b87c58ae617ad1f104b4c6bc3ed6447"></a><br></td></tr>
983
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#e87b5c61d7ba6e2e592a279db0b21cc0">set_block_azero</a> = 9</td></tr>
985
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks zero. <a href="#e87b5c61d7ba6e2e592a279db0b21cc0"></a><br></td></tr>
986
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d506b63262c52870758432a95e71907e">set_block_aone</a> = 10</td></tr>
988
<tr><td class="mdescLeft"> </td><td class="mdescRight">All other blocks one. <a href="#d506b63262c52870758432a95e71907e"></a><br></td></tr>
989
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ef86ab2eb42c198272eea7cdfe42951b">set_block_bit</a> = 11</td></tr>
991
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain bit block. <a href="#ef86ab2eb42c198272eea7cdfe42951b"></a><br></td></tr>
992
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#fe4b1011b09271c5f3882b926e250d39">set_block_sgapbit</a> = 12</td></tr>
994
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed bitblock. <a href="#fe4b1011b09271c5f3882b926e250d39"></a><br></td></tr>
995
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#b3a8d57c0b898c3c5a23cd27a8f856ad">set_block_sgapgap</a> = 13</td></tr>
997
<tr><td class="mdescLeft"> </td><td class="mdescRight">SGAP compressed GAP block. <a href="#b3a8d57c0b898c3c5a23cd27a8f856ad"></a><br></td></tr>
998
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#09b8c4b17b7d6f613c237c46d04a9cd6">set_block_gap</a> = 14</td></tr>
1000
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plain GAP block. <a href="#09b8c4b17b7d6f613c237c46d04a9cd6"></a><br></td></tr>
1001
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#77dc965397e31a1d39c3d8e628792779">set_block_gapbit</a> = 15</td></tr>
1003
<tr><td class="mdescLeft"> </td><td class="mdescRight">GAP compressed bitblock. <a href="#77dc965397e31a1d39c3d8e628792779"></a><br></td></tr>
1004
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#6ec6acb175ce77a229003f088ecd3923">set_block_arrbit</a> = 16</td></tr>
1006
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON. <a href="#6ec6acb175ce77a229003f088ecd3923"></a><br></td></tr>
1007
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#0f2d3289a95dc3bd224a6a73c3d3afce">set_block_bit_interval</a> = 17</td></tr>
1009
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interval block. <a href="#0f2d3289a95dc3bd224a6a73c3d3afce"></a><br></td></tr>
1010
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ae33ceefae804cdd94412beee8c52720">set_block_arrgap</a> = 18</td></tr>
1012
<tr><td class="mdescLeft"> </td><td class="mdescRight">List of bits ON (GAP block). <a href="#ae33ceefae804cdd94412beee8c52720"></a><br></td></tr>
1013
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#d0e6607a9771fa49a658c3078208c2dc">set_block_bit_1bit</a> = 19</td></tr>
1015
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with 1 bit ON. <a href="#d0e6607a9771fa49a658c3078208c2dc"></a><br></td></tr>
1016
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c47dea3917e15264ed3ba0cf4055adbe">set_block_gap_egamma</a> = 20</td></tr>
1018
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed GAP block. <a href="#c47dea3917e15264ed3ba0cf4055adbe"></a><br></td></tr>
1019
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9674ddb1b9ee66948465249688708188">set_block_arrgap_egamma</a> = 21</td></tr>
1021
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gamma compressed delta GAP array. <a href="#9674ddb1b9ee66948465249688708188"></a><br></td></tr>
1022
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#5e21adca3bc6902f33e43e5cfd824f0e">set_block_bit_0runs</a> = 22</td></tr>
1024
<tr><td class="mdescLeft"> </td><td class="mdescRight">Bit block with encoded zero intervals. <a href="#5e21adca3bc6902f33e43e5cfd824f0e"></a><br></td></tr>
1026
<hr><h2>Typedef Documentation</h2>
1027
<a class="anchor" name="d93f96a77f223240b8c6b8f81c5db840"></a><!-- doxytag: member="bm::bit_operation_count_func_type" ref="d93f96a77f223240b8c6b8f81c5db840" args=")(const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT, const bm::word_t *BMRESTRICT)" -->
1028
<div class="memitem">
1029
<div class="memproto">
1030
<table class="memname">
1032
<td class="memname">typedef <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a>(* <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>
1036
<div class="memdoc">
1040
<p>Definition at line <a class="el" href="a00134.html#l04767">4767</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1044
<a class="anchor" name="c36d9b78ebf78baf0b92dc61487d9847"></a><!-- doxytag: member="bm::decoder_big_endian" ref="c36d9b78ebf78baf0b92dc61487d9847" args="" -->
1045
<div class="memitem">
1046
<div class="memproto">
1047
<table class="memname">
1049
<td class="memname">typedef <a class="el" href="a00057.html">decoder</a> <a class="el" href="a00057.html">bm::decoder_big_endian</a> </td>
1053
<div class="memdoc">
1056
Class for decoding data from memory buffer.
1058
Properly handles aligment issues with integer data types. Converts data to big endian architecture (presumed it was encoded as little endian)
1059
<p>Definition at line <a class="el" href="a00142.html#l00115">115</a> of file <a class="el" href="a00142.html">encoding.h</a>.</p>
1063
<a class="anchor" name="9a7bc970eaa1179eb83bd14e21643da2"></a><!-- doxytag: member="bm::gap_operation_func_type" ref="9a7bc970eaa1179eb83bd14e21643da2" args=")(const gap_word_t *BMRESTRICT, const gap_word_t *BMRESTRICT, gap_word_t *BMRESTRICT)" -->
1064
<div class="memitem">
1065
<div class="memproto">
1066
<table class="memname">
1068
<td class="memname">typedef <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a>*(* <a class="el" href="a00106.html#9a7bc970eaa1179eb83bd14e21643da2">bm::gap_operation_func_type</a>)(const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT, <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *BMRESTRICT) </td>
1072
<div class="memdoc">
1076
<p>Definition at line <a class="el" href="a00134.html#l04762">4762</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1080
<a class="anchor" name="18a8f03b151ca3a6d5e39e7709fb6c7c"></a><!-- doxytag: member="bm::gap_operation_to_bitset_func_type" ref="18a8f03b151ca3a6d5e39e7709fb6c7c" args=")(unsigned *, const gap_word_t *)" -->
1081
<div class="memitem">
1082
<div class="memproto">
1083
<table class="memname">
1085
<td class="memname">typedef void(* <a class="el" href="a00106.html#18a8f03b151ca3a6d5e39e7709fb6c7c">bm::gap_operation_to_bitset_func_type</a>)(unsigned *, const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> *) </td>
1089
<div class="memdoc">
1093
<p>Definition at line <a class="el" href="a00134.html#l04758">4758</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1097
<a class="anchor" name="c654d6319039a86546d235a236fc7cf6"></a><!-- doxytag: member="bm::gap_word_t" ref="c654d6319039a86546d235a236fc7cf6" args="" -->
1098
<div class="memitem">
1099
<div class="memproto">
1100
<table class="memname">
1102
<td class="memname">typedef unsigned short <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td>
1106
<div class="memdoc">
1110
<p>Definition at line <a class="el" href="a00132.html#l00069">69</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1114
<a class="anchor" name="1f6a6dd108cd9e9f4fb284043ef518fe"></a><!-- doxytag: member="bm::id64_t" ref="1f6a6dd108cd9e9f4fb284043ef518fe" args="" -->
1115
<div class="memitem">
1116
<div class="memproto">
1117
<table class="memname">
1119
<td class="memname">typedef unsigned long long <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">bm::id64_t</a> </td>
1123
<div class="memdoc">
1127
<p>Definition at line <a class="el" href="a00132.html#l00039">39</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1131
<a class="anchor" name="a3824d882a037396370b16f2f0a8bf37"></a><!-- doxytag: member="bm::id_t" ref="a3824d882a037396370b16f2f0a8bf37" args="" -->
1132
<div class="memitem">
1133
<div class="memproto">
1134
<table class="memname">
1136
<td class="memname">typedef unsigned int <a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td>
1140
<div class="memdoc">
1144
<p>Definition at line <a class="el" href="a00132.html#l00043">43</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1148
<a class="anchor" name="c77813f2c2dfe40575830ba6a8373bcc"></a><!-- doxytag: member="bm::mem_save_set" ref="c77813f2c2dfe40575830ba6a8373bcc" args="" -->
1149
<div class="memitem">
1150
<div class="memproto">
1151
<table class="memname">
1153
<td class="memname">typedef <a class="el" href="a00074.html">bm::miniset</a><<a class="el" href="a00037.html">bm::block_allocator</a>, <a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a>> <a class="el" href="a00074.html">bm::mem_save_set</a> </td>
1157
<div class="memdoc">
1161
<p>Definition at line <a class="el" href="a00128.html#l00089">89</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
1165
<a class="anchor" name="e64960202b691ae1b6efe5fec12cb5af"></a><!-- doxytag: member="bm::short_t" ref="e64960202b691ae1b6efe5fec12cb5af" args="" -->
1166
<div class="memitem">
1167
<div class="memproto">
1168
<table class="memname">
1170
<td class="memname">typedef unsigned short <a class="el" href="a00106.html#e64960202b691ae1b6efe5fec12cb5af">bm::short_t</a> </td>
1174
<div class="memdoc">
1178
<p>Definition at line <a class="el" href="a00132.html#l00045">45</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1182
<a class="anchor" name="17fd5ba52db3ddda05e6f8dd5000a1a4"></a><!-- doxytag: member="bm::word_t" ref="17fd5ba52db3ddda05e6f8dd5000a1a4" args="" -->
1183
<div class="memitem">
1184
<div class="memproto">
1185
<table class="memname">
1187
<td class="memname">typedef unsigned int <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> </td>
1191
<div class="memdoc">
1194
<dl compact><dt><b>Examples: </b></dt><dd>
1195
<a class="el" href="a00006.html#a3">sample6.cpp</a>.</dl>
1196
<p>Definition at line <a class="el" href="a00132.html#l00044">44</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1200
<a class="anchor" name="ee4bc8730c4b53977ccc8ac18be42784"></a><!-- doxytag: member="bm::wordop_t" ref="ee4bc8730c4b53977ccc8ac18be42784" args="" -->
1201
<div class="memitem">
1202
<div class="memproto">
1203
<table class="memname">
1205
<td class="memname">typedef <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> <a class="el" href="a00106.html#ee4bc8730c4b53977ccc8ac18be42784">bm::wordop_t</a> </td>
1209
<div class="memdoc">
1213
<p>Definition at line <a class="el" href="a00132.html#l00092">92</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
1217
<hr><h2>Enumeration Type Documentation</h2>
1218
<a class="anchor" name="577905b348676c2bc556b51793350dbb"></a><!-- doxytag: member="bm::ByteOrder" ref="577905b348676c2bc556b51793350dbb" args="" -->
1219
<div class="memitem">
1220
<div class="memproto">
1221
<table class="memname">
1223
<td class="memname">enum <a class="el" href="a00106.html#577905b348676c2bc556b51793350dbb">bm::ByteOrder</a> </td>
1227
<div class="memdoc">
1230
Byte orders recognized by the library.
1232
<dl compact><dt><b>Enumerator: </b></dt><dd>
1233
<table border="0" cellspacing="2" cellpadding="0">
1234
<tr><td valign="top"><em><a class="anchor" name="577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2"></a><!-- doxytag: member="BigEndian" ref="577905b348676c2bc556b51793350dbbc959b97503c42581f3dd81fd3b93fff2" args="" -->BigEndian</em> </td><td>
1236
<tr><td valign="top"><em><a class="anchor" name="577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2"></a><!-- doxytag: member="LittleEndian" ref="577905b348676c2bc556b51793350dbb5ebe266b6d18ee74483c2bbf624e2cc2" args="" -->LittleEndian</em> </td><td>
1241
<p>Definition at line <a class="el" href="a00134.html#l00393">393</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1245
<a class="anchor" name="42405343976ec931388381cea4092bf1"></a><!-- doxytag: member="bm::operation" ref="42405343976ec931388381cea4092bf1" args="" -->
1246
<div class="memitem">
1247
<div class="memproto">
1248
<table class="memname">
1250
<td class="memname">enum <a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a> </td>
1254
<div class="memdoc">
1257
Bit operations enumeration.
1259
<dl compact><dt><b>Enumerator: </b></dt><dd>
1260
<table border="0" cellspacing="2" cellpadding="0">
1261
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250"></a><!-- doxytag: member="BM_AND" ref="42405343976ec931388381cea4092bf1546fdf33b301e5b9bee0591522ed9250" args="" -->BM_AND</em> </td><td>
1263
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5"></a><!-- doxytag: member="BM_OR" ref="42405343976ec931388381cea4092bf10c8cf0197857d0bd73a63037e2f2c5c5" args="" -->BM_OR</em> </td><td>
1265
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5"></a><!-- doxytag: member="BM_SUB" ref="42405343976ec931388381cea4092bf11df0f4de7126bb2f7ce69d7a005affb5" args="" -->BM_SUB</em> </td><td>
1267
<tr><td valign="top"><em><a class="anchor" name="42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c"></a><!-- doxytag: member="BM_XOR" ref="42405343976ec931388381cea4092bf145c2fe36efb72dc03f03a842d253f64c" args="" -->BM_XOR</em> </td><td>
1272
<p>Definition at line <a class="el" href="a00134.html#l00270">270</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1276
<a class="anchor" name="b69f66b71d349b0757370f54318bb2c0"></a><!-- doxytag: member="bm::serialization_header_mask" ref="b69f66b71d349b0757370f54318bb2c0" args="" -->
1277
<div class="memitem">
1278
<div class="memproto">
1279
<table class="memname">
1281
<td class="memname">enum <a class="el" href="a00106.html#b69f66b71d349b0757370f54318bb2c0">bm::serialization_header_mask</a> </td>
1285
<div class="memdoc">
1288
<dl compact><dt><b>Enumerator: </b></dt><dd>
1289
<table border="0" cellspacing="2" cellpadding="0">
1290
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca"></a><!-- doxytag: member="BM_HM_DEFAULT" ref="b69f66b71d349b0757370f54318bb2c097434d6617bb5f0d6f3bf44491f712ca" args="" -->BM_HM_DEFAULT</em> </td><td>
1292
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27"></a><!-- doxytag: member="BM_HM_RESIZE" ref="b69f66b71d349b0757370f54318bb2c0f4fbefa0ed0a8ff42dd664f120782c27" args="" -->BM_HM_RESIZE</em> </td><td>
1293
resized vector </td></tr>
1294
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47"></a><!-- doxytag: member="BM_HM_ID_LIST" ref="b69f66b71d349b0757370f54318bb2c064c44c57a6f8b8e89f0916db9e120d47" args="" -->BM_HM_ID_LIST</em> </td><td>
1295
id list stored </td></tr>
1296
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e"></a><!-- doxytag: member="BM_HM_NO_BO" ref="b69f66b71d349b0757370f54318bb2c06b127bde401907318702dd4827c8f74e" args="" -->BM_HM_NO_BO</em> </td><td>
1297
no byte-order </td></tr>
1298
<tr><td valign="top"><em><a class="anchor" name="b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3"></a><!-- doxytag: member="BM_HM_NO_GAPL" ref="b69f66b71d349b0757370f54318bb2c004c714af376c203bc8b082856ad622a3" args="" -->BM_HM_NO_GAPL</em> </td><td>
1299
no GAP levels </td></tr>
1303
<p>Definition at line <a class="el" href="a00136.html#l00093">93</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
1307
<a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109"></a><!-- doxytag: member="bm::set_operation" ref="76b70d2b9182a6dcac151d1bd9ec6109" args="" -->
1308
<div class="memitem">
1309
<div class="memproto">
1310
<table class="memname">
1312
<td class="memname">enum <a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> </td>
1316
<div class="memdoc">
1319
Nomenclature of set operations.
1321
<dl compact><dt><b>Enumerator: </b></dt><dd>
1322
<table border="0" cellspacing="2" cellpadding="0">
1323
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3"></a><!-- doxytag: member="set_AND" ref="76b70d2b9182a6dcac151d1bd9ec6109949fba4d9b152e1cbba9a450e05e21a3" args="" -->set_AND</em> </td><td>
1325
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780"></a><!-- doxytag: member="set_OR" ref="76b70d2b9182a6dcac151d1bd9ec610905d88a2639cbd3d2ac63436df3ed6780" args="" -->set_OR</em> </td><td>
1327
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769"></a><!-- doxytag: member="set_SUB" ref="76b70d2b9182a6dcac151d1bd9ec6109348f23af148237ac49194815b222b769" args="" -->set_SUB</em> </td><td>
1329
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304"></a><!-- doxytag: member="set_XOR" ref="76b70d2b9182a6dcac151d1bd9ec6109b823123a0d630167532a96be004e6304" args="" -->set_XOR</em> </td><td>
1331
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788"></a><!-- doxytag: member="set_ASSIGN" ref="76b70d2b9182a6dcac151d1bd9ec610934150dd6a8ac2e70b887565bd1c3f788" args="" -->set_ASSIGN</em> </td><td>
1333
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e"></a><!-- doxytag: member="set_COUNT" ref="76b70d2b9182a6dcac151d1bd9ec61093f165b7944e33214e8721aaf2eb8378e" args="" -->set_COUNT</em> </td><td>
1335
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959"></a><!-- doxytag: member="set_COUNT_AND" ref="76b70d2b9182a6dcac151d1bd9ec6109378be4b14cee6a341e859fd3157ab959" args="" -->set_COUNT_AND</em> </td><td>
1337
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c"></a><!-- doxytag: member="set_COUNT_XOR" ref="76b70d2b9182a6dcac151d1bd9ec61091373054e4f243dffb762a55b8a8bfe4c" args="" -->set_COUNT_XOR</em> </td><td>
1339
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb"></a><!-- doxytag: member="set_COUNT_OR" ref="76b70d2b9182a6dcac151d1bd9ec610927e34c148d06e3d8a405482d820cd7fb" args="" -->set_COUNT_OR</em> </td><td>
1341
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1"></a><!-- doxytag: member="set_COUNT_SUB_AB" ref="76b70d2b9182a6dcac151d1bd9ec61090028cc7084b37fe66ce5ae459b93b7f1" args="" -->set_COUNT_SUB_AB</em> </td><td>
1343
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b"></a><!-- doxytag: member="set_COUNT_SUB_BA" ref="76b70d2b9182a6dcac151d1bd9ec61092f7b894c11c058598d02722a7eeef03b" args="" -->set_COUNT_SUB_BA</em> </td><td>
1345
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29"></a><!-- doxytag: member="set_COUNT_A" ref="76b70d2b9182a6dcac151d1bd9ec6109bafe8a971864164aeec7f43d1205ed29" args="" -->set_COUNT_A</em> </td><td>
1347
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617"></a><!-- doxytag: member="set_COUNT_B" ref="76b70d2b9182a6dcac151d1bd9ec61092ac4eb7f41d00f8387d5dd3ffb9d0617" args="" -->set_COUNT_B</em> </td><td>
1349
<tr><td valign="top"><em><a class="anchor" name="76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c"></a><!-- doxytag: member="set_END" ref="76b70d2b9182a6dcac151d1bd9ec6109d894d257a23664720dbf4155153a1e5c" args="" -->set_END</em> </td><td>
1354
<p>Definition at line <a class="el" href="a00134.html#l00241">241</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1358
<hr><h2>Function Documentation</h2>
1359
<a class="anchor" name="e081940471455763a912a94783833316"></a><!-- doxytag: member="bm::and_op" ref="e081940471455763a912a94783833316" args="(unsigned v1, unsigned v2)" -->
1360
<div class="memitem">
1361
<div class="memproto">
1362
<table class="memname">
1364
<td class="memname">unsigned bm::and_op </td>
1366
<td class="paramtype">unsigned </td>
1367
<td class="paramname"> <em>v1</em>, </td>
1370
<td class="paramkey"></td>
1372
<td class="paramtype">unsigned </td>
1373
<td class="paramname"> <em>v2</em></td><td> </td>
1378
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1382
<div class="memdoc">
1388
<p>Definition at line <a class="el" href="a00134.html#l02887">2887</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1390
<p>Referenced by <a class="el" href="a00134.html#l02915">gap_operation_and()</a>, <a class="el" href="a00134.html#l02938">gap_operation_any_and()</a>, <a class="el" href="a00134.html#l03057">gap_operation_any_sub()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, and <a class="el" href="a00134.html#l03034">gap_operation_sub()</a>.</p>
1394
<a class="anchor" name="dfae226f696ef821c7d351216c00fe0d"></a><!-- doxytag: member="bm::bit_iblock_pcv_stat" ref="dfae226f696ef821c7d351216c00fe0d" args="(const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)" -->
1395
<div class="memitem">
1396
<div class="memproto">
1397
<table class="memname">
1399
<td class="memname">void bm::bit_iblock_pcv_stat </td>
1401
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1402
<td class="paramname"> <em>pc_vector</em>, </td>
1405
<td class="paramkey"></td>
1407
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1408
<td class="paramname"> <em>pc_vector_end</em>, </td>
1411
<td class="paramkey"></td>
1413
<td class="paramtype">unsigned *BMRESTRICT </td>
1414
<td class="paramname"> <em>pc_vector_stat</em></td><td> </td>
1419
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1423
<div class="memdoc">
1426
Compute number of ibpc codes in pc_vector.
1429
<p>Definition at line <a class="el" href="a00138.html#l00437">437</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1431
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
1435
<a class="anchor" name="62808b64adfcf2a7e610a4f713f470c0"></a><!-- doxytag: member="bm::bit_iblock_reduce" ref="62808b64adfcf2a7e610a4f713f470c0" args="(const unsigned tmatrix[bm::set_block_plain_cnt][bm::set_block_plain_size], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[bm::set_block_plain_cnt][bm::set_block_plain_size])" -->
1436
<div class="memitem">
1437
<div class="memproto">
1438
<table class="memname">
1440
<td class="memname">void bm::bit_iblock_reduce </td>
1442
<td class="paramtype">const unsigned </td>
1443
<td class="paramname"> <em>tmatrix</em>[bm::set_block_plain_cnt][bm::set_block_plain_size], </td>
1446
<td class="paramkey"></td>
1448
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1449
<td class="paramname"> <em>pc_vector</em>, </td>
1452
<td class="paramkey"></td>
1454
<td class="paramtype">const unsigned char *BMRESTRICT </td>
1455
<td class="paramname"> <em>pc_vector_end</em>, </td>
1458
<td class="paramkey"></td>
1460
<td class="paramtype">unsigned </td>
1461
<td class="paramname"> <em>tmatrix_out</em>[bm::set_block_plain_cnt][bm::set_block_plain_size]</td><td> </td>
1466
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1470
<div class="memdoc">
1473
Matrix reduction based on transformation pc vector.
1476
<p>Definition at line <a class="el" href="a00138.html#l00458">458</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1478
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00138.html#l00357">ibpc_all_one</a>, <a class="el" href="a00138.html#l00356">ibpc_all_zero</a>, <a class="el" href="a00138.html#l00359">ibpc_close</a>, <a class="el" href="a00138.html#l00358">ibpc_equiv</a>, and <a class="el" href="a00138.html#l00355">ibpc_uncompr</a>.</p>
1482
<a class="anchor" name="503fecc0ee281059897412d68f489e1e"></a><!-- doxytag: member="bm::bit_recomb" ref="503fecc0ee281059897412d68f489e1e" args="(It1 &it1, It2 &it2, BinaryOp &op, Encoder &enc, unsigned block_size=bm::set_block_size)" -->
1483
<div class="memitem">
1484
<div class="memproto">
1485
<div class="memtemplate">
1486
template<class It1, class It2, class BinaryOp, class Encoder> </div>
1487
<table class="memname">
1489
<td class="memname">void bm::bit_recomb </td>
1491
<td class="paramtype">It1 & </td>
1492
<td class="paramname"> <em>it1</em>, </td>
1495
<td class="paramkey"></td>
1497
<td class="paramtype">It2 & </td>
1498
<td class="paramname"> <em>it2</em>, </td>
1501
<td class="paramkey"></td>
1503
<td class="paramtype">BinaryOp & </td>
1504
<td class="paramname"> <em>op</em>, </td>
1507
<td class="paramkey"></td>
1509
<td class="paramtype">Encoder & </td>
1510
<td class="paramname"> <em>enc</em>, </td>
1513
<td class="paramkey"></td>
1515
<td class="paramtype">unsigned </td>
1516
<td class="paramname"> <em>block_size</em> = <code><a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a></code></td><td> </td>
1521
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1525
<div class="memdoc">
1528
Abstract recombination algorithm for two bit-blocks Bit blocks can come as dserialization decoders or bit-streams
1529
<p>Definition at line <a class="el" href="a00134.html#l04624">4624</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1531
<p>Referenced by <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, and <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>.</p>
1535
<a class="anchor" name="86d5d5ccdb79d2b2ad552bd1caf34b2f"></a><!-- doxytag: member="bm::block_range_scan" ref="86d5d5ccdb79d2b2ad552bd1caf34b2f" args="(It first, It last, unsigned nblock, unsigned *max_id)" -->
1536
<div class="memitem">
1537
<div class="memproto">
1538
<div class="memtemplate">
1539
template<class It> </div>
1540
<table class="memname">
1542
<td class="memname">It bm::block_range_scan </td>
1544
<td class="paramtype">It </td>
1545
<td class="paramname"> <em>first</em>, </td>
1548
<td class="paramkey"></td>
1550
<td class="paramtype">It </td>
1551
<td class="paramname"> <em>last</em>, </td>
1554
<td class="paramkey"></td>
1556
<td class="paramtype">unsigned </td>
1557
<td class="paramname"> <em>nblock</em>, </td>
1560
<td class="paramkey"></td>
1562
<td class="paramtype">unsigned * </td>
1563
<td class="paramname"> <em>max_id</em></td><td> </td>
1568
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1572
<div class="memdoc">
1575
Internal algorithms scans the input for the block range limit.
1578
<p>Definition at line <a class="el" href="a00130.html#l01073">1073</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1580
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00132.html#l00049">id_max</a>, and <a class="el" href="a00132.html#l00054">set_block_shift</a>.</p>
1582
<p>Referenced by <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, and <a class="el" href="a00130.html#l01182">combine_xor()</a>.</p>
1586
<a class="anchor" name="bf587377ca70f11b8eb75f95494830b5"></a><!-- doxytag: member="bm::bmfor_each" ref="bf587377ca70f11b8eb75f95494830b5" args="(T first, T last, F f)" -->
1587
<div class="memitem">
1588
<div class="memproto">
1589
<div class="memtemplate">
1590
template<class T, class F> </div>
1591
<table class="memname">
1593
<td class="memname">F bm::bmfor_each </td>
1595
<td class="paramtype">T </td>
1596
<td class="paramname"> <em>first</em>, </td>
1599
<td class="paramkey"></td>
1601
<td class="paramtype">T </td>
1602
<td class="paramname"> <em>last</em>, </td>
1605
<td class="paramkey"></td>
1607
<td class="paramtype">F </td>
1608
<td class="paramname"> <em>f</em></td><td> </td>
1613
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1617
<div class="memdoc">
1620
Special BM optimized analog of STL for_each
1621
<p>Definition at line <a class="el" href="a00134.html#l00617">617</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1625
<a class="anchor" name="093f2dadce40f42a184928c9d1456592"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="093f2dadce40f42a184928c9d1456592" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
1626
<div class="memitem">
1627
<div class="memproto">
1628
<table class="memname">
1630
<td class="memname">unsigned bm::combine_any_operation_with_block </td>
1632
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1633
<td class="paramname"> <em>blk</em>, </td>
1636
<td class="paramkey"></td>
1638
<td class="paramtype">unsigned </td>
1639
<td class="paramname"> <em>gap</em>, </td>
1642
<td class="paramkey"></td>
1644
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1645
<td class="paramname"> <em>arg_blk</em>, </td>
1648
<td class="paramkey"></td>
1650
<td class="paramtype">int </td>
1651
<td class="paramname"> <em>arg_gap</em>, </td>
1654
<td class="paramkey"></td>
1656
<td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1657
<td class="paramname"> <em>temp_blk</em>, </td>
1660
<td class="paramkey"></td>
1662
<td class="paramtype">distance_metric </td>
1663
<td class="paramname"> <em>metric</em></td><td> </td>
1668
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1672
<div class="memdoc">
1675
Convenience internal function to compute combine any for one metric
1676
<p>Definition at line <a class="el" href="a00130.html#l00617">617</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1678
<p>References <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, and <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1682
<a class="anchor" name="24069ced9ea689034ff51246ae707ecc"></a><!-- doxytag: member="bm::combine_any_operation_with_block" ref="24069ced9ea689034ff51246ae707ecc" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
1683
<div class="memitem">
1684
<div class="memproto">
1685
<table class="memname">
1687
<td class="memname">void bm::combine_any_operation_with_block </td>
1689
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1690
<td class="paramname"> <em>blk</em>, </td>
1693
<td class="paramkey"></td>
1695
<td class="paramtype">unsigned </td>
1696
<td class="paramname"> <em>gap</em>, </td>
1699
<td class="paramkey"></td>
1701
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1702
<td class="paramname"> <em>arg_blk</em>, </td>
1705
<td class="paramkey"></td>
1707
<td class="paramtype">int </td>
1708
<td class="paramname"> <em>arg_gap</em>, </td>
1711
<td class="paramkey"></td>
1713
<td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1714
<td class="paramname"> <em>temp_blk</em>, </td>
1717
<td class="paramkey"></td>
1719
<td class="paramtype">distance_metric_descriptor * </td>
1720
<td class="paramname"> <em>dmit</em>, </td>
1723
<td class="paramkey"></td>
1725
<td class="paramtype">distance_metric_descriptor * </td>
1726
<td class="paramname"> <em>dmit_end</em></td><td> </td>
1731
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1735
<div class="memdoc">
1738
Internal function computes different existense of distance metric.
1741
<p>Definition at line <a class="el" href="a00130.html#l00342">342</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1743
<p>References <a class="el" href="a00134.html#l02867">bit_is_all_zero()</a>, <a class="el" href="a00134.html#l03482">bit_operation_and_any()</a>, <a class="el" href="a00134.html#l03620">bit_operation_or_any()</a>, <a class="el" href="a00134.html#l03558">bit_operation_sub_any()</a>, <a class="el" href="a00134.html#l03947">bit_operation_xor_any()</a>, <a class="el" href="a00133.html#l00086">BMGAP_PTR</a>, <a class="el" href="a00130.html#l00060">COUNT_A</a>, <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00061">COUNT_B</a>, <a class="el" href="a00130.html#l00057">COUNT_OR</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00130.html#l00056">COUNT_XOR</a>, <a class="el" href="a00134.html#l01620">gap_bitset_and_any()</a>, <a class="el" href="a00134.html#l01858">gap_bitset_or_any()</a>, <a class="el" href="a00134.html#l01692">gap_bitset_sub_any()</a>, <a class="el" href="a00134.html#l01768">gap_bitset_xor_any()</a>, <a class="el" href="a00134.html#l01927">gap_convert_to_bitset()</a>, <a class="el" href="a00134.html#l02120">gap_is_all_zero()</a>, <a class="el" href="a00132.html#l00072">gap_max_bits</a>, <a class="el" href="a00132.html#l00071">gap_max_buff_len</a>, <a class="el" href="a00134.html#l02938">gap_operation_any_and()</a>, <a class="el" href="a00134.html#l03057">gap_operation_any_sub()</a>, <a class="el" href="a00134.html#l02984">gap_operation_any_xor()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, <a class="el" href="a00130.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00132.html#l00053">set_block_size</a>.</p>
1745
<p>Referenced by <a class="el" href="a00130.html#l00617">combine_any_operation_with_block()</a>, and <a class="el" href="a00130.html#l00805">distance_operation_any()</a>.</p>
1749
<a class="anchor" name="2f81b8ce3d389973b4f867b0fcc98e7a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="2f81b8ce3d389973b4f867b0fcc98e7a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric metric)" -->
1750
<div class="memitem">
1751
<div class="memproto">
1752
<table class="memname">
1754
<td class="memname">unsigned bm::combine_count_operation_with_block </td>
1756
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1757
<td class="paramname"> <em>blk</em>, </td>
1760
<td class="paramkey"></td>
1762
<td class="paramtype">unsigned </td>
1763
<td class="paramname"> <em>gap</em>, </td>
1766
<td class="paramkey"></td>
1768
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1769
<td class="paramname"> <em>arg_blk</em>, </td>
1772
<td class="paramkey"></td>
1774
<td class="paramtype">int </td>
1775
<td class="paramname"> <em>arg_gap</em>, </td>
1778
<td class="paramkey"></td>
1780
<td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1781
<td class="paramname"> <em>temp_blk</em>, </td>
1784
<td class="paramkey"></td>
1786
<td class="paramtype">distance_metric </td>
1787
<td class="paramname"> <em>metric</em></td><td> </td>
1792
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1796
<div class="memdoc">
1799
Convenience internal function to compute combine count for one metric
1800
<p>Definition at line <a class="el" href="a00130.html#l00595">595</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1802
<p>References <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, and <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>.</p>
1806
<a class="anchor" name="becd5b24d5e394fd46a9db514cfa659a"></a><!-- doxytag: member="bm::combine_count_operation_with_block" ref="becd5b24d5e394fd46a9db514cfa659a" args="(const bm::word_t *blk, unsigned gap, const bm::word_t *arg_blk, int arg_gap, bm::word_t *temp_blk, distance_metric_descriptor *dmit, distance_metric_descriptor *dmit_end)" -->
1807
<div class="memitem">
1808
<div class="memproto">
1809
<table class="memname">
1811
<td class="memname">void bm::combine_count_operation_with_block </td>
1813
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1814
<td class="paramname"> <em>blk</em>, </td>
1817
<td class="paramkey"></td>
1819
<td class="paramtype">unsigned </td>
1820
<td class="paramname"> <em>gap</em>, </td>
1823
<td class="paramkey"></td>
1825
<td class="paramtype">const <a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1826
<td class="paramname"> <em>arg_blk</em>, </td>
1829
<td class="paramkey"></td>
1831
<td class="paramtype">int </td>
1832
<td class="paramname"> <em>arg_gap</em>, </td>
1835
<td class="paramkey"></td>
1837
<td class="paramtype"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> * </td>
1838
<td class="paramname"> <em>temp_blk</em>, </td>
1841
<td class="paramkey"></td>
1843
<td class="paramtype">distance_metric_descriptor * </td>
1844
<td class="paramname"> <em>dmit</em>, </td>
1847
<td class="paramkey"></td>
1849
<td class="paramtype">distance_metric_descriptor * </td>
1850
<td class="paramname"> <em>dmit_end</em></td><td> </td>
1855
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1859
<div class="memdoc">
1862
Internal function computes different distance metrics.
1865
<p>Definition at line <a class="el" href="a00130.html#l00114">114</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1867
<p>References <a class="el" href="a00134.html#l02489">bit_block_calc_count()</a>, <a class="el" href="a00134.html#l03507">bit_operation_sub_count()</a>, <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00133.html#l00086">BMGAP_PTR</a>, <a class="el" href="a00130.html#l00060">COUNT_A</a>, <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00061">COUNT_B</a>, <a class="el" href="a00130.html#l00057">COUNT_OR</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>, <a class="el" href="a00130.html#l00056">COUNT_XOR</a>, <a class="el" href="a00134.html#l00648">gap_bit_count()</a>, <a class="el" href="a00134.html#l01584">gap_bitset_and_count()</a>, <a class="el" href="a00134.html#l01811">gap_bitset_or_count()</a>, <a class="el" href="a00134.html#l01659">gap_bitset_sub_count()</a>, <a class="el" href="a00134.html#l01730">gap_bitset_xor_count()</a>, <a class="el" href="a00134.html#l01927">gap_convert_to_bitset()</a>, <a class="el" href="a00132.html#l00073">gap_equiv_len</a>, <a class="el" href="a00134.html#l02915">gap_operation_and()</a>, <a class="el" href="a00134.html#l03007">gap_operation_or()</a>, <a class="el" href="a00134.html#l03034">gap_operation_sub()</a>, <a class="el" href="a00134.html#l02961">gap_operation_xor()</a>, <a class="el" href="a00130.html#l00085">bm::distance_metric_descriptor::metric</a>, <a class="el" href="a00130.html#l00086">bm::distance_metric_descriptor::result</a>, and <a class="el" href="a00132.html#l00053">set_block_size</a>.</p>
1869
<p>Referenced by <a class="el" href="a00130.html#l00595">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, and <a class="el" href="a00130.html#l00686">distance_operation()</a>.</p>
1873
<a class="anchor" name="528894002dcd8edda28c8fb2b0aa8c64"></a><!-- doxytag: member="bm::dgap_2_gap" ref="528894002dcd8edda28c8fb2b0aa8c64" args="(const T *dgap_buf, T *gap_buf, T gap_header=0)" -->
1874
<div class="memitem">
1875
<div class="memproto">
1876
<div class="memtemplate">
1877
template<typename T> </div>
1878
<table class="memname">
1880
<td class="memname">void bm::dgap_2_gap </td>
1882
<td class="paramtype">const T * </td>
1883
<td class="paramname"> <em>dgap_buf</em>, </td>
1886
<td class="paramkey"></td>
1888
<td class="paramtype">T * </td>
1889
<td class="paramname"> <em>gap_buf</em>, </td>
1892
<td class="paramkey"></td>
1894
<td class="paramtype">T </td>
1895
<td class="paramname"> <em>gap_header</em> = <code>0</code></td><td> </td>
1900
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1904
<div class="memdoc">
1907
Convert D-GAP buffer into GAP buffer.
1909
GAP representation is GAP[N] = DGAP[N] + DGAP[N-1]<p>
1910
<dl compact><dt><b>Parameters:</b></dt><dd>
1911
<table border="0" cellspacing="2" cellpadding="0">
1912
<tr><td valign="top"></td><td valign="top"><em>dgap_buf</em> </td><td>- Delta-GAP buffer </td></tr>
1913
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
1917
<p>Definition at line <a class="el" href="a00134.html#l00794">794</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
1921
<a class="anchor" name="d47cf2dce876dcbc25aef4c7a222c66f"></a><!-- doxytag: member="bm::distance_stage" ref="d47cf2dce876dcbc25aef4c7a222c66f" args="(const BV &bv1, const distance_metric_descriptor *dmit, const distance_metric_descriptor *dmit_end, bool *is_all_and)" -->
1922
<div class="memitem">
1923
<div class="memproto">
1924
<div class="memtemplate">
1925
template<class BV> </div>
1926
<table class="memname">
1928
<td class="memname"><a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>* bm::distance_stage </td>
1930
<td class="paramtype">const BV & </td>
1931
<td class="paramname"> <em>bv1</em>, </td>
1934
<td class="paramkey"></td>
1936
<td class="paramtype">const distance_metric_descriptor * </td>
1937
<td class="paramname"> <em>dmit</em>, </td>
1940
<td class="paramkey"></td>
1942
<td class="paramtype">const distance_metric_descriptor * </td>
1943
<td class="paramname"> <em>dmit_end</em>, </td>
1946
<td class="paramkey"></td>
1948
<td class="paramtype">bool * </td>
1949
<td class="paramname"> <em>is_all_and</em></td><td> </td>
1954
<td></td><td></td><td width="100%"><code> [inline]</code></td>
1958
<div class="memdoc">
1961
Staging function for distance operation.
1963
<dl class="return" compact><dt><b>Returns:</b></dt><dd>temp block allocated (or NULL) </dd></dl>
1965
<p>Definition at line <a class="el" href="a00130.html#l00640">640</a> of file <a class="el" href="a00130.html">bmalgo_impl.h</a>.</p>
1967
<p>References <a class="el" href="a00130.html#l00055">COUNT_AND</a>, <a class="el" href="a00130.html#l00058">COUNT_SUB_AB</a>, and <a class="el" href="a00130.html#l00059">COUNT_SUB_BA</a>.</p>
1969
<p>Referenced by <a class="el" href="a00130.html#l00686">distance_operation()</a>, and <a class="el" href="a00130.html#l00805">distance_operation_any()</a>.</p>
1973
<a class="anchor" name="f92597461aff2926f9adcbf51bac98f9"></a><!-- doxytag: member="bm::find_effective_columns" ref="f92597461aff2926f9adcbf51bac98f9" args="(const TM &tmatrix)" -->
1974
<div class="memitem">
1975
<div class="memproto">
1976
<div class="memtemplate">
1977
template<typename TM> </div>
1978
<table class="memname">
1980
<td class="memname">unsigned bm::find_effective_columns </td>
1982
<td class="paramtype">const TM & </td>
1983
<td class="paramname"> <em>tmatrix</em> </td>
1984
<td> ) </td>
1985
<td width="100%"><code> [inline]</code></td>
1989
<div class="memdoc">
1992
Compute effective right column border of the t-matrix.
1995
<p>Definition at line <a class="el" href="a00138.html#l00537">537</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
1997
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
2001
<a class="anchor" name="86742a3e17527be5a9743f26b36a7691"></a><!-- doxytag: member="bm::for_each_block" ref="86742a3e17527be5a9743f26b36a7691" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
2002
<div class="memitem">
2003
<div class="memproto">
2004
<div class="memtemplate">
2005
template<class T, class F> </div>
2006
<table class="memname">
2008
<td class="memname">void bm::for_each_block </td>
2010
<td class="paramtype">T *** </td>
2011
<td class="paramname"> <em>root</em>, </td>
2014
<td class="paramkey"></td>
2016
<td class="paramtype">unsigned </td>
2017
<td class="paramname"> <em>size1</em>, </td>
2020
<td class="paramkey"></td>
2022
<td class="paramtype">unsigned </td>
2023
<td class="paramname"> <em>size2</em>, </td>
2026
<td class="paramkey"></td>
2028
<td class="paramtype">F & </td>
2029
<td class="paramname"> <em>f</em></td><td> </td>
2034
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2038
<div class="memdoc">
2041
For each block executes supplied function.
2042
<p>Definition at line <a class="el" href="a00134.html#l00588">588</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2044
<p>Referenced by <a class="el" href="a00130.html#l01403">count_intervals()</a>, and <a class="el" href="a00128.html#l01771">bm::bvector< Alloc, MS >::invert()</a>.</p>
2048
<a class="anchor" name="6a7bfe8af49ed785f0e96c7ca37a2155"></a><!-- doxytag: member="bm::for_each_dgap" ref="6a7bfe8af49ed785f0e96c7ca37a2155" args="(const T *gap_buf, Func &func)" -->
2049
<div class="memitem">
2050
<div class="memproto">
2051
<div class="memtemplate">
2052
template<class T, class Func> </div>
2053
<table class="memname">
2055
<td class="memname">void bm::for_each_dgap </td>
2057
<td class="paramtype">const T * </td>
2058
<td class="paramname"> <em>gap_buf</em>, </td>
2061
<td class="paramkey"></td>
2063
<td class="paramtype">Func & </td>
2064
<td class="paramname"> <em>func</em></td><td> </td>
2069
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2073
<div class="memdoc">
2076
D-GAP block for_each algorithm<p>
2077
D-Gap Functor is called for each element but last one.<p>
2078
<dl compact><dt><b>Parameters:</b></dt><dd>
2079
<table border="0" cellspacing="2" cellpadding="0">
2080
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
2084
<p>Definition at line <a class="el" href="a00134.html#l00728">728</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2086
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
2088
<p>Referenced by <a class="el" href="a00136.html#l00326">bm::serializer< BV >::gamma_gap_block()</a>.</p>
2092
<a class="anchor" name="e8b342c25dc22d6cd26cb96d7ae796db"></a><!-- doxytag: member="bm::for_each_nzblock" ref="e8b342c25dc22d6cd26cb96d7ae796db" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
2093
<div class="memitem">
2094
<div class="memproto">
2095
<div class="memtemplate">
2096
template<class T, class F> </div>
2097
<table class="memname">
2099
<td class="memname">void bm::for_each_nzblock </td>
2101
<td class="paramtype">T *** </td>
2102
<td class="paramname"> <em>root</em>, </td>
2105
<td class="paramkey"></td>
2107
<td class="paramtype">unsigned </td>
2108
<td class="paramname"> <em>size1</em>, </td>
2111
<td class="paramkey"></td>
2113
<td class="paramtype">unsigned </td>
2114
<td class="paramname"> <em>size2</em>, </td>
2117
<td class="paramkey"></td>
2119
<td class="paramtype">F & </td>
2120
<td class="paramname"> <em>f</em></td><td> </td>
2125
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2129
<div class="memdoc">
2132
For each non-zero block executes supplied function.
2133
<p>Definition at line <a class="el" href="a00134.html#l00523">523</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2135
<p>Referenced by <a class="el" href="a00128.html#l01637">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00128.html#l01095">bm::bvector< Alloc, MS >::count_blocks()</a>, <a class="el" href="a00128.html#l01829">bm::bvector< Alloc, MS >::optimize()</a>, and <a class="el" href="a00128.html#l01892">bm::bvector< Alloc, MS >::set_gap_levels()</a>.</p>
2139
<a class="anchor" name="6f5cb8cbb105eae84d4b0f8a3bc1230f"></a><!-- doxytag: member="bm::for_each_nzblock_if" ref="6f5cb8cbb105eae84d4b0f8a3bc1230f" args="(T ***root, unsigned size1, unsigned size2, F &f)" -->
2140
<div class="memitem">
2141
<div class="memproto">
2142
<div class="memtemplate">
2143
template<class T, class F> </div>
2144
<table class="memname">
2146
<td class="memname">bool bm::for_each_nzblock_if </td>
2148
<td class="paramtype">T *** </td>
2149
<td class="paramname"> <em>root</em>, </td>
2152
<td class="paramkey"></td>
2154
<td class="paramtype">unsigned </td>
2155
<td class="paramname"> <em>size1</em>, </td>
2158
<td class="paramkey"></td>
2160
<td class="paramtype">unsigned </td>
2161
<td class="paramname"> <em>size2</em>, </td>
2164
<td class="paramkey"></td>
2166
<td class="paramtype">F & </td>
2167
<td class="paramname"> <em>f</em></td><td> </td>
2172
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2176
<div class="memdoc">
2179
For each non-zero block executes supplied function-predicate. Function returns if function-predicate returns true
2180
<p>Definition at line <a class="el" href="a00134.html#l00563">563</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2182
<p>References <a class="el" href="a00132.html#l00081">set_array_size</a>.</p>
2184
<p>Referenced by <a class="el" href="a00128.html#l01163">bm::bvector< Alloc, MS >::any()</a>.</p>
2188
<a class="anchor" name="76724fb233f93c15146641482311ce28"></a><!-- doxytag: member="bm::gap_2_bitblock" ref="76724fb233f93c15146641482311ce28" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)" -->
2189
<div class="memitem">
2190
<div class="memproto">
2191
<div class="memtemplate">
2192
template<typename GT, typename BT> </div>
2193
<table class="memname">
2195
<td class="memname">void bm::gap_2_bitblock </td>
2197
<td class="paramtype">const GT *BMRESTRICT </td>
2198
<td class="paramname"> <em>gap_buf</em>, </td>
2201
<td class="paramkey"></td>
2203
<td class="paramtype">BT *BMRESTRICT </td>
2204
<td class="paramname"> <em>block</em>, </td>
2207
<td class="paramkey"></td>
2209
<td class="paramtype">unsigned </td>
2210
<td class="paramname"> <em>block_size</em></td><td> </td>
2215
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2219
<div class="memdoc">
2222
Copy GAP block body to bit block with DGap transformation.
2225
<p>Definition at line <a class="el" href="a00138.html#l00515">515</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2227
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
2231
<a class="anchor" name="fa6ea0cce0cdd88738a01fad393376b3"></a><!-- doxytag: member="bm::gap_2_dgap" ref="fa6ea0cce0cdd88738a01fad393376b3" args="(const T *gap_buf, T *dgap_buf, bool copy_head=true)" -->
2232
<div class="memitem">
2233
<div class="memproto">
2234
<div class="memtemplate">
2235
template<typename T> </div>
2236
<table class="memname">
2238
<td class="memname">T* bm::gap_2_dgap </td>
2240
<td class="paramtype">const T * </td>
2241
<td class="paramname"> <em>gap_buf</em>, </td>
2244
<td class="paramkey"></td>
2246
<td class="paramtype">T * </td>
2247
<td class="paramname"> <em>dgap_buf</em>, </td>
2250
<td class="paramkey"></td>
2252
<td class="paramtype">bool </td>
2253
<td class="paramname"> <em>copy_head</em> = <code>true</code></td><td> </td>
2258
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2262
<div class="memdoc">
2265
Convert GAP buffer into D-GAP buffer.
2267
Delta GAP representation is DGAP[N] = GAP[N] - GAP[N-1]<p>
2268
<dl compact><dt><b>Parameters:</b></dt><dd>
2269
<table border="0" cellspacing="2" cellpadding="0">
2270
<tr><td valign="top"></td><td valign="top"><em>gap_buf</em> </td><td>- GAP buffer </td></tr>
2271
<tr><td valign="top"></td><td valign="top"><em>dgap_buf</em> </td><td>- Delta-GAP buffer </td></tr>
2272
<tr><td valign="top"></td><td valign="top"><em>copy_head</em> </td><td>- flag to copy GAP header </td></tr>
2276
<p>Definition at line <a class="el" href="a00134.html#l00770">770</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2278
<p>References <a class="el" href="a00134.html#l00753">bm::d_copy_func< T >::dgap_buf_</a>.</p>
2282
<a class="anchor" name="cebed8b533c2c9e17167617501477693"></a><!-- doxytag: member="bm::gap_bfind" ref="cebed8b533c2c9e17167617501477693" args="(const T *buf, unsigned pos, unsigned *is_set)" -->
2283
<div class="memitem">
2284
<div class="memproto">
2285
<div class="memtemplate">
2286
template<typename T> </div>
2287
<table class="memname">
2289
<td class="memname">unsigned bm::gap_bfind </td>
2291
<td class="paramtype">const T * </td>
2292
<td class="paramname"> <em>buf</em>, </td>
2295
<td class="paramkey"></td>
2297
<td class="paramtype">unsigned </td>
2298
<td class="paramname"> <em>pos</em>, </td>
2301
<td class="paramkey"></td>
2303
<td class="paramtype">unsigned * </td>
2304
<td class="paramname"> <em>is_set</em></td><td> </td>
2309
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2313
<div class="memdoc">
2317
<p>Definition at line <a class="el" href="a00134.html#l00457">457</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2319
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00132.html#l00072">gap_max_bits</a>.</p>
2321
<p>Referenced by <a class="el" href="a00134.html#l00681">gap_bit_count_range()</a>, <a class="el" href="a00134.html#l01214">gap_find_in_block()</a>, and <a class="el" href="a00134.html#l01122">gap_set_value()</a>.</p>
2325
<a class="anchor" name="7324ebded429e15361f62117a2ff18d1"></a><!-- doxytag: member="bm::gap_bit_count_range" ref="7324ebded429e15361f62117a2ff18d1" args="(const T *buf, T left, T right)" -->
2326
<div class="memitem">
2327
<div class="memproto">
2328
<div class="memtemplate">
2329
template<typename T> </div>
2330
<table class="memname">
2332
<td class="memname">unsigned bm::gap_bit_count_range </td>
2334
<td class="paramtype">const T * </td>
2335
<td class="paramname"> <em>buf</em>, </td>
2338
<td class="paramkey"></td>
2340
<td class="paramtype">T </td>
2341
<td class="paramname"> <em>left</em>, </td>
2344
<td class="paramkey"></td>
2346
<td class="paramtype">T </td>
2347
<td class="paramname"> <em>right</em></td><td> </td>
2352
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2356
<div class="memdoc">
2359
Counts 1 bits in GAP buffer in the closed [left, right] diapason.
2361
<dl compact><dt><b>Parameters:</b></dt><dd>
2362
<table border="0" cellspacing="2" cellpadding="0">
2363
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>- GAP buffer pointer. </td></tr>
2364
<tr><td valign="top"></td><td valign="top"><em>left</em> </td><td>- leftmost bit index to start from </td></tr>
2365
<tr><td valign="top"></td><td valign="top"><em>right-</em> </td><td>rightmost bit index </td></tr>
2368
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of non-zero bits. </dd></dl>
2370
<p>Definition at line <a class="el" href="a00134.html#l00681">681</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2372
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00134.html#l00457">gap_bfind()</a>.</p>
2374
<p>Referenced by <a class="el" href="a00128.html#l01677">bm::bvector< Alloc, MS >::count_range()</a>.</p>
2378
<a class="anchor" name="5f818ac575622da8a9a75511e649ea90"></a><!-- doxytag: member="bm::ilog2" ref="5f818ac575622da8a9a75511e649ea90" args="(gap_word_t x)" -->
2379
<div class="memitem">
2380
<div class="memproto">
2381
<div class="memtemplate">
2382
template<> </div>
2383
<table class="memname">
2385
<td class="memname"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2 </td>
2387
<td class="paramtype">gap_word_t </td>
2388
<td class="paramname"> <em>x</em> </td>
2389
<td> ) </td>
2390
<td width="100%"><code> [inline]</code></td>
2394
<div class="memdoc">
2398
<p>Definition at line <a class="el" href="a00140.html#l00066">66</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2402
<a class="anchor" name="46f258f92ab40e2a0c76aa775338faaa"></a><!-- doxytag: member="bm::ilog2" ref="46f258f92ab40e2a0c76aa775338faaa" args="(T x)" -->
2403
<div class="memitem">
2404
<div class="memproto">
2405
<div class="memtemplate">
2406
template<typename T> </div>
2407
<table class="memname">
2409
<td class="memname">T bm::ilog2 </td>
2411
<td class="paramtype">T </td>
2412
<td class="paramname"> <em>x</em> </td>
2413
<td> ) </td>
2414
<td width="100%"><code> [inline]</code></td>
2418
<div class="memdoc">
2421
Fast loop-less function to find LOG2.
2424
<p>Definition at line <a class="el" href="a00140.html#l00054">54</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2428
<a class="anchor" name="3ab126a6fd7ffd872a4001638819a330"></a><!-- doxytag: member="bm::ilog2_LUT" ref="3ab126a6fd7ffd872a4001638819a330" args="(T x)" -->
2429
<div class="memitem">
2430
<div class="memproto">
2431
<div class="memtemplate">
2432
template<typename T> </div>
2433
<table class="memname">
2435
<td class="memname">T bm::ilog2_LUT </td>
2437
<td class="paramtype">T </td>
2438
<td class="paramname"> <em>x</em> </td>
2439
<td> ) </td>
2440
<td width="100%"><code> [inline]</code></td>
2444
<div class="memdoc">
2447
Lookup table based integer LOG2.
2450
<p>Definition at line <a class="el" href="a00140.html#l00081">81</a> of file <a class="el" href="a00140.html">bmutil.h</a>.</p>
2452
<p>Referenced by <a class="el" href="a00142.html#l00230">bm::bit_out< TEncoder >::gamma()</a>.</p>
2456
<a class="anchor" name="7074ee06dc4ee023170c2f85c78b50fe"></a><!-- doxytag: member="bm::ilog2_LUT< bm::gap_word_t >" ref="7074ee06dc4ee023170c2f85c78b50fe" args="(bm::gap_word_t x)" -->
2457
<div class="memitem">
2458
<div class="memproto">
2459
<div class="memtemplate">
2460
template<> </div>
2461
<table class="memname">
2463
<td class="memname"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> bm::ilog2_LUT< <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> > </td>
2465
<td class="paramtype"><a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">bm::gap_word_t</a> </td>
2466
<td class="paramname"> <em>x</em> </td>
2467
<td> ) </td>
2468
<td width="100%"><code> [inline]</code></td>
2472
<div class="memdoc">
2475
Lookup table based short integer LOG2.
2480
<a class="anchor" name="3deb310cdf11bca948817f94adfec160"></a><!-- doxytag: member="bm::is_const_set_operation" ref="3deb310cdf11bca948817f94adfec160" args="(set_operation op)" -->
2481
<div class="memitem">
2482
<div class="memproto">
2483
<table class="memname">
2485
<td class="memname">bool bm::is_const_set_operation </td>
2487
<td class="paramtype">set_operation </td>
2488
<td class="paramname"> <em>op</em> </td>
2489
<td> ) </td>
2490
<td width="100%"><code> [inline]</code></td>
2494
<div class="memdoc">
2497
Returns true if set operation is constant (bitcount).
2500
<p>Definition at line <a class="el" href="a00134.html#l00262">262</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2502
<p>References <a class="el" href="a00134.html#l00248">set_COUNT</a>.</p>
2504
<p>Referenced by <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, and <a class="el" href="a00130.html#l00069">operation2metric()</a>.</p>
2508
<a class="anchor" name="5adb1bbecea75c18eba72aab5fc5db7c"></a><!-- doxytag: member="bm::operator &" ref="5adb1bbecea75c18eba72aab5fc5db7c" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2509
<div class="memitem">
2510
<div class="memproto">
2511
<div class="memtemplate">
2512
template<class Alloc, class MS> </div>
2513
<table class="memname">
2515
<td class="memname"><a class="el" href="a00040.html">bvector</a><Alloc, MS> bm::operator & </td>
2517
<td class="paramtype">const bvector< Alloc, MS > & </td>
2518
<td class="paramname"> <em>v1</em>, </td>
2521
<td class="paramkey"></td>
2523
<td class="paramtype">const bvector< Alloc, MS > & </td>
2524
<td class="paramname"> <em>v2</em></td><td> </td>
2529
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2533
<div class="memdoc">
2537
<p>Definition at line <a class="el" href="a00128.html#l01551">1551</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2539
<p>References <a class="el" href="a00128.html#l01283">bm::bvector< Alloc, MS >::bit_and()</a>.</p>
2543
<a class="anchor" name="fe23d0ced66b48b9c4214e0b00dcc5ac"></a><!-- doxytag: member="bm::operator-" ref="fe23d0ced66b48b9c4214e0b00dcc5ac" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2544
<div class="memitem">
2545
<div class="memproto">
2546
<div class="memtemplate">
2547
template<class Alloc, class MS> </div>
2548
<table class="memname">
2550
<td class="memname"><a class="el" href="a00040.html">bvector</a><Alloc, MS> bm::operator- </td>
2552
<td class="paramtype">const bvector< Alloc, MS > & </td>
2553
<td class="paramname"> <em>v1</em>, </td>
2556
<td class="paramkey"></td>
2558
<td class="paramtype">const bvector< Alloc, MS > & </td>
2559
<td class="paramname"> <em>v2</em></td><td> </td>
2564
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2568
<div class="memdoc">
2572
<p>Definition at line <a class="el" href="a00128.html#l01596">1596</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2574
<p>References <a class="el" href="a00128.html#l01305">bm::bvector< Alloc, MS >::bit_sub()</a>.</p>
2578
<a class="anchor" name="7042429992aec5891a3df1b0bddea05f"></a><!-- doxytag: member="bm::operator^" ref="7042429992aec5891a3df1b0bddea05f" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc, MS > &v2)" -->
2579
<div class="memitem">
2580
<div class="memproto">
2581
<div class="memtemplate">
2582
template<class Alloc, class MS> </div>
2583
<table class="memname">
2585
<td class="memname"><a class="el" href="a00040.html">bvector</a><Alloc, MS> bm::operator^ </td>
2587
<td class="paramtype">const bvector< Alloc, MS > & </td>
2588
<td class="paramname"> <em>v1</em>, </td>
2591
<td class="paramkey"></td>
2593
<td class="paramtype">const bvector< Alloc, MS > & </td>
2594
<td class="paramname"> <em>v2</em></td><td> </td>
2599
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2603
<div class="memdoc">
2607
<p>Definition at line <a class="el" href="a00128.html#l01581">1581</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2609
<p>References <a class="el" href="a00128.html#l01294">bm::bvector< Alloc, MS >::bit_xor()</a>.</p>
2613
<a class="anchor" name="5cc9411c5170df52c1c4ea436ef32745"></a><!-- doxytag: member="bm::operator|" ref="5cc9411c5170df52c1c4ea436ef32745" args="(const bvector< Alloc, MS > &v1, const bvector< Alloc > &v2)" -->
2614
<div class="memitem">
2615
<div class="memproto">
2616
<div class="memtemplate">
2617
template<class Alloc, class MS> </div>
2618
<table class="memname">
2620
<td class="memname"><a class="el" href="a00040.html">bvector</a><Alloc, MS> bm::operator| </td>
2622
<td class="paramtype">const bvector< Alloc, MS > & </td>
2623
<td class="paramname"> <em>v1</em>, </td>
2626
<td class="paramkey"></td>
2628
<td class="paramtype">const bvector< Alloc > & </td>
2629
<td class="paramname"> <em>v2</em></td><td> </td>
2634
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2638
<div class="memdoc">
2642
<p>Definition at line <a class="el" href="a00128.html#l01566">1566</a> of file <a class="el" href="a00128.html">bm.h</a>.</p>
2644
<p>References <a class="el" href="a00128.html#l01272">bm::bvector< Alloc, MS >::bit_or()</a>.</p>
2648
<a class="anchor" name="447794fbcac5b6f4ab42b0795c665fea"></a><!-- doxytag: member="bm::parallel_popcnt_32" ref="447794fbcac5b6f4ab42b0795c665fea" args="(unsigned b)" -->
2649
<div class="memitem">
2650
<div class="memproto">
2651
<table class="memname">
2653
<td class="memname">unsigned bm::parallel_popcnt_32 </td>
2655
<td class="paramtype">unsigned </td>
2656
<td class="paramname"> <em>b</em> </td>
2657
<td> ) </td>
2658
<td width="100%"><code> [inline]</code></td>
2662
<div class="memdoc">
2666
<p>Definition at line <a class="el" href="a00134.html#l00206">206</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2670
<a class="anchor" name="7c192b64adb0590a09b5c2dad77c4b76"></a><!-- doxytag: member="bm::setop2op" ref="7c192b64adb0590a09b5c2dad77c4b76" args="(bm::set_operation op)" -->
2671
<div class="memitem">
2672
<div class="memproto">
2673
<table class="memname">
2675
<td class="memname"><a class="el" href="a00106.html#42405343976ec931388381cea4092bf1">bm::operation</a> bm::setop2op </td>
2677
<td class="paramtype"><a class="el" href="a00106.html#76b70d2b9182a6dcac151d1bd9ec6109">bm::set_operation</a> </td>
2678
<td class="paramname"> <em>op</em> </td>
2679
<td> ) </td>
2680
<td width="100%"><code> [inline]</code></td>
2684
<div class="memdoc">
2687
Convert set operation to operation.
2690
<p>Definition at line <a class="el" href="a00134.html#l00282">282</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2692
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00134.html#l00243">set_AND</a>, <a class="el" href="a00134.html#l00244">set_OR</a>, <a class="el" href="a00134.html#l00245">set_SUB</a>, and <a class="el" href="a00134.html#l00246">set_XOR</a>.</p>
2694
<p>Referenced by <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>.</p>
2698
<a class="anchor" name="c0c75fb7b3dc61602843ac4e1b9b7ef5"></a><!-- doxytag: member="bm::sse2_and" ref="c0c75fb7b3dc61602843ac4e1b9b7ef5" args="(__m128i a, __m128i b)" -->
2699
<div class="memitem">
2700
<div class="memproto">
2701
<table class="memname">
2703
<td class="memname">BMFORCEINLINE __m128i bm::sse2_and </td>
2705
<td class="paramtype">__m128i </td>
2706
<td class="paramname"> <em>a</em>, </td>
2709
<td class="paramkey"></td>
2711
<td class="paramtype">__m128i </td>
2712
<td class="paramname"> <em>b</em></td><td> </td>
2717
<td></td><td></td><td width="100%"></td>
2721
<div class="memdoc">
2725
<p>Definition at line <a class="el" href="a00137.html#l00474">474</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2729
<a class="anchor" name="8831a88ef538b3997d04d2ebf513160d"></a><!-- doxytag: member="bm::sse2_bit_count_op" ref="8831a88ef538b3997d04d2ebf513160d" args="(const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)" -->
2730
<div class="memitem">
2731
<div class="memproto">
2732
<div class="memtemplate">
2733
template<class Func> </div>
2734
<table class="memname">
2736
<td class="memname"><a class="el" href="a00106.html#a3824d882a037396370b16f2f0a8bf37">bm::id_t</a> bm::sse2_bit_count_op </td>
2738
<td class="paramtype">const __m128i *BMRESTRICT </td>
2739
<td class="paramname"> <em>block</em>, </td>
2742
<td class="paramkey"></td>
2744
<td class="paramtype">const __m128i *BMRESTRICT </td>
2745
<td class="paramname"> <em>block_end</em>, </td>
2748
<td class="paramkey"></td>
2750
<td class="paramtype">const __m128i *BMRESTRICT </td>
2751
<td class="paramname"> <em>mask_block</em>, </td>
2754
<td class="paramkey"></td>
2756
<td class="paramtype">Func </td>
2757
<td class="paramname"> <em>sse2_func</em></td><td> </td>
2762
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2766
<div class="memdoc">
2770
<p>Definition at line <a class="el" href="a00137.html#l00500">500</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2772
<p>References <a class="el" href="a00133.html#l00144">BM_ALIGN16ATTR</a>.</p>
2776
<a class="anchor" name="dea798a9a95a04845c33876087a2f46b"></a><!-- doxytag: member="bm::sse2_or" ref="dea798a9a95a04845c33876087a2f46b" args="(__m128i a, __m128i b)" -->
2777
<div class="memitem">
2778
<div class="memproto">
2779
<table class="memname">
2781
<td class="memname">BMFORCEINLINE __m128i bm::sse2_or </td>
2783
<td class="paramtype">__m128i </td>
2784
<td class="paramname"> <em>a</em>, </td>
2787
<td class="paramkey"></td>
2789
<td class="paramtype">__m128i </td>
2790
<td class="paramname"> <em>b</em></td><td> </td>
2795
<td></td><td></td><td width="100%"></td>
2799
<div class="memdoc">
2803
<p>Definition at line <a class="el" href="a00137.html#l00480">480</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2807
<a class="anchor" name="b3e6d46fcba1bc2a1a5390c10f571382"></a><!-- doxytag: member="bm::sse2_sub" ref="b3e6d46fcba1bc2a1a5390c10f571382" args="(__m128i a, __m128i b)" -->
2808
<div class="memitem">
2809
<div class="memproto">
2810
<table class="memname">
2812
<td class="memname">BMFORCEINLINE __m128i bm::sse2_sub </td>
2814
<td class="paramtype">__m128i </td>
2815
<td class="paramname"> <em>a</em>, </td>
2818
<td class="paramkey"></td>
2820
<td class="paramtype">__m128i </td>
2821
<td class="paramname"> <em>b</em></td><td> </td>
2826
<td></td><td></td><td width="100%"></td>
2830
<div class="memdoc">
2834
<p>Definition at line <a class="el" href="a00137.html#l00493">493</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2838
<a class="anchor" name="6f5de19ee3e1be05037908b4777c4da8"></a><!-- doxytag: member="bm::sse2_xor" ref="6f5de19ee3e1be05037908b4777c4da8" args="(__m128i a, __m128i b)" -->
2839
<div class="memitem">
2840
<div class="memproto">
2841
<table class="memname">
2843
<td class="memname">BMFORCEINLINE __m128i bm::sse2_xor </td>
2845
<td class="paramtype">__m128i </td>
2846
<td class="paramname"> <em>a</em>, </td>
2849
<td class="paramkey"></td>
2851
<td class="paramtype">__m128i </td>
2852
<td class="paramname"> <em>b</em></td><td> </td>
2857
<td></td><td></td><td width="100%"></td>
2861
<div class="memdoc">
2865
<p>Definition at line <a class="el" href="a00137.html#l00487">487</a> of file <a class="el" href="a00137.html">bmsse2.h</a>.</p>
2869
<a class="anchor" name="c8f3443ba8fcd1b28face4b09dfd21bf"></a><!-- doxytag: member="bm::sum_arr" ref="c8f3443ba8fcd1b28face4b09dfd21bf" args="(T *first, T *last)" -->
2870
<div class="memitem">
2871
<div class="memproto">
2872
<div class="memtemplate">
2873
template<class T> </div>
2874
<table class="memname">
2876
<td class="memname">T bm::sum_arr </td>
2878
<td class="paramtype">T * </td>
2879
<td class="paramname"> <em>first</em>, </td>
2882
<td class="paramkey"></td>
2884
<td class="paramtype">T * </td>
2885
<td class="paramname"> <em>last</em></td><td> </td>
2890
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2894
<div class="memdoc">
2897
Computes SUM of all elements of the sequence
2898
<p>Definition at line <a class="el" href="a00134.html#l00629">629</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
2902
<a class="anchor" name="2e3af9c9f2eb481130d240ba4cd6fd68"></a><!-- doxytag: member="bm::vect_bit_transpose" ref="2e3af9c9f2eb481130d240ba4cd6fd68" args="(const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])" -->
2903
<div class="memitem">
2904
<div class="memproto">
2905
<div class="memtemplate">
2906
template<typename T, unsigned BPC, unsigned BPS> </div>
2907
<table class="memname">
2909
<td class="memname">void bm::vect_bit_transpose </td>
2911
<td class="paramtype">const T * </td>
2912
<td class="paramname"> <em>arr</em>, </td>
2915
<td class="paramkey"></td>
2917
<td class="paramtype">unsigned </td>
2918
<td class="paramname"> <em>arr_size</em>, </td>
2921
<td class="paramkey"></td>
2923
<td class="paramtype">T </td>
2924
<td class="paramname"> <em>tmatrix</em>[BPC][BPS]</td><td> </td>
2929
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2933
<div class="memdoc">
2936
Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size.
2938
<dl compact><dt><b>Parameters:</b></dt><dd>
2939
<table border="0" cellspacing="2" cellpadding="0">
2940
<tr><td valign="top"></td><td valign="top"><em>arr</em> </td><td>- source array start </td></tr>
2941
<tr><td valign="top"></td><td valign="top"><em>arr_size</em> </td><td>- source array size </td></tr>
2942
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00081.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em> </td><td>- destination bit matrix </td></tr>
2946
<p>Definition at line <a class="el" href="a00138.html#l00274">274</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2948
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00138.html#l00059">bm::bit_grabber< T, BPC >::get()</a>.</p>
2952
<a class="anchor" name="089ac7cd17ddca4bf3c661c96f749f3f"></a><!-- doxytag: member="bm::vect_bit_trestore" ref="089ac7cd17ddca4bf3c661c96f749f3f" args="(const T tmatrix[BPC][BPS], T *arr)" -->
2953
<div class="memitem">
2954
<div class="memproto">
2955
<div class="memtemplate">
2956
template<typename T, unsigned BPC, unsigned BPS> </div>
2957
<table class="memname">
2959
<td class="memname">void bm::vect_bit_trestore </td>
2961
<td class="paramtype">const T </td>
2962
<td class="paramname"> <em>tmatrix</em>[BPC][BPS], </td>
2965
<td class="paramkey"></td>
2967
<td class="paramtype">T * </td>
2968
<td class="paramname"> <em>arr</em></td><td> </td>
2973
<td></td><td></td><td width="100%"><code> [inline]</code></td>
2977
<div class="memdoc">
2980
Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size.
2982
<dl compact><dt><b>Parameters:</b></dt><dd>
2983
<table border="0" cellspacing="2" cellpadding="0">
2984
<tr><td valign="top"></td><td valign="top"><em>arr</em> </td><td>- dest array </td></tr>
2985
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="a00081.html" title="Mini-matrix for bit transposition purposes.">tmatrix</a></em> </td><td>- source bit-slice matrix </td></tr>
2989
<p>Definition at line <a class="el" href="a00138.html#l00307">307</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
2991
<p>References <a class="el" href="a00138.html#l00158">bm::bit_trans_grabber< T, BPC, BPS >::get()</a>.</p>
2995
<a class="anchor" name="2e0675b3474db845b3d5910ce81e6868"></a><!-- doxytag: member="bm::xor_op" ref="2e0675b3474db845b3d5910ce81e6868" args="(unsigned v1, unsigned v2)" -->
2996
<div class="memitem">
2997
<div class="memproto">
2998
<table class="memname">
3000
<td class="memname">unsigned bm::xor_op </td>
3002
<td class="paramtype">unsigned </td>
3003
<td class="paramname"> <em>v1</em>, </td>
3006
<td class="paramkey"></td>
3008
<td class="paramtype">unsigned </td>
3009
<td class="paramname"> <em>v2</em></td><td> </td>
3014
<td></td><td></td><td width="100%"><code> [inline]</code></td>
3018
<div class="memdoc">
3024
<p>Definition at line <a class="el" href="a00134.html#l02894">2894</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
3026
<p>Referenced by <a class="el" href="a00134.html#l02984">gap_operation_any_xor()</a>, and <a class="el" href="a00134.html#l02961">gap_operation_xor()</a>.</p>
3030
<a class="anchor" name="fb2c1acc56270abb381741a709a2b17c"></a><!-- doxytag: member="bm::xor_swap" ref="fb2c1acc56270abb381741a709a2b17c" args="(W &x, W &y)" -->
3031
<div class="memitem">
3032
<div class="memproto">
3033
<div class="memtemplate">
3034
template<typename W> </div>
3035
<table class="memname">
3037
<td class="memname">void bm::xor_swap </td>
3039
<td class="paramtype">W & </td>
3040
<td class="paramname"> <em>x</em>, </td>
3043
<td class="paramkey"></td>
3045
<td class="paramtype">W & </td>
3046
<td class="paramname"> <em>y</em></td><td> </td>
3051
<td></td><td></td><td width="100%"><code> [inline]</code></td>
3055
<div class="memdoc">
3058
XOR swap two scalar variables.
3061
<p>Definition at line <a class="el" href="a00134.html#l00317">317</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
3063
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>.</p>
3065
<p>Referenced by <a class="el" href="a00128.html#l01208">bm::bvector< Alloc, MS >::swap()</a>.</p>
3069
<hr><h2>Variable Documentation</h2>
3070
<a class="anchor" name="095e72da3086d98dac9724b11b478235"></a><!-- doxytag: member="bm::all_bits_mask" ref="095e72da3086d98dac9724b11b478235" args="" -->
3071
<div class="memitem">
3072
<div class="memproto">
3073
<table class="memname">
3075
<td class="memname">const <a class="el" href="a00106.html#1f6a6dd108cd9e9f4fb284043ef518fe">id64_t</a> <a class="el" href="a00106.html#095e72da3086d98dac9724b11b478235">bm::all_bits_mask</a> = 0xffffffffffffffff </td>
3079
<div class="memdoc">
3083
<p>Definition at line <a class="el" href="a00132.html#l00093">93</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3085
<p>Referenced by <a class="el" href="a00134.html#l02846">is_bits_one()</a>.</p>
3089
<a class="anchor" name="4dedd13a7b8a27c5067b20118002f025"></a><!-- doxytag: member="bm::bits_in_array" ref="4dedd13a7b8a27c5067b20118002f025" args="" -->
3090
<div class="memitem">
3091
<div class="memproto">
3092
<table class="memname">
3094
<td class="memname">const unsigned <a class="el" href="a00106.html#4dedd13a7b8a27c5067b20118002f025">bm::bits_in_array</a> = <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> </td>
3098
<div class="memdoc">
3102
<p>Definition at line <a class="el" href="a00132.html#l00087">87</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3104
<p>Referenced by <a class="el" href="a00128.html#l00422">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3108
<a class="anchor" name="e9916f69ced0347d94472d7944ea0e45"></a><!-- doxytag: member="bm::bits_in_block" ref="e9916f69ced0347d94472d7944ea0e45" args="" -->
3109
<div class="memitem">
3110
<div class="memproto">
3111
<table class="memname">
3113
<td class="memname">const unsigned <a class="el" href="a00106.html#e9916f69ced0347d94472d7944ea0e45">bm::bits_in_block</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> * sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8 </td>
3117
<div class="memdoc">
3121
<p>Definition at line <a class="el" href="a00132.html#l00086">86</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3123
<p>Referenced by <a class="el" href="a00128.html#l01677">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00128.html#l00422">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, and <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3127
<a class="anchor" name="9b1715d6d9164d56172e75bbbd0e3000"></a><!-- doxytag: member="bm::gap_equiv_len" ref="9b1715d6d9164d56172e75bbbd0e3000" args="" -->
3128
<div class="memitem">
3129
<div class="memproto">
3130
<table class="memname">
3132
<td class="memname">const unsigned <a class="el" href="a00106.html#9b1715d6d9164d56172e75bbbd0e3000">bm::gap_equiv_len</a> </td>
3136
<div class="memdoc">
3139
<b>Initial value:</b><div class="fragment"><pre class="fragment">
3140
(<span class="keyword">sizeof</span>(<a class="code" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * <a class="code" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a>) / <span class="keyword">sizeof</span>(<a class="code" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a>)
3142
<p>Definition at line <a class="el" href="a00132.html#l00073">73</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3144
<p>Referenced by <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00136.html#l00407">bm::serializer< BV >::encode_gap_block()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3148
<a class="anchor" name="773e9f5341919d58000bd54d50038733"></a><!-- doxytag: member="bm::gap_levels" ref="773e9f5341919d58000bd54d50038733" args="" -->
3149
<div class="memitem">
3150
<div class="memproto">
3151
<table class="memname">
3153
<td class="memname">const unsigned <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> = 4 </td>
3157
<div class="memdoc">
3161
<p>Definition at line <a class="el" href="a00132.html#l00075">75</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3163
<p>Referenced by <a class="el" href="a00131.html#l00190">bm::mem_alloc< BA, PA >::alloc_gap_block()</a>, <a class="el" href="a00128.html#l02038">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l00287">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00134.html#l02218">gap_calc_level()</a>, <a class="el" href="a00134.html#l04415">gap_overhead()</a>, <a class="el" href="a00134.html#l04443">improve_gap_levels()</a>, <a class="el" href="a00128.html#l01829">bm::bvector< Alloc, MS >::optimize()</a>, <a class="el" href="a00128.html#l01871">bm::bvector< Alloc, MS >::optimize_gap_size()</a>, <a class="el" href="a00136.html#l01601">bm::serial_stream_iterator< DEC >::serial_stream_iterator()</a>, and <a class="el" href="a00134.html#l02201">set_gap_level()</a>.</p>
3167
<a class="anchor" name="d0b8714080144ac70197840ff96752b7"></a><!-- doxytag: member="bm::gap_max_bits" ref="d0b8714080144ac70197840ff96752b7" args="" -->
3168
<div class="memitem">
3169
<div class="memproto">
3170
<table class="memname">
3172
<td class="memname">const unsigned <a class="el" href="a00106.html#d0b8714080144ac70197840ff96752b7">bm::gap_max_bits</a> = 65536 </td>
3176
<div class="memdoc">
3180
<p>Definition at line <a class="el" href="a00132.html#l00072">72</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3182
<p>Referenced by <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, <a class="el" href="a00128.html#l01908">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00134.html#l00457">gap_bfind()</a>, <a class="el" href="a00134.html#l00979">gap_buff_any_op()</a>, <a class="el" href="a00134.html#l00898">gap_buff_op()</a>, <a class="el" href="a00134.html#l01214">gap_find_in_block()</a>, <a class="el" href="a00134.html#l01122">gap_set_value()</a>, <a class="el" href="a00134.html#l00485">gap_test()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3186
<a class="anchor" name="a5e01dfb650d168f9be0525e042af647"></a><!-- doxytag: member="bm::gap_max_buff_len" ref="a5e01dfb650d168f9be0525e042af647" args="" -->
3187
<div class="memitem">
3188
<div class="memproto">
3189
<table class="memname">
3191
<td class="memname">const unsigned <a class="el" href="a00106.html#a5e01dfb650d168f9be0525e042af647">bm::gap_max_buff_len</a> = 1280 </td>
3195
<div class="memdoc">
3199
<p>Definition at line <a class="el" href="a00132.html#l00071">71</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3201
<p>Referenced by <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, and <a class="el" href="a00134.html#l04443">improve_gap_levels()</a>.</p>
3205
<a class="anchor" name="13793ad631e2b2fcbaaae9000ea1a924"></a><!-- doxytag: member="bm::gap_max_level" ref="13793ad631e2b2fcbaaae9000ea1a924" args="" -->
3206
<div class="memitem">
3207
<div class="memproto">
3208
<table class="memname">
3210
<td class="memname">const unsigned <a class="el" href="a00106.html#13793ad631e2b2fcbaaae9000ea1a924">bm::gap_max_level</a> = <a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a> - 1 </td>
3214
<div class="memdoc">
3218
<p>Definition at line <a class="el" href="a00132.html#l00076">76</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3222
<a class="anchor" name="a6f59be0b838db693e0f081bcaf750f0"></a><!-- doxytag: member="bm::ibpc_all_one" ref="a6f59be0b838db693e0f081bcaf750f0" args="" -->
3223
<div class="memitem">
3224
<div class="memproto">
3225
<table class="memname">
3227
<td class="memname">const unsigned char <a class="el" href="a00106.html#a6f59be0b838db693e0f081bcaf750f0">bm::ibpc_all_one</a> = 2 </td>
3231
<div class="memdoc">
3234
!< plain ALL ZERO
3237
<p>Definition at line <a class="el" href="a00138.html#l00357">357</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3239
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3243
<a class="anchor" name="aca6d3c887b5b7b66a78e95471f9a326"></a><!-- doxytag: member="bm::ibpc_all_zero" ref="aca6d3c887b5b7b66a78e95471f9a326" args="" -->
3244
<div class="memitem">
3245
<div class="memproto">
3246
<table class="memname">
3248
<td class="memname">const unsigned char <a class="el" href="a00106.html#aca6d3c887b5b7b66a78e95471f9a326">bm::ibpc_all_zero</a> = 1 </td>
3252
<div class="memdoc">
3255
!< plain uncompressed
3258
<p>Definition at line <a class="el" href="a00138.html#l00356">356</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3260
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3264
<a class="anchor" name="a61bf7691d32a9bc7c65c05bb62657e5"></a><!-- doxytag: member="bm::ibpc_close" ref="a61bf7691d32a9bc7c65c05bb62657e5" args="" -->
3265
<div class="memitem">
3266
<div class="memproto">
3267
<table class="memname">
3269
<td class="memname">const unsigned char <a class="el" href="a00106.html#a61bf7691d32a9bc7c65c05bb62657e5">bm::ibpc_close</a> = 4 </td>
3273
<div class="memdoc">
3276
!< plain is equal to plain M
3279
<p>Definition at line <a class="el" href="a00138.html#l00359">359</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3281
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3285
<a class="anchor" name="e4f14f0c2c5a9ee277808d36fd94693f"></a><!-- doxytag: member="bm::ibpc_end" ref="e4f14f0c2c5a9ee277808d36fd94693f" args="" -->
3286
<div class="memitem">
3287
<div class="memproto">
3288
<table class="memname">
3290
<td class="memname">const unsigned char <a class="el" href="a00106.html#e4f14f0c2c5a9ee277808d36fd94693f">bm::ibpc_end</a> = 8 </td>
3294
<div class="memdoc">
3297
!< plain is close to plain M
3300
<p>Definition at line <a class="el" href="a00138.html#l00361">361</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3304
<a class="anchor" name="748d4095c39c9372a590b431e0ec17fe"></a><!-- doxytag: member="bm::ibpc_equiv" ref="748d4095c39c9372a590b431e0ec17fe" args="" -->
3305
<div class="memitem">
3306
<div class="memproto">
3307
<table class="memname">
3309
<td class="memname">const unsigned char <a class="el" href="a00106.html#748d4095c39c9372a590b431e0ec17fe">bm::ibpc_equiv</a> = 3 </td>
3313
<div class="memdoc">
3319
<p>Definition at line <a class="el" href="a00138.html#l00358">358</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3321
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3325
<a class="anchor" name="e34de9206be7a8aa05db9d5dc38bfc90"></a><!-- doxytag: member="bm::ibpc_uncompr" ref="e34de9206be7a8aa05db9d5dc38bfc90" args="" -->
3326
<div class="memitem">
3327
<div class="memproto">
3328
<table class="memname">
3330
<td class="memname">const unsigned char <a class="el" href="a00106.html#e34de9206be7a8aa05db9d5dc38bfc90">bm::ibpc_uncompr</a> = 0 </td>
3334
<div class="memdoc">
3338
<p>Definition at line <a class="el" href="a00138.html#l00355">355</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
3340
<p>Referenced by <a class="el" href="a00138.html#l00385">bit_iblock_make_pcv()</a>, and <a class="el" href="a00138.html#l00458">bit_iblock_reduce()</a>.</p>
3344
<a class="anchor" name="104b924a1df81542db2a6296fbf26a65"></a><!-- doxytag: member="bm::id_max" ref="104b924a1df81542db2a6296fbf26a65" args="" -->
3345
<div class="memitem">
3346
<div class="memproto">
3347
<table class="memname">
3349
<td class="memname">const unsigned <a class="el" href="a00106.html#104b924a1df81542db2a6296fbf26a65">bm::id_max</a> = 0xFFFFFFFF </td>
3353
<div class="memdoc">
3357
<p>Definition at line <a class="el" href="a00132.html#l00049">49</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3359
<p>Referenced by <a class="el" href="a00130.html#l01073">block_range_scan()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00136.html#l00287">bm::serializer< BV >::encode_header()</a>, <a class="el" href="a00128.html#l01249">bm::bvector< Alloc, MS >::extract_next()</a>, <a class="el" href="a00128.html#l01237">bm::bvector< Alloc, MS >::get_next()</a>, <a class="el" href="a00128.html#l00273">bm::bvector< Alloc, MS >::iterator_base::invalidate()</a>, <a class="el" href="a00128.html#l01771">bm::bvector< Alloc, MS >::invert()</a>, <a class="el" href="a00128.html#l00344">bm::bvector< Alloc, MS >::insert_iterator::operator=()</a>, and <a class="el" href="a00128.html#l00264">bm::bvector< Alloc, MS >::iterator_base::valid()</a>.</p>
3363
<a class="anchor" name="00ffa7b38d7fcc7e522d864991a6de68"></a><!-- doxytag: member="bm::set_array_mask" ref="00ffa7b38d7fcc7e522d864991a6de68" args="" -->
3364
<div class="memitem">
3365
<div class="memproto">
3366
<table class="memname">
3368
<td class="memname">const unsigned <a class="el" href="a00106.html#00ffa7b38d7fcc7e522d864991a6de68">bm::set_array_mask</a> = 0xFFu </td>
3372
<div class="memdoc">
3376
<p>Definition at line <a class="el" href="a00132.html#l00083">83</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3378
<p>Referenced by <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3382
<a class="anchor" name="c1ff8647a089c751ec330cecee01907e"></a><!-- doxytag: member="bm::set_array_shift" ref="c1ff8647a089c751ec330cecee01907e" args="" -->
3383
<div class="memitem">
3384
<div class="memproto">
3385
<table class="memname">
3387
<td class="memname">const unsigned <a class="el" href="a00106.html#c1ff8647a089c751ec330cecee01907e">bm::set_array_shift</a> = 8u </td>
3391
<div class="memdoc">
3395
<p>Definition at line <a class="el" href="a00132.html#l00082">82</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3397
<p>Referenced by <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>.</p>
3401
<a class="anchor" name="40ad34d6c46a2fb20ba2baa7f95d80b4"></a><!-- doxytag: member="bm::set_array_size" ref="40ad34d6c46a2fb20ba2baa7f95d80b4" args="" -->
3402
<div class="memitem">
3403
<div class="memproto">
3404
<table class="memname">
3406
<td class="memname">const unsigned <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> = 256u </td>
3410
<div class="memdoc">
3414
<p>Definition at line <a class="el" href="a00132.html#l00081">81</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3416
<p>Referenced by <a class="el" href="a00128.html#l01163">bm::bvector< Alloc, MS >::any()</a>, <a class="el" href="a00128.html#l02038">bm::bvector< Alloc, MS >::calc_stat()</a>, <a class="el" href="a00128.html#l02505">bm::bvector< Alloc, MS >::combine_operation()</a>, <a class="el" href="a00128.html#l01908">bm::bvector< Alloc, MS >::compare()</a>, <a class="el" href="a00128.html#l01637">bm::bvector< Alloc, MS >::count()</a>, <a class="el" href="a00128.html#l01095">bm::bvector< Alloc, MS >::count_blocks()</a>, <a class="el" href="a00130.html#l01403">count_intervals()</a>, <a class="el" href="a00136.html#l02879">bm::iterator_deserializer< BV, SerialIterator >::deserialize()</a>, <a class="el" href="a00130.html#l00686">distance_operation()</a>, <a class="el" href="a00130.html#l00805">distance_operation_any()</a>, <a class="el" href="a00134.html#l00563">for_each_nzblock_if()</a>, <a class="el" href="a00128.html#l00422">bm::bvector< Alloc, MS >::enumerator::go_first()</a>, <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, <a class="el" href="a00128.html#l01771">bm::bvector< Alloc, MS >::invert()</a>, <a class="el" href="a00128.html#l01829">bm::bvector< Alloc, MS >::optimize()</a>, and <a class="el" href="a00128.html#l01892">bm::bvector< Alloc, MS >::set_gap_levels()</a>.</p>
3420
<a class="anchor" name="2d1bf97ae342a7759943e62090fcf5d3"></a><!-- doxytag: member="bm::set_blkblk_mask" ref="2d1bf97ae342a7759943e62090fcf5d3" args="" -->
3421
<div class="memitem">
3422
<div class="memproto">
3423
<table class="memname">
3425
<td class="memname">const unsigned <a class="el" href="a00106.html#2d1bf97ae342a7759943e62090fcf5d3">bm::set_blkblk_mask</a> = 0xFFFFFFu </td>
3429
<div class="memdoc">
3433
<p>Definition at line <a class="el" href="a00132.html#l00056">56</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3437
<a class="anchor" name="3fad4a939708df59b1201910c7d37e30"></a><!-- doxytag: member="bm::set_block_16one" ref="3fad4a939708df59b1201910c7d37e30" args="" -->
3438
<div class="memitem">
3439
<div class="memproto">
3440
<table class="memname">
3442
<td class="memname">const unsigned char <a class="el" href="a00106.html#3fad4a939708df59b1201910c7d37e30">bm::set_block_16one</a> = 6 </td>
3446
<div class="memdoc">
3449
UP to 65536 all-set blocks.
3452
<p>Definition at line <a class="el" href="a00136.html#l00072">72</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3454
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3458
<a class="anchor" name="ef47eda6538ebf2624c1612d35694c01"></a><!-- doxytag: member="bm::set_block_16zero" ref="ef47eda6538ebf2624c1612d35694c01" args="" -->
3459
<div class="memitem">
3460
<div class="memproto">
3461
<table class="memname">
3463
<td class="memname">const unsigned char <a class="el" href="a00106.html#ef47eda6538ebf2624c1612d35694c01">bm::set_block_16zero</a> = 5 </td>
3467
<div class="memdoc">
3470
Up to 65536 zero blocks.
3473
<p>Definition at line <a class="el" href="a00136.html#l00071">71</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3475
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3479
<a class="anchor" name="715131318a361bcccf59fc0b1e41d444"></a><!-- doxytag: member="bm::set_block_1one" ref="715131318a361bcccf59fc0b1e41d444" args="" -->
3480
<div class="memitem">
3481
<div class="memproto">
3482
<table class="memname">
3484
<td class="memname">const unsigned char <a class="el" href="a00106.html#715131318a361bcccf59fc0b1e41d444">bm::set_block_1one</a> = 2 </td>
3488
<div class="memdoc">
3491
One block all-set (1111...).
3494
<p>Definition at line <a class="el" href="a00136.html#l00068">68</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3496
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3500
<a class="anchor" name="9e9cf918ca2ebec84eaf844d0e4c8bdb"></a><!-- doxytag: member="bm::set_block_1zero" ref="9e9cf918ca2ebec84eaf844d0e4c8bdb" args="" -->
3501
<div class="memitem">
3502
<div class="memproto">
3503
<table class="memname">
3505
<td class="memname">const unsigned char <a class="el" href="a00106.html#9e9cf918ca2ebec84eaf844d0e4c8bdb">bm::set_block_1zero</a> = 1 </td>
3509
<div class="memdoc">
3515
<p>Definition at line <a class="el" href="a00136.html#l00067">67</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3517
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3521
<a class="anchor" name="5b87c58ae617ad1f104b4c6bc3ed6447"></a><!-- doxytag: member="bm::set_block_32one" ref="5b87c58ae617ad1f104b4c6bc3ed6447" args="" -->
3522
<div class="memitem">
3523
<div class="memproto">
3524
<table class="memname">
3526
<td class="memname">const unsigned char <a class="el" href="a00106.html#5b87c58ae617ad1f104b4c6bc3ed6447">bm::set_block_32one</a> = 8 </td>
3530
<div class="memdoc">
3533
UP to 4G all-set blocks.
3536
<p>Definition at line <a class="el" href="a00136.html#l00074">74</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3538
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3542
<a class="anchor" name="c7dfbd94a0534df88849bbce9e6c419a"></a><!-- doxytag: member="bm::set_block_32zero" ref="c7dfbd94a0534df88849bbce9e6c419a" args="" -->
3543
<div class="memitem">
3544
<div class="memproto">
3545
<table class="memname">
3547
<td class="memname">const unsigned char <a class="el" href="a00106.html#c7dfbd94a0534df88849bbce9e6c419a">bm::set_block_32zero</a> = 7 </td>
3551
<div class="memdoc">
3554
Up to 4G zero blocks.
3557
<p>Definition at line <a class="el" href="a00136.html#l00073">73</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3559
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3563
<a class="anchor" name="57ad1090d6f380cf5de5f98c699b5a75"></a><!-- doxytag: member="bm::set_block_8one" ref="57ad1090d6f380cf5de5f98c699b5a75" args="" -->
3564
<div class="memitem">
3565
<div class="memproto">
3566
<table class="memname">
3568
<td class="memname">const unsigned char <a class="el" href="a00106.html#57ad1090d6f380cf5de5f98c699b5a75">bm::set_block_8one</a> = 4 </td>
3572
<div class="memdoc">
3575
Up to 256 all-set blocks.
3578
<p>Definition at line <a class="el" href="a00136.html#l00070">70</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3580
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3584
<a class="anchor" name="c9b85b261ab49b37d5e15b84ed2d8b99"></a><!-- doxytag: member="bm::set_block_8zero" ref="c9b85b261ab49b37d5e15b84ed2d8b99" args="" -->
3585
<div class="memitem">
3586
<div class="memproto">
3587
<table class="memname">
3589
<td class="memname">const unsigned char <a class="el" href="a00106.html#c9b85b261ab49b37d5e15b84ed2d8b99">bm::set_block_8zero</a> = 3 </td>
3593
<div class="memdoc">
3596
Up to 256 zero blocks.
3599
<p>Definition at line <a class="el" href="a00136.html#l00069">69</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3601
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3605
<a class="anchor" name="d506b63262c52870758432a95e71907e"></a><!-- doxytag: member="bm::set_block_aone" ref="d506b63262c52870758432a95e71907e" args="" -->
3606
<div class="memitem">
3607
<div class="memproto">
3608
<table class="memname">
3610
<td class="memname">const unsigned char <a class="el" href="a00106.html#d506b63262c52870758432a95e71907e">bm::set_block_aone</a> = 10 </td>
3614
<div class="memdoc">
3617
All other blocks one.
3620
<p>Definition at line <a class="el" href="a00136.html#l00076">76</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3622
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3626
<a class="anchor" name="6ec6acb175ce77a229003f088ecd3923"></a><!-- doxytag: member="bm::set_block_arrbit" ref="6ec6acb175ce77a229003f088ecd3923" args="" -->
3627
<div class="memitem">
3628
<div class="memproto">
3629
<table class="memname">
3631
<td class="memname">const unsigned char <a class="el" href="a00106.html#6ec6acb175ce77a229003f088ecd3923">bm::set_block_arrbit</a> = 16 </td>
3635
<div class="memdoc">
3641
<p>Definition at line <a class="el" href="a00136.html#l00082">82</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3643
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l02626">bm::serial_stream_iterator< DEC >::get_arr_bit()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3647
<a class="anchor" name="ae33ceefae804cdd94412beee8c52720"></a><!-- doxytag: member="bm::set_block_arrgap" ref="ae33ceefae804cdd94412beee8c52720" args="" -->
3648
<div class="memitem">
3649
<div class="memproto">
3650
<table class="memname">
3652
<td class="memname">const unsigned char <a class="el" href="a00106.html#ae33ceefae804cdd94412beee8c52720">bm::set_block_arrgap</a> = 18 </td>
3656
<div class="memdoc">
3659
List of bits ON (GAP block).
3662
<p>Definition at line <a class="el" href="a00136.html#l00084">84</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3664
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00136.html#l00365">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3668
<a class="anchor" name="9674ddb1b9ee66948465249688708188"></a><!-- doxytag: member="bm::set_block_arrgap_egamma" ref="9674ddb1b9ee66948465249688708188" args="" -->
3669
<div class="memitem">
3670
<div class="memproto">
3671
<table class="memname">
3673
<td class="memname">const unsigned char <a class="el" href="a00106.html#9674ddb1b9ee66948465249688708188">bm::set_block_arrgap_egamma</a> = 21 </td>
3677
<div class="memdoc">
3680
Gamma compressed delta GAP array.
3683
<p>Definition at line <a class="el" href="a00136.html#l00087">87</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3685
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00136.html#l00365">bm::serializer< BV >::gamma_gap_array()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3689
<a class="anchor" name="e87b5c61d7ba6e2e592a279db0b21cc0"></a><!-- doxytag: member="bm::set_block_azero" ref="e87b5c61d7ba6e2e592a279db0b21cc0" args="" -->
3690
<div class="memitem">
3691
<div class="memproto">
3692
<table class="memname">
3694
<td class="memname">const unsigned char <a class="el" href="a00106.html#e87b5c61d7ba6e2e592a279db0b21cc0">bm::set_block_azero</a> = 9 </td>
3698
<div class="memdoc">
3701
All other blocks zero.
3704
<p>Definition at line <a class="el" href="a00136.html#l00075">75</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3706
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3710
<a class="anchor" name="ef86ab2eb42c198272eea7cdfe42951b"></a><!-- doxytag: member="bm::set_block_bit" ref="ef86ab2eb42c198272eea7cdfe42951b" args="" -->
3711
<div class="memitem">
3712
<div class="memproto">
3713
<table class="memname">
3715
<td class="memname">const unsigned char <a class="el" href="a00106.html#ef86ab2eb42c198272eea7cdfe42951b">bm::set_block_bit</a> = 11 </td>
3719
<div class="memdoc">
3725
<p>Definition at line <a class="el" href="a00136.html#l00077">77</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3727
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3731
<a class="anchor" name="5e21adca3bc6902f33e43e5cfd824f0e"></a><!-- doxytag: member="bm::set_block_bit_0runs" ref="5e21adca3bc6902f33e43e5cfd824f0e" args="" -->
3732
<div class="memitem">
3733
<div class="memproto">
3734
<table class="memname">
3736
<td class="memname">const unsigned char <a class="el" href="a00106.html#5e21adca3bc6902f33e43e5cfd824f0e">bm::set_block_bit_0runs</a> = 22 </td>
3740
<div class="memdoc">
3743
Bit block with encoded zero intervals.
3746
<p>Definition at line <a class="el" href="a00136.html#l00088">88</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3748
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l00477">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3752
<a class="anchor" name="d0e6607a9771fa49a658c3078208c2dc"></a><!-- doxytag: member="bm::set_block_bit_1bit" ref="d0e6607a9771fa49a658c3078208c2dc" args="" -->
3753
<div class="memitem">
3754
<div class="memproto">
3755
<table class="memname">
3757
<td class="memname">const unsigned char <a class="el" href="a00106.html#d0e6607a9771fa49a658c3078208c2dc">bm::set_block_bit_1bit</a> = 19 </td>
3761
<div class="memdoc">
3764
Bit block with 1 bit ON.
3767
<p>Definition at line <a class="el" href="a00136.html#l00085">85</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3769
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l00407">bm::serializer< BV >::encode_gap_block()</a>, <a class="el" href="a00136.html#l02626">bm::serial_stream_iterator< DEC >::get_arr_bit()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3773
<a class="anchor" name="0f2d3289a95dc3bd224a6a73c3d3afce"></a><!-- doxytag: member="bm::set_block_bit_interval" ref="0f2d3289a95dc3bd224a6a73c3d3afce" args="" -->
3774
<div class="memitem">
3775
<div class="memproto">
3776
<table class="memname">
3778
<td class="memname">const unsigned char <a class="el" href="a00106.html#0f2d3289a95dc3bd224a6a73c3d3afce">bm::set_block_bit_interval</a> = 17 </td>
3782
<div class="memdoc">
3788
<p>Definition at line <a class="el" href="a00136.html#l00083">83</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3790
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3794
<a class="anchor" name="a24e7c08930cf959d383c6b930fb0508"></a><!-- doxytag: member="bm::set_block_end" ref="a24e7c08930cf959d383c6b930fb0508" args="" -->
3795
<div class="memitem">
3796
<div class="memproto">
3797
<table class="memname">
3799
<td class="memname">const unsigned char <a class="el" href="a00106.html#a24e7c08930cf959d383c6b930fb0508">bm::set_block_end</a> = 0 </td>
3803
<div class="memdoc">
3806
End of serialization.
3809
<p>Definition at line <a class="el" href="a00136.html#l00066">66</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3811
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
3815
<a class="anchor" name="09b8c4b17b7d6f613c237c46d04a9cd6"></a><!-- doxytag: member="bm::set_block_gap" ref="09b8c4b17b7d6f613c237c46d04a9cd6" args="" -->
3816
<div class="memitem">
3817
<div class="memproto">
3818
<table class="memname">
3820
<td class="memname">const unsigned char <a class="el" href="a00106.html#09b8c4b17b7d6f613c237c46d04a9cd6">bm::set_block_gap</a> = 14 </td>
3824
<div class="memdoc">
3830
<p>Definition at line <a class="el" href="a00136.html#l00080">80</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3832
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00136.html#l00326">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3836
<a class="anchor" name="c47dea3917e15264ed3ba0cf4055adbe"></a><!-- doxytag: member="bm::set_block_gap_egamma" ref="c47dea3917e15264ed3ba0cf4055adbe" args="" -->
3837
<div class="memitem">
3838
<div class="memproto">
3839
<table class="memname">
3841
<td class="memname">const unsigned char <a class="el" href="a00106.html#c47dea3917e15264ed3ba0cf4055adbe">bm::set_block_gap_egamma</a> = 20 </td>
3845
<div class="memdoc">
3848
Gamma compressed GAP block.
3851
<p>Definition at line <a class="el" href="a00136.html#l00086">86</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3853
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00136.html#l00326">bm::serializer< BV >::gamma_gap_block()</a>, <a class="el" href="a00136.html#l02665">bm::serial_stream_iterator< DEC >::get_gap_block()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3857
<a class="anchor" name="77dc965397e31a1d39c3d8e628792779"></a><!-- doxytag: member="bm::set_block_gapbit" ref="77dc965397e31a1d39c3d8e628792779" args="" -->
3858
<div class="memitem">
3859
<div class="memproto">
3860
<table class="memname">
3862
<td class="memname">const unsigned char <a class="el" href="a00106.html#77dc965397e31a1d39c3d8e628792779">bm::set_block_gapbit</a> = 15 </td>
3866
<div class="memdoc">
3869
GAP compressed bitblock.
3872
<p>Definition at line <a class="el" href="a00136.html#l00081">81</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3874
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l01103">bm::deserializer< BV, DEC >::deserialize_gap()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, and <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>.</p>
3878
<a class="anchor" name="201fb8b1f81b7487f1c1c129fc3d6557"></a><!-- doxytag: member="bm::set_block_mask" ref="201fb8b1f81b7487f1c1c129fc3d6557" args="" -->
3879
<div class="memitem">
3880
<div class="memproto">
3881
<table class="memname">
3883
<td class="memname">const unsigned <a class="el" href="a00106.html#201fb8b1f81b7487f1c1c129fc3d6557">bm::set_block_mask</a> = 0xFFFFu </td>
3887
<div class="memdoc">
3891
<p>Definition at line <a class="el" href="a00132.html#l00055">55</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3893
<p>Referenced by <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01677">bm::bvector< Alloc, MS >::count_range()</a>, <a class="el" href="a00128.html#l01795">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
3897
<a class="anchor" name="3428cf384446982017ba9ee68152d238"></a><!-- doxytag: member="bm::set_block_plain_cnt" ref="3428cf384446982017ba9ee68152d238" args="" -->
3898
<div class="memitem">
3899
<div class="memproto">
3900
<table class="memname">
3902
<td class="memname">const unsigned <a class="el" href="a00106.html#3428cf384446982017ba9ee68152d238">bm::set_block_plain_cnt</a> = sizeof(<a class="el" href="a00106.html#17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a>) * 8u </td>
3906
<div class="memdoc">
3910
<p>Definition at line <a class="el" href="a00132.html#l00059">59</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3914
<a class="anchor" name="35780565f6d8f2831ebff8877d3ba662"></a><!-- doxytag: member="bm::set_block_plain_size" ref="35780565f6d8f2831ebff8877d3ba662" args="" -->
3915
<div class="memitem">
3916
<div class="memproto">
3917
<table class="memname">
3919
<td class="memname">const unsigned <a class="el" href="a00106.html#35780565f6d8f2831ebff8877d3ba662">bm::set_block_plain_size</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">set_block_size</a> / 32u </td>
3923
<div class="memdoc">
3927
<p>Definition at line <a class="el" href="a00132.html#l00058">58</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3931
<a class="anchor" name="fe4b1011b09271c5f3882b926e250d39"></a><!-- doxytag: member="bm::set_block_sgapbit" ref="fe4b1011b09271c5f3882b926e250d39" args="" -->
3932
<div class="memitem">
3933
<div class="memproto">
3934
<table class="memname">
3936
<td class="memname">const unsigned char <a class="el" href="a00106.html#fe4b1011b09271c5f3882b926e250d39">bm::set_block_sgapbit</a> = 12 </td>
3940
<div class="memdoc">
3943
SGAP compressed bitblock.
3946
<p>Definition at line <a class="el" href="a00136.html#l00078">78</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3950
<a class="anchor" name="b3a8d57c0b898c3c5a23cd27a8f856ad"></a><!-- doxytag: member="bm::set_block_sgapgap" ref="b3a8d57c0b898c3c5a23cd27a8f856ad" args="" -->
3951
<div class="memitem">
3952
<div class="memproto">
3953
<table class="memname">
3955
<td class="memname">const unsigned char <a class="el" href="a00106.html#b3a8d57c0b898c3c5a23cd27a8f856ad">bm::set_block_sgapgap</a> = 13 </td>
3959
<div class="memdoc">
3962
SGAP compressed GAP block.
3965
<p>Definition at line <a class="el" href="a00136.html#l00079">79</a> of file <a class="el" href="a00136.html">bmserial.h</a>.</p>
3969
<a class="anchor" name="d8723fbeea6290d3daa8917ea7ce9bb2"></a><!-- doxytag: member="bm::set_block_shift" ref="d8723fbeea6290d3daa8917ea7ce9bb2" args="" -->
3970
<div class="memitem">
3971
<div class="memproto">
3972
<table class="memname">
3974
<td class="memname">const unsigned <a class="el" href="a00106.html#d8723fbeea6290d3daa8917ea7ce9bb2">bm::set_block_shift</a> = 16u </td>
3978
<div class="memdoc">
3982
<p>Definition at line <a class="el" href="a00132.html#l00054">54</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
3984
<p>Referenced by <a class="el" href="a00130.html#l01073">block_range_scan()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01677">bm::bvector< Alloc, MS >::count_range()</a>, and <a class="el" href="a00128.html#l01795">bm::bvector< Alloc, MS >::get_bit()</a>.</p>
3988
<a class="anchor" name="91319dbc0d0e1bf3a3efc4d92bac7972"></a><!-- doxytag: member="bm::set_block_size" ref="91319dbc0d0e1bf3a3efc4d92bac7972" args="" -->
3989
<div class="memitem">
3990
<div class="memproto">
3991
<table class="memname">
3993
<td class="memname">const unsigned <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> = 2048u </td>
3997
<div class="memdoc">
4001
<p>Definition at line <a class="el" href="a00132.html#l00053">53</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4003
<p>Referenced by <a class="el" href="a00134.html#l00064">bm::bv_statistics::add_bit_block()</a>, <a class="el" href="a00131.html#l00170">bm::mem_alloc< BA, PA >::alloc_bit_block()</a>, <a class="el" href="a00134.html#l03098">bit_block_and()</a>, <a class="el" href="a00134.html#l03078">bit_block_copy()</a>, <a class="el" href="a00134.html#l03652">bit_block_or()</a>, <a class="el" href="a00134.html#l01909">bit_block_set()</a>, <a class="el" href="a00134.html#l03748">bit_block_sub()</a>, <a class="el" href="a00134.html#l03844">bit_block_xor()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00134.html#l03690">bit_operation_or()</a>, <a class="el" href="a00130.html#l00342">combine_any_operation_with_block()</a>, <a class="el" href="a00130.html#l00114">combine_count_operation_with_block()</a>, <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00136.html#l00477">bm::serializer< BV >::encode_bit_interval()</a>, <a class="el" href="a00130.html#l01429">export_array()</a>, <a class="el" href="a00131.html#l00177">bm::mem_alloc< BA, PA >::free_bit_block()</a>, <a class="el" href="a00136.html#l01953">bm::serial_stream_iterator< DEC >::get_bit_block_AND()</a>, <a class="el" href="a00136.html#l01810">bm::serial_stream_iterator< DEC >::get_bit_block_ASSIGN()</a>, <a class="el" href="a00136.html#l02139">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT()</a>, <a class="el" href="a00136.html#l02196">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_A()</a>, <a class="el" href="a00136.html#l02259">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_AND()</a>, <a class="el" href="a00136.html#l02318">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_OR()</a>, <a class="el" href="a00136.html#l02474">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_AB()</a>, <a class="el" href="a00136.html#l02553">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_SUB_BA()</a>, <a class="el" href="a00136.html#l02396">bm::serial_stream_iterator< DEC >::get_bit_block_COUNT_XOR()</a>, <a class="el" href="a00136.html#l01891">bm::serial_stream_iterator< DEC >::get_bit_block_OR()</a>, <a class="el" href="a00136.html#l02080">bm::serial_stream_iterator< DEC >::get_bit_block_SUB()</a>, <a class="el" href="a00136.html#l02020">bm::serial_stream_iterator< DEC >::get_bit_block_XOR()</a>, <a class="el" href="a00128.html#l00487">bm::bvector< Alloc, MS >::enumerator::go_up()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
4007
<a class="anchor" name="7049fd70220fc3a3072e9f82abf4ad66"></a><!-- doxytag: member="bm::set_block_size_op" ref="7049fd70220fc3a3072e9f82abf4ad66" args="" -->
4008
<div class="memitem">
4009
<div class="memproto">
4010
<table class="memname">
4012
<td class="memname">const unsigned <a class="el" href="a00106.html#7049fd70220fc3a3072e9f82abf4ad66">bm::set_block_size_op</a> = <a class="el" href="a00106.html#91319dbc0d0e1bf3a3efc4d92bac7972">bm::set_block_size</a> / 2 </td>
4016
<div class="memdoc">
4020
<p>Definition at line <a class="el" href="a00132.html#l00096">96</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4022
<p>Referenced by <a class="el" href="a00128.html#l01908">bm::bvector< Alloc, MS >::compare()</a>.</p>
4026
<a class="anchor" name="505011007f54598794e0b9477c0b0b11"></a><!-- doxytag: member="bm::set_total_blocks" ref="505011007f54598794e0b9477c0b0b11" args="" -->
4027
<div class="memitem">
4028
<div class="memproto">
4029
<table class="memname">
4031
<td class="memname">const unsigned <a class="el" href="a00106.html#505011007f54598794e0b9477c0b0b11">bm::set_total_blocks</a> = (<a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a> * <a class="el" href="a00106.html#40ad34d6c46a2fb20ba2baa7f95d80b4">bm::set_array_size</a>) </td>
4035
<div class="memdoc">
4039
<p>Definition at line <a class="el" href="a00132.html#l00084">84</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4041
<p>Referenced by <a class="el" href="a00136.html#l01351">bm::deserializer< BV, DEC >::deserialize()</a>, <a class="el" href="a00130.html#l01429">export_array()</a>, <a class="el" href="a00136.html#l01682">bm::serial_stream_iterator< DEC >::next()</a>, and <a class="el" href="a00136.html#l00529">bm::serializer< BV >::serialize()</a>.</p>
4045
<a class="anchor" name="ddbf345be3733d5e4575d71733ed1da8"></a><!-- doxytag: member="bm::set_word_mask" ref="ddbf345be3733d5e4575d71733ed1da8" args="" -->
4046
<div class="memitem">
4047
<div class="memproto">
4048
<table class="memname">
4050
<td class="memname">const unsigned <a class="el" href="a00106.html#ddbf345be3733d5e4575d71733ed1da8">bm::set_word_mask</a> = 0x1Fu </td>
4054
<div class="memdoc">
4058
<p>Definition at line <a class="el" href="a00132.html#l00064">64</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4060
<p>Referenced by <a class="el" href="a00134.html#l02760">bit_block_any_range()</a>, <a class="el" href="a00134.html#l02691">bit_block_calc_count_range()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01795">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00141.html#l00238">bm::bvmini< N >::set()</a>, <a class="el" href="a00141.html#l00102">bm::miniset< A, N >::set()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00141.html#l00233">bm::bvmini< N >::test()</a>, <a class="el" href="a00141.html#l00091">bm::miniset< A, N >::test()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
4064
<a class="anchor" name="83d76bccf6fe3770f32d5ba11d2a37ad"></a><!-- doxytag: member="bm::set_word_shift" ref="83d76bccf6fe3770f32d5ba11d2a37ad" args="" -->
4065
<div class="memitem">
4066
<div class="memproto">
4067
<table class="memname">
4069
<td class="memname">const unsigned <a class="el" href="a00106.html#83d76bccf6fe3770f32d5ba11d2a37ad">bm::set_word_shift</a> = 5u </td>
4073
<div class="memdoc">
4077
<p>Definition at line <a class="el" href="a00132.html#l00063">63</a> of file <a class="el" href="a00132.html">bmconst.h</a>.</p>
4079
<p>Referenced by <a class="el" href="a00134.html#l02760">bit_block_any_range()</a>, <a class="el" href="a00134.html#l02691">bit_block_calc_count_range()</a>, <a class="el" href="a00134.html#l04054">bit_find_in_block()</a>, <a class="el" href="a00130.html#l01103">combine_or()</a>, <a class="el" href="a00130.html#l01266">combine_sub()</a>, <a class="el" href="a00130.html#l01182">combine_xor()</a>, <a class="el" href="a00128.html#l01795">bm::bvector< Alloc, MS >::get_bit()</a>, <a class="el" href="a00134.html#l01269">or_bit_block()</a>, <a class="el" href="a00141.html#l00238">bm::bvmini< N >::set()</a>, <a class="el" href="a00141.html#l00102">bm::miniset< A, N >::set()</a>, <a class="el" href="a00134.html#l01239">set_bit()</a>, <a class="el" href="a00134.html#l01331">sub_bit_block()</a>, <a class="el" href="a00141.html#l00233">bm::bvmini< N >::test()</a>, <a class="el" href="a00141.html#l00091">bm::miniset< A, N >::test()</a>, <a class="el" href="a00134.html#l01252">test_bit()</a>, and <a class="el" href="a00134.html#l01393">xor_bit_block()</a>.</p>
4084
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:17:19 2009 for BitMagic by
43
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">dbg_block_allocator</a></td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">dbg_ptr_allocator</a></td></tr>
46
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
47
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00073.html">bm::mem_alloc</a><br class="typebreak"/>
48
< <a class="el" href="a00050.html">dbg_block_allocator</a>, <br class="typebreak"/>
49
<a class="el" href="a00051.html">dbg_ptr_allocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aa932e8e72ba07938f1a001b6cfcb614e">dbg_alloc</a></td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00043.html">bm::bvector</a>< <a class="el" href="a00073.html">dbg_alloc</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ac07bb102df543a0c581493c5f35b2129">bvect</a></td></tr>
51
<tr><td colspan="2"><h2>Functions</h2></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
54
<hr/><h2>Typedef Documentation</h2>
55
<a class="anchor" id="ac07bb102df543a0c581493c5f35b2129"></a><!-- doxytag: member="sample6.cpp::bvect" ref="ac07bb102df543a0c581493c5f35b2129" args="" -->
57
<div class="memproto">
58
<table class="memname">
60
<td class="memname">typedef <a class="el" href="a00043.html">bm::bvector</a><<a class="el" href="a00073.html">dbg_alloc</a>> <a class="el" href="a00043.html">bvect</a></td>
65
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00007.html#a8">sample7.cpp</a>.</dd>
67
<p>Definition at line <a class="el" href="a00106_source.html#l00115">115</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
71
<a class="anchor" id="aa932e8e72ba07938f1a001b6cfcb614e"></a><!-- doxytag: member="sample6.cpp::dbg_alloc" ref="aa932e8e72ba07938f1a001b6cfcb614e" args="" -->
73
<div class="memproto">
74
<table class="memname">
76
<td class="memname">typedef <a class="el" href="a00073.html">bm::mem_alloc</a><<a class="el" href="a00050.html">dbg_block_allocator</a>, <a class="el" href="a00051.html">dbg_ptr_allocator</a>> <a class="el" href="a00073.html">dbg_alloc</a></td>
82
<p>Definition at line <a class="el" href="a00106_source.html#l00113">113</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
86
<hr/><h2>Function Documentation</h2>
87
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a><!-- doxytag: member="sample6.cpp::main" ref="a840291bc02cba5474a4cb46a9b9566fe" args="(void)" -->
89
<div class="memproto">
90
<table class="memname">
92
<td class="memname">int main </td>
94
<td class="paramtype">void </td>
95
<td class="paramname"></td>
96
<td> ) </td>
103
<p>Definition at line <a class="el" href="a00106_source.html#l00119">119</a> of file <a class="el" href="a00106_source.html">sample6.cpp</a>.</p>
105
<p>References <a class="el" href="a00106_source.html#l00102">dbg_ptr_allocator::balance()</a>, <a class="el" href="a00106_source.html#l00068">dbg_block_allocator::balance()</a>, <a class="el" href="a00106_source.html#l00080">dbg_ptr_allocator::na_</a>, and <a class="el" href="a00106_source.html#l00047">dbg_block_allocator::na_</a>.</p>
110
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:37 2009 for BitMagic by
4085
111
<a href="http://www.doxygen.org/index.html">
4086
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
112
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>